最近迫切应学的编程语言

最近迫切应学的编程语言

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


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

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

我想谈谈最近几年个人感觉:算法

我深入地认识到 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. 优越的跨平台性能,几乎全部的操做系统均可以跑起来 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 老师,终生学习者。热爱生活,喜欢游泳,略懂烹饪。人生格言:「向着标杆直跑」

相关文章
相关标签/搜索