python—-简史

python—-简史然软件产业的历史相对于人类历史只是白驹过隙,但世界上却存在非常多的编程语言,「Python」 就是其中之一。Python语言算得上一门“古老”的编程语言,Python流行这么久,必然有它

大家好,又见面了,我是你们的朋友全栈君。

然软件产业的历史相对于人类历史只是白驹过隙,但世界上却存在非常多的编程语言,「Python」 就是其中之一。

Python 语言算得上一门“古老”的编程语言,Python 流行这么久,必然有它的独到之处,本节我们简单介绍 Python 的相关情况。

Python 简史

Python 由 Guido van Rossum 于 1989 年年底出于某种娱乐目的而开发, Python 语言是基于 ABC 教学语言的,而 ABC 这种语言非常强大,是专门为非专业程序员设计的。但 ABC 语言并没有获得广泛的应用, Guido 认为是非开放造成的。

Python 的“出身”部分影响了它的流行,Python 上手非常简单,它的语法非常像自然语言,对非软件专业人士而言,选择 Python 的成本最低,因此某些医学甚至艺术专业背景的人,往往会选择 Python 作为编程语言。

Guido 在 Python 中避免了 ABC 不够开放的劣势,Guido 加强了 Python 和其他语言如 C、C++ 和 Java 的结合性。此外,Python 还实现了许多 ABC 中未曾实现的东西,这些因素大大提高了 Python 的流行程度。

2008 年 12 月,Python 发布了 3.0 版本(也常常被称为 Python 3000,或简称 Py3k)。Python 3.0 是一次重大的升级,为了避免引入历史包袱,Python 3.0 没有考虑与 Python 2.x 的兼容。这样导致很长时间以来,Python 2.x 的用户不愿意升级到 Python 3.0,这种割裂一度影响了 Python 的应用。

毕竟大势不可抵挡,开发者逐渐发现 Python 3.x 更简洁、更方便。现在,绝大部分开发者已经从 Python 2.x 转移到 Python 3.x,但有些早期的 Python 程序可能依然使用了 Python 2.x 语法。

2009 年 6 月,Python 发布了 3.1 版本。
2011 年 2 月,Python 发布了 3.2 版本。
2012 年 9 月,Python 发布了 3.3 版本。
2014 年 3 月,Python 发布了 3.4 版本。
2015 年 9 月,Python 发布了 3.5 版本。
2016 年 12 月,Python 发布了 3.6 版本。
……

本教程将以 Python 3.x 来介绍 Python 编程,也会简单对比 Python2.x 与 Python 3.x 的语法差异。

目前,由于大数据、人工智能(AI)的流行,Python 变得比以往更加流行。在最新的 TIOBE 编程语言排行榜上, Python 己经迅速上升到第 4 位,仅次于 Java、C、C++。

Java 占据了世界上绝大部分电商、全融、通信等服务端应用开发,而 C、C++ 占据了世界上绝大部分贴近操作系统的硬件编程,这三门语言的地位太难动摇了。

Python 的特点

Python 是一种面向对象、解释型、弱类型的脚本语言,它也是一种功能强大而完善的通用型语言。

相比其他编程语言(比如 Java),Python 代码非常简单,上手非常容易。比如我们要完成某个功能,如果用 Java 需要 100 行代码,但用 Python 可能只需要 20 行代码,这是 Python 具有巨大吸引力的一大特点。

Python 的两大特色是清晰的语法和可扩展性:

  • Python 的语法非常清晰,它甚至不是一种格式自由的语言。例如,它要求 if 语句的下一行必须向右缩进,否则不能通过编译。
  • Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库(这些类库被形象地称为“batteries included ,内置电池”),这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。

此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。

Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。

解释型语言几乎天然是跨平台的。

Python 自然也具有解释型语言的一些弱点:

  1. 速度慢:Python 程序比 Java、C、C++ 等程序的运行效率都要慢。
  2. 源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python 直接运行源程序,因此对源代码加密比较困难。

上面两个问题其实不是什么大问题,关于第一个问题,由于目前计算机的硬件速度越来越快,软件工程往往更关注开发过程的效率和可靠性,而不是软件的运行效率;至于第二个问题,则更不是问题了,现在软件行业的大势本来就是开源,就像 Java 程序同样很容易反编译,但丝毫不会影响它的流行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155974.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    移植 libuv 至 Visual C++ 6.0 并支持 Windows XP 编译系统

    2022年1月16日
    86
  • mac下升级terminal/终端的subversion版本方法

    mac下升级terminal/终端的subversion版本方法

    2021年9月16日
    71
  • office每次打开都提示重新配置的三种解决方法

    office每次打开都提示重新配置的三种解决方法相信总有人遇到过每次打开Office2013都会遇到坑爹的“安装程序正在准备必要的文件”然后再显示“正在配置MicrosoftOfficeProfessionalPlus2013"的情况(如下图所示)。之所以出现这个问题,有三个情况:1、你的office安装的不完整,或者是用ghost安装系统的时候,自带的。特别是ghost自带的,他们都没有与系统握手。所以,每次都需要配置。…

    2022年7月19日
    31
  • PAT刷题C语言1002——写出这个数

    PAT刷题C语言1002——写出这个数思路:首先要定义一个字符数组a[0]-a[9]应该对应:ling到shi的拼音对于测试数据一次取一位并进行累加sum,遇到0可以丢弃把sum按位取出对应数组做输出(要求sum的位数,遇到最后一位时候不能输出回车)参考答案:…

    2022年8月11日
    9
  • Shell:export命令

    Shell:export命令https://www.cnblogs.com/tinywan/p/7224011.html一、Windows环境变量  1、在Windows系统下,很多软件安装都需要配置环境变量,比如安装jdk,如果不配置环境变量,在非软件安装的目录下运行javac命令,将会报告找不到文件,类似的错误。  2、那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。设置变量对于一般人最实用的功能就是:不用拷贝某些dll文件到系统目录中了,而path

    2022年9月7日
    6
  • 学习prototypejs中的继承实现机制(一): Object.extend()、Class.create()、Class#addMethods()的使用[通俗易懂]

    学习prototypejs中的继承实现机制(一): Object.extend()、Class.create()、Class#addMethods()的使用[通俗易懂]$super是不是和java中的继承有点像,我们居然可以使用$super来调用父类中的方法。不过有些差别:java中可以使用super调用父类中的任何公开的方法,但是在prototypejs里面$super只是一个方法,不是父对象。我们先研究下,prototypejs是如何做到$super,后面再看我们能不能改造它,让$super更像java中的super关键字。

    2022年7月22日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号