最近迫切应学的编程语言

作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:http://www.jianshu.com/p/08ca8573e681


编程语言之争从来不曾停止,这篇文章绝对不会去讨论哪个语言是最好的(当然了,除了“PHP 是世界上最好的语言”这句“真理”之外)。

插句题外话,不要听一些人说:“编程语言没有好差之分,只有用起来顺不顺手”。这话其实不正确,编程语言就是有好差之分。有些编程语言就是设计得不好,就是不适合一般的应用,就是无人问津。

我想谈谈最近几年我的感受:

我深刻地认识到 Python 是当下迫切应该学习的编程语言。

为什么这么说呢?且听我慢慢“因式分解”:

  1. Python 很火,非常火。这和人工智能(AI :Artificial Intelligence)有关。Python 有很多优秀的库,特别适合数学运算和科学计算,而人工智能就需要很多计算和一些算法,因此 Python 的很多库比如 Numpy,Pandas,SciPy,等就有用武之地了。而且很多大公司启动了适合人工智能的库或项目,比如 Google 公司发布的开源机器学习库 TensorFlow,Tesla(特斯拉)的 OpenAI,FaceBook 开源的 PyTorch,等等。这些库上层都可以很方便地用 Python 来操作。Google 的 AlphaGo 击败了人类最强围棋(Go)玩家李世石,而 AlphaGo 是基于 Google 的 DeepMind,DeepMind 前不久宣布底层基于 TensorFlow 了。特斯拉的 OpenAI 在单人对抗中击败了人类最强的 Dota 2 影魔选手之一的 Dendi,完整对战视频。当然了,现在 AI 已经可以在星际争霸 2 中战胜人类选手了。​
OpenAI 和人类选手 Dendi 的 Dota 2 单人对决
  1. Python 非常容易入门。Python 号称「Battery included」。我们知道 battery 是「电池」的意思,included 是「包含」的意思,因此就是说 Python 简单到「已经包含了电池了」,功能都已经包含在语言里了,直接拿来用即可。其语法实在很简单,基本没有编程经验的孩子几天也可以学会。现在 Python 更是已经被加入幼儿园、中小学的教材中了。

  2. Python 几乎可以被应用在任何领域。人工智能、科学计算领域自然不用说,各种成熟的库调用起来极为方便;大数据领域也是 Python 大展拳脚之处;云计算领域 Python 可以发挥实力,比如著名的 Dropbox 就是 Python 写的;用 PyGame 可以进行快速游戏开发;GUI 图形界面编程也不在话下,Matplotlib 这个绘图库可以满足你;嵌入式领域,著名的树莓派(Raspberry Pi)开发板的主要开发语言是 Python;Web 应用有 Django、Flask 等 Web 应用框架,可以很快速地开发出绚丽无比的网站;Web 后端 Python 也不甘寂寞,知乎和豆瓣的后台就是 Python 写的;近几年新兴的职业 DevOps (development 和 operations 的组合)一般也用 Python 来写脚本;一些大型项目的构建以及一些小任务的处理,Python 的脚本也能助你快速开发;用 Python 做爬虫程序,可以轻松爬取网络上你想要的内容(当然,请不要干坏事),Python 有很多不错的爬虫库,例如 Scrapy。

  3. 优越的跨平台性能,几乎所有的操作系统(Windows、Linux、macOS、Unix,等等)都可以运行 Python。

  4. Python 既支持面向过程函数式编程也支持面向对象的抽象编程。

  5. 用 Python 语言编写程序让人很愉快,反正我感觉写 Python 的程序有一种快感。

  6. Python 非常精简。本身的 API 封装得挺好,因此很多功能不需要我们重新造轮子,直接调用即可。再加上那么多成熟的库,用起来不要太开心。同样实现一个功能,用 C 语言,Java 或 C++ 往往要写很多行代码,Python 只需一行或者几行代码帮你搞定。

  7. Python 在 Tiobe 编程语言排行榜的最新一期榜单(2020 年 6 月)中已经位列第 3,仅次于 Java,C语言。虽说这个榜单不能涵盖全部,但也是编程界比较权威的榜单了。可以看出 Python 势头强劲。

  8. Python 是解释型语言,因此假如你要做些小测试,或者学习这门语言,将会非常省时间,因为不需要编译,直接解释就可以执行。比如我很喜欢的 Python 的 IDE(集成开发环境),由大名鼎鼎的 Jetbrains 出品的 PyCharm,就让写 Python 程序成了一种享受。

  9. Python 的可扩展性很好,开发者可以用 C 语言或者 C++ 编写 Python 的扩展模块,还能将 Python 嵌入到 C/C++ 程序中。著名的 Numpy 就是用 C语言写的。

  10. Python 的源代码写得不错。其源代码一开始是用 C 语言写的,Python 的作者使用中立的面向过程的 C 语言,实现了动态面向对象,使得 Python 具备灵活和优雅的特性。Python 的源代码也是值得学习的。推荐一本书,是中国人写的,叫《Python 源码剖析》,作者 陈儒,豆瓣评分 8.7。

  11. 规范的代码。Python 使用强制缩进来保证代码规范性,几乎不需要代码审查。

以前学习 C++ 的时候,感觉真是挺难的,主要是 C++ 比较庞杂,东西太多,概念都能把你绕晕了,而且还要考虑指针和内存等等。很多写 C++ 的人其实并没有很好地掌握其精髓,写出来的程序往往非常丑陋,难以扩展和维护。

但 Python 就很简单,终于可以用节省下来的时间去看看诗和远方了。当然了,要写出优秀的 Python 代码也没有那么容易。

Python的优点也不只我所列的这些。

当然,Python 也不是没有缺点。比如动态解释型语言速度相对编译型慢一些(但其实 Python 现在速度已经挺快了)。操作系统的编写目前还是以汇编语言,C 语言和 C++ 为主。

Python 还有一个最大的缺点,就是「优点实在太多了」。

所以,省下几局打王者荣耀的时间,来学学 Python 吧,一定大有裨益。

至于学习 Python 的教材,可以看看《Head first Python》这本书,很浅显易懂。慕课网的各种 Python 视频也是入门和提高的好资源。

如果你英语好的话就直接看 Python 官网的 Tutorial(教程)吧:

https://docs.python.org/3/tutorial/index.html

没有比这更权威和保持更新的了。

当然了,到时候你深陷 Python 的「情网」,无法自拔时,请不要来找我「算账」,这锅我可不背。

当然了,这篇文章只介绍了 Python。其实 Google 开源的 Go 语言和 Kotlin 语言也都不错,但比起 Python 势头还是差了点。
我之前也写过一篇关于 Kotlin 的文章:Kotlin探索之旅 | 第一部分第一课:Kotlin若只如初见


我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,050评论 25 707
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,054评论 6 244
  • 早年,特别喜欢一句话:“凡事太尽,缘分势必早尽”,觉得这句大白话道明了人生哲理。 饮食中你喜欢吃什么就拼命吃,结果...
    流年飞萤阅读 215评论 0 3