一天入门编程语言的套路

这次我真的不是标题党

很多年前当我还在学校的时候,就有人和我说那些编程高手能非常快得学习新的编程语言。当时的感觉是哇,好牛逼。要是哪天我也能做到这样就好了。但是自己工作了七八年后,基本上还是在使用当年学习的c语言。除了平时用不到,自己懒之外,还有一个不太好意思说的原因--自己心里也没底。人可能就是这样的,对自己没有做过的事情,心中不免有点抵触甚至是惧怕。所以我一直没有尝试去扩展更多的编程语言的学习。

不过这件事情最近有了点变化。因为最近我一直在思考怎么样算入门编程,怎么样快速掌握一门编程语言的基础,究竟有哪些点是切换到新的编程语言时需要的最少必要知识。

所以最近我在公众号中连续发布了几篇和“套路”相关的文章。

从最初形而上的:你与高手间差了点“套路”
到有点接地气的:编程的世界充满套路

接着连续发了三篇让大家估计有点摸不着头脑的入门套路:

c语言入门套路
python入门套路
js入门套路

绕了这么一大圈,谜底将在今天揭晓。在重新学习了python, javascript之后,并运用套路的思维,我发现

在已有的编程概念基础上,使用如下的套路只要一天就可以入门一门新的编程语言

PS: 当然只是入门。如果你以为一天就能成为高手,抱歉我不知道,至少现在我还没有发掘出这个秘诀。

那究竟是怎么做呢?在继续往下面看之前,请问你有没有研究过我上面三篇文章总结的入门套路?有没有发现这些套路的规律?能不能猜测一下我今天要讲的套路?

再如果,你阅读过我的学编程,究竟学的是什么?,能不能想到今天套路背后蕴含的是哪个思想?

好了,不卖关子了,让我细细道来。

运行环境

这是我认为我的套路中最接地气,也是大部分小白以及初入门朋友迫切想要学习的内容。

计算机科学虽然可以复杂到能战胜柯洁,但是总体而言也算是一门实践学科。就好像我一直说的例子,最简单的一个程序只有这么几行代码。

hello world

作为一个成年人,虽然可以脑补出最后的运行结果。但是这种效果还是比不上让一个初学者亲自输入代码,编译,并执行后得到正确结果时对他大脑的刺激。 你可能不知道,哪怕是现在的我,当我编译运行后看到复杂代码执行的结果和我自己想象的结果一样时会还是很兴奋。一般此时我会脱口而出:“艹,牛逼!”。

根据我的经验,网络上多的是各种语言的语法描述,告诉你要怎么写,少的是真实的告诉你怎么把你写好的代码运行起来。通常我们可能会看到某些点滴的描述,作为有经验的人或许能够把他们拼凑起来,但是对于小白那简直就是灾难。天下代码一大抄,但是对于小白抄完了也不知道怎么跑。

我不知道有多少人会因为没有办法执行自己的代码而放弃学习编程。

不仅是小白,哪怕对我这种老司机也会遇到这样的困难。在刚开始接触js的时候连简单的console.log()也不清楚在哪里观察结果。因为js通常使用在网页前端的交互,但是在页面上我怎么观察输出?怎么调取某些函数?怎么观察变量的改变?这种感觉就像是你明明知道某个东西放在哪了,但是却怎么也找不到。

之所以这部分的资料很少,我认为有两个原因:

  • 对知道的人来讲,这不是秘密
  • 太过细碎,没有人乐意去总结

从这个层面看,编程也是一门手艺活。

所以最好的方法是跟着前人把这些步骤走一遍。找个这方面的老手,也还不一定是要高手,让他带着你走,你模仿一遍就自然知道了。

语言语法

很多学习语言的朋友都讨厌学习语言语法,当然了其实我以前也讨厌的。觉得这种东西枯燥乏味,而且翻来翻去也没什么花样。但是我现在对此有了改变,因为我们越是躲避的东西,到时候越是会拖住我们。

好消息是:

高级语言的语法基本大同小异

我基本列举一些众多高级语言通用的语法:

  • 循环语句
  • 判断语句
  • 类的继承
  • 函数定义
  • 构造函数
  • 析构函数

所以当我们掌握了一门编程语言之后,想要入门新语言的语法,重点就是把这门新语言的语法特殊点记录下来。这么看来,对语法的学习其实花不了多少时间。

当然,这里我要补充一下对一些语言中神奇语法的学习。

比如说python中的lambda,ruby自动扩充函数名,js的语法糖,这些神奇的语法怎么办?(听不懂?没事儿,听不懂就跳到下面一节吧~)

先不学,用到的时候再去突破

首先不用这些神奇的语法一样能够实现基本的功能。这些神奇的语法出现更多的是为了锦上添花,让程序代码更少,书写更符合人类的习惯,或者是实现一些原本不容易实现的功能。

不过我们要注意的是,在入门阶段我们的目标是“入门”,而不是玩出高级花样。这些特殊的语法确实在实践中有它的优点和好玩的地方,然而不懂这些高级语法并不影响入门。如果我们一味钻研这些语法,而且自己没有一定计算机基础,又没有比较资深的人士讲解,往往会使我们陷入这些精妙语法的细节,而忽略了最基本的执行原理。

尤其对于初学者来说,可以去领略一下这些语法的优美之处,但是重点还是要放在基本概念之上。

数据类型

这部分的内容我如何强调都不为过,用一句洋气的英文:

Last but not least

甚至我最近领悟到了一个道理

数据是编程活动的核心

数据的理解讲贯穿于一个软件工程师生命的各个环节,哪怕他已经是一个经验丰富的高级工程师,他的关键工作依然是对数据的空间维度和时间维度进行处理。对于这个道理,我想我会用另一篇文章进行阐述。

本文继续回到入门的环节,所以这里只涉及语言自带的数据类型,不包含各种库衍生的数据类型,更不包含应对复杂现实世界而创造的数据类型。因为不论是多么复杂的数据类型,都是在其基本数据类型上变化而来。

对基本数据类型的理解,是入门的标志,也是深入的基础

有的语言的基本数据类型非常简单,而有的则稍微复杂一些。其中最为常见的类型有

  • 整数型
  • 字符型
  • 列表
  • 元组
  • 字典

所以当你能总结出这几个类型的使用方式,也就基本入门了这个语言数据类型了。在这个基础上,就可以编写简单的程序了。

这一切的基础

一天入门编程语言的套路已经讲完了,但是真的做到这一切都需要一个前提

懂得计算机运行原理

其实这一切都归结到两个计算机领域的经典概念,那就是:

  • 图灵机
  • 冯诺依曼架构

在学校的时候一直听说这两个概念,但是从来都没有觉得这两个经典概念有多少重要,总是觉得不就是这样么?还要说么?

但是当自己开始认真思考入门编程的教学,思考究竟什么是编程学习的核心,什么样的概念是计算机领域的元知识,学习完了之后大家能够获得自我成长的造血功能,而不是每次都需要从头学起,那么计算机的运行原理则是编程入门学习中最重要的元知识了。

前方是广告
前方是广告
前方是广告

基于这样的思考,我将推出了“通过c理解编程原理”的课程,目标就是希望帮助大家建立编程领域最核心的元知识。

敬请期待

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容