第一门编程语言选什么好?

作者 谢恩铭。转载请注明出处。
原文:http://www.jianshu.com/p/c2b85495cea6

内容简介


  1. 前言
  2. 建议
  3. 入门推荐
  4. 分析
  5. 总结

1. 前言


现在 IT 行业越来越火爆,许多朋友都愿意入门「挨踢」,噢,不,当程序员。

那么问题来了,对刚接触这个领域的新人来说,选什么语言作为第一门语言呢?这是很关键的问题,因为这很可能决定了这位新人是「从入门到继续」还是「从入门到放弃」。

2. 建议


我推荐:或者从 C 语言入门,或者从 Python 入门。当然,也不排除从 Java 入门。

这里又得分情况来说:

  1. 如果你只是想用编程来完成一些简单的任务,目标不是深入技术,那么选 Python。有很多好处,入门快,成就感来得快,高效好用。

  2. 如果你要深入编程,想成为技术专家,那么选 C 语言。

  3. 如果你还不清楚自己的未来发展方向,那请先弄清自己想要做什么再来学编程。如果实在是前路迷茫,懵懂未知,那么从 C 语言入门。因为你把 C 语言学了,你会发现 Python 入门太简单了;反之不然。

3. 入门推荐


  • 如果你选 Python 作为第一门编程语言,请看我的 最近迫切应学的编程语言 这篇文章,说的就是 Python 的好处和入门建议。

  • 如果你选 C 语言作为第一门入门语言,虽然开始会有些「疼痛」,但是至久必成为你的帮助。请看我的 《C语言探索之旅》 系列教程来入门。也可以看《C Primer Plus》这本书来入门。

4. 分析


总结一下 C 语言作为第一门编程语言的好处:

1. 基础深厚

现在你看到的大部分编程语言都是借鉴了 C 语言或者用 C 语言写成的,比如 Java,C++,C#,Python,Go,JavaScript,Objective-C,Swift,PHP,Perl,等等。

几乎所有的操作系统都用到了 C 语言,比如 Windows,Unix,Linux,macOS,iOS,Android,等等。

可以说,C 语言影响了全球的计算机系统和网络。改编《指环王》的经典台词就是「One language to rule them all」(意思是“一门语言统领其他语言”)(《指环王》原来的诗是「One ring to rule them all」(意思是“一枚戒指统领其他戒指”))。

当然了,C 语言最初是用 B 语言写的,但今天却几乎没有人在用 B 语言了。可见 C 语言的飞跃,其源码设计之精良。

当时的程序员(如 C 语言之父 Dennis Ritchie 丹尼斯.里奇)真的是超级厉害,我这种程度实在连远眺都看不到他们的项背啊。

2. 难度适中


C 语言比 Python,Java 之类难入门,但是比 C++ 简单很多。

我觉得 C++ 不适合作第一门编程语言,太复杂,东西太多,基本就是「从入门到放弃」。要学 C++ 最好等入门编程之后。当然,如果你一定要用 C++ 作为第一门编程语言,我也没资格反对。

相比之下,C 语言的难度适中,也没有那么可怕。最让人害怕的指针、位运算(嵌入式里面比较多左移右移,需要数学功底还可以,不然那些十六进制,二进制会让人头晕的)、自定义数据结构、内存分配什么的,其实也还好,熟能生巧。

3. 嵌入式的主要语言


C 语言在嵌入式领域算是举足轻重了,特别是涉及到比较底层的嵌入式,当然你说 Python 也可以用于树莓派这样的开发板,但是你不会 C 语言的话,一般去应聘嵌入式的工作还是比较困难的。

现在这个时代,随着可穿戴设备和其他设备日益普及,嵌入式的前景肯定不错。

我个人认为:人工智能和嵌入式(物联网)是之后比较火热的领域。

要入门和提高嵌入式,可以参看我的这篇文章:什么是嵌入式编程?如何入门和提高?

4. 理解计算机


作为程序员,如果你想要进阶为高级甚至伟大乃至史诗级别的程序员,一定得对计算机原理,编译原理等等有所了解。

C 语言虽然也算是高层语言,但相对于 Python,Java 等,C 语言更接近底层。

入门了 C 语言,你会对计算机的内存、寄存器等原理有一定了解(推荐之后阅读 《深入理解计算机系统》 这本书,里面的示例代码是用 C 语言写的)。

如果有时间,最好也入门一下汇编语言,可以参看我写的文章:学习汇编对编程有什么帮助?如何学习

我学生时代就是先学了 C 语言,然后跟着清华大学王爽老师的《汇编语言》(那时是第二册,现在已经是第三册了吧)学了汇编,特别浅显易懂,写得很棒。学完之后,发现对内存,位移,寄存器等等操作都有了拨云见雾的认识,会感觉自己慢慢地领悟了编程。

5. 学完 C 语言后学其他语言会很快


这点我深有体会,我自从借 C 语言入门了编程之后,后面再学习 Java,PHP,C++(还是有点疼痛的,谁让 C++ 这么庞杂...),Python,Kotlin,等等就很容易了。

因为经过 C 语言的磨砺,你的编程思维能力已经比较不错,关于数据结构和算法等可以通过做练习和个人项目来进行。

当年我一开始接触 C 语言,感到比较难,就退避了,改去学 Java,结果也不得要领。直到我后来转而去用 C 语言入门编程,学会了 C 语言之后,学 Java 变得顺风顺水。

之后你如果要进阶 C 语言,推荐看看《C专家编程》,C 语言之父写的《C程序设计语言》(不是谭浩强那本《C语言程序设计》,那本不推荐看),《C陷阱和缺陷》,中国人写的《C语言深度解剖》。读完这些,做完里面的练习,你的 C 语言的水平就已经很不错了。

当然了,如果你不是做嵌入式等对 C 语言水平要求比较高的领域,那没必要把 C 语言学那么深。

借助 C 语言入门编程之后可以学学 Java,Python,Kotlin,Go 语言(Go 语言被称为 21 世纪的 C 语言)等比较被看好的语言。

当然,PHP 这样「世界上最好的语言」也是比较简单的。PHP 的语法和 C 语言比较类似,毕竟 PHP 的解释器是用 C 来写的嘛。

5. 总结


有一点需要注意,就是学习编程语言,千万不要贪多而不精。应该先学精一门语言,之后再去涉猎其他的。

毕竟编程语言之间,基本的逻辑,条件语句,循环语句,类或结构体,都是互通的。一般来说,一通则百通。

有些朋友可能一门编程语言还没入门或精通呢,就想要蜻蜓点水般去学新的语言,这样最后什么也不能精通。

祝大家还没入门编程的可以早日入门,已经入门的技术日益精进(需要学学面向对象思维,架构,设计模式,数据结构和算法,等)。

要知道现在 IT 行业可是薪资很不错的,而且未来前景绝对不堪忧,毕竟人工智能还要我们来编写和操控。

好了,我去继续学习了,下次见~

才疏学浅,文章中若有错缪或漏说的,欢迎留言指正补充。我也会更新文章。谢谢!


我是 谢恩铭,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」

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

推荐阅读更多精彩内容

  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,292评论 2 35
  • 一方筮白阅读 164评论 0 1
  • 困难时暂时的,阳光总在风雨后。 感赏老公今天又加入了我晚上的健走锻炼,虽然他只走了3公里但我还是感赏他,总比在沙发...
    灿烂阳光1阅读 188评论 0 1
  • 卓卓自一岁开口说话,一直算是同龄人中的口齿伶俐咖。周末绘画课上的作品分享自是不在话下。然而,最近卓卓的作品分享的故...
    哈木奇阅读 874评论 0 0