标签:编程语言排行 良好的 复杂度 变量 基础上 基本 代码量 效果 ram
Python 英文本意为“蟒蛇”,直到 1989 年荷兰人 Guido van Rossum (简称 Guido)发明了一种面向对象的解释型编程语言(后续会介绍),并将其命名为 Python,才赋予了它表示一门编程语言的含义。
说道 Python,它的诞生是极具戏曲性的,据 Guido 的自述记载,Python 语言是他在圣诞节期间为了打发时间开发出来的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是一个叫 Monty Python 戏剧团体的忠实粉丝。
看似 Python 是“不经意间”开发出来的,但丝毫不比其它编程语言差。自 1991 年 Python 第一个公开发行版问世后,2004 年 Python 的使用率呈线性增长,不断受到编程者的欢迎和喜爱;2010 年,Python 荣膺 TIOBE 2010 年度语言桂冠;2017 年,IEEE Spectrum 发布的 2017 年度编程语言排行榜中,Python 位居第 1 位。
直至现在(2019 年 6 月份),根据 TIOBE 排行榜的显示,Python 也居于第 3 位,且有继续提升的态势(如表 2 所示)。
Jun 2019 | Jun 2018 | Change | Programming Language | Ratings |
---|---|---|---|---|
1 | 1 | Java | 15.004% | |
2 | 2 | C | 13.300% | |
3 | 4 | Python | 8.530% | |
4 | 3 | C++ | 7.384% | |
5 | 6 | Visual Basic .NET | 4.624% | |
6 | 5 | C# | 4.483% | |
7 | 8 | JavaScript | 2.716% | |
8 | 7 | PHP | 2.567% | |
9 | 9 | SQL | 2.224% | |
10 | 16 | Assembly language | 1.479% |
相比其它编程语言,Python 具有以下特点。
“编程零基础,可以学习 Python 吗”,这是很多初学者经常问的一个问题。当然,计算机基础越好,对学习任何一门新的编程语言越有利,但如果你在编程语言的学习上属于零基础,也完全不用担心。
就我个人的观点,Python 作为学习编程的入门语言是再合适不过的,相比其他编程语言(比如 Java),Python 最大的优势就是非常容易上手。举个简单的例子,如果完成一个功能,使用 Java 实现需要 100 行代码,那么使用 Python 可能只需要 20 行。
有人可能会问,将 C 语言作为入门语言不好吗?就目前的就业形势来说,仅掌握 C 语言是很难找到高薪的工作的,而掌握 Python 则不同。
并且,在使用其它编程语言编程时(例如 C、C++),你需要时刻注意数据类型、内存溢出、边界检查等问题。而 Python 则不用,因为在底层实现时,它已经帮你一一处理好了。
Python 强大的功能是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。
实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。
此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。
编程语言按照程序的执行方式,可以分为编译型和解释型两种,典型的编译型语言有 C、C++ 等,而解释型语言有 Java、Python 等。
相比编译型语言,解释型语言最大的优势就是可移植性强。也就是说,Python 具有非常好的跨平台的特性。
Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在“面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。
而且和其它面向对象的编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大,而又简单的方式实现的面向对象编程。
除此之外,Python 还有开源、有良好的可扩展性等特点。基于以上这些特性,Python 广泛应用在人工智能、图像处理、Web应用开发、自动化运维、网络爬虫等领域。
Python 自发布以来,共历经了 3 个大的版本,分别是:
3 个版本中,Python 3.0 是一次重大的升级,为了避免引入历史包袱,Python 3.0 没有考虑与 Python 2.x 的兼容,这也就导致很长时间以来,Python 2.x 的用户不愿意升级到 Python 3.0。
除此之外,造成目前这种状况的另一个原因是,将现有应用从 Python 2.x 迁移到 Python 3.x 是一项不小的挑战。虽然有 2to3(后续会介绍)之类的工具可以进行代码的自动转换,但无法保证转换后的代码 100% 正确。而且,如果不做人工修改的话,转换后的代码性能可能还不如转换前。因此,将现有的复杂代码库迁移到 Python 3.x 上可能需要付出巨大的精力和成本,某些公司无法负担这些成本。
目前,根据统计显示,使用 Python 2.x 的开发者仍占 63.7%,而Python 3.x 的用户占 36.3%,由此可见,使用 Python 2.x 的用户还是占多数。在 2014 年,Python 创始人宣布,将 Python 2.7 支持时间延长到 2020 。
那么,初学者应该选择什么版本呢?这里建议大家选择 Python 3.x 版本,理由有以下几点:
注意,选择 Python 3.x 也不是没有弊端,很多扩展库的发行总是会滞后于 Python 的发行版本,甚至目前还有很多库不支持 Python 3.x。
因此,在选择 Python 时,一定要先考虑清楚自己的学习目的,比如说,打算做哪方面的开发,此方向需要用法哪些扩展库,以及这些扩展库支持的最高 Python 版本等,明确这些问题后,再选择适合自己的版本。
关于 Python 3.x 和 Python 2.x 具体的区别,可阅读《Python 3 和 Python 2 区别》一节。
对于初学者来说,要做的就是专注于 Python 这一门语言,明确学习的重点,把握好学习节奏,由浅入深循序渐进地学习。根据本人多年的学习工作经验,把编程语言的学习分为以下 3 步,无论你是否有编程基础,都可以对照着来做。
任何一门编程语言,其囊括的知识面都是非常广泛的,从基本的变量赋值、条件循环、到文件操作、并发编程等。但是,千万不要等到把所有知识点都学完了才开始练习,因为到那时你会发现,前面好不容易记住的知识都忘记了。
学习编程,是十分讲究实战的,没有捷径可走,越早练习,练得越多越勤,学习效果就越好。
学习编程语言,在追求快和高效的同时,每一种编程语言都有必要的编码规范,一定不能忽略。
要想成为一名优秀的程序员,从起步阶段就要刻意地去培养自己的编程规范。例如,在刚开始编写代码时,不要将原本多行的代码全部写到一行,也不要随便用 a、b、c 等字母作为变量的名称。
要想真正熟练地掌握 Python(或者其它编程语言),拥有大中型产品的开发经验是必不可少的,它会让你站得更高,望得更远。
例如,我们几乎每天都会用搜索引擎,但你了解一个搜索引擎的服务器端实现吗?这是一个典型的面向对象设计,需要定义一系列相关的类和函数,还要从产品需求、代码复杂度、效率以及可读性等多个方面综合考量,同时在上线后还要进行各种优化等。
为了辅助大家更好地学习 Python,这里准备了一章 Python 学习的知识图谱,涵盖了 Python 的核心知识。
标签:编程语言排行 良好的 复杂度 变量 基础上 基本 代码量 效果 ram
原文地址:https://www.cnblogs.com/tdskee/p/12167682.html