有个知乎小伙伴私信问我:“二哥,我准大一,打算自学编程,我想学 Java,但好似我身边的大都数人都学的 C 语言,网上非常多人又举荐 Python,我到底该怎么选啊?救救孩儿吧!”
于是我费了九牛二虎之力把 8 大编程语言拉倒了一个群里,给她们了一个勇于表达自己的机会,谁能赢得这位小伙伴的芳心,全凭本事。
C语言
大众好,我是 C语言。
做为开场演员,我必须大众更加多的掌声,快。
我是由于贝尔实验室的 Dennis Ritchie 在 1969 年~ 1973 年间发明创造的,瞧,就他——你们眼中的 C语言之父。
父亲是这般评估我的:“古怪的、有缺陷的,但同期亦是一个巨大的成功。”
的确,我的指针不晓得劝退了多少初学者,但倘若有幸迈过去这一关,能够说潜能没限。
那为何我还能得到如此大的成功呢?
第1,我和 Unix 操作系统关系密切。
大部分 Unix 内核,以及所有支撑工具和函数库都是用我来编写的。20 世纪 70 年代至 80 年代,Unix 风靡于各大高校,许多人起始接触到我,并且深深地爱上了我。
以至于后来几乎所有的操作系统都用到了我,例如说 Windows、Linux、macOS 等等。
第二,小而美是我的优点。
我非常的简洁,几乎无任何冗余。以至于我的库函数,嗯,都少得可怜。
这有利有坏处,有利的是,上手难度几乎为 0,除了指针难以被新手掌控意外,其他的基本语法都很容易上手。
与此同期,因为库函数的缺失,引起新手在研发任何一起小程序的时候都必要得亲力亲为。
非常多编程语言都受到了我的影响,例如说 Java、C++、C#、Python、Go 等等。
《指环王》里有这般一句话:“one ring to them all”,能够把 ring 换成 language,这个 language 便是我,恐怕无人会区别意。
但我亦必要得承认,倘若大学只学我这一门编程语言,毕业后的就业形势确实不容阳光,由于你们其中的大都数人,都不会从事嵌入式研发和硬件驱动研发。
当然了,以后嵌入式会不会亦火起来,亦不必定,例如说,在眼镜里移植一个芯片,让镜片变得更轻更薄更智能,就只能用我来搞定了。总不可再装个 JDK 吧,哈哈哈。
最后我想说的是,倘若你想作为尤其牛逼的程序员,必定要对计算机原理、编译原理有所认识,那样我更接近底层,显然是绕不开的。
像 CSAPP 这本经典书,例子便是用我编写的。
大众懂我了吗?
C++
大众好,我是 C++,对,比 C 多了两个+号,寓意着我便是 C语言的加强版本。
20 世纪 80 年代,比雅尼·斯特劳斯特鲁普博士在贝尔实验室工作时期发明并创造了我。瞧,就他——你们眼中的 C++之父。
|