30 年前的圣诞节,Python 序章被谱写
1989 年圣诞节期间,已经从阿姆斯特丹大学(University of Amsterdam)获得数学和计算机硕士学位的 Guido van Rossum,为了打发圣诞节的无趣,决心开发一个新语言解释器,作为 ABC 语言的一种继承。
之所以选中 Python(蟒蛇)作为该编程语言的名字,是取自英国 20世纪 70 年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)。
1991年,第一个 Python 解释器正式发布。它是用 C 语言实现,能够调用 C 库(.so文件)。并且当时已经具有Python 的核心数据类型:类(class)、函数(function)、列表(list)、字典(dict),以及模块(module)。
Python 设计哲学是“优雅”、“明确”、“简单”,Guido 将“人生苦短,我用 Python” (Love is short, use python) 作为 Python 的 Slogan。
这是因为 Python 将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思。这让 Python 程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节。
正因如此,Python 在冷门多年后,终于借助大数据与人工智能的兴起而迅速蹿红,不需要注重编程工程性的特点使数据/AI 开发者得心应手。
如今 Python 已经成为世界最热门的语言之一,据 Jetbrains 调查显示,27% 受访对象在过去一年中开始或仍在持续学习 Python。
越来越多的数据开发者使用 Python 代替 MATLAB 作为数据处理语言,机器学习开发者将 Python 几乎首选语言。而 Flask 与 Django 这两款继承 Python 设计哲学、优秀的 Web 框架,也让 Python 在 Web 领域占领一席之地。
各大互联网企业也争相拥抱 Python,Google 不仅聘请过 Guido,还把 Python 作为 Google 第三大开发语言,YouTube 与 Instagram 则将 Python 作为主力技术栈,国内的豆瓣也是 Python 的忠实使用方。
不知 Guido 在 30 年前的那个圣诞,是否会想到写出了一个假期闲作,在 30 年后竟然成为一门雄霸一方的编程语言。
各位圣诞节快乐!
本文属于原创,首发于微信公众号「面向人生编程」,如需转载请后台留言。
关注后回复以下信息获取更多资源
回复【资料】获取 Python / Java 等学习资源
回复【插件】获取爬虫常用的 Chrome 插件
回复【知乎】获取最新知乎模拟登录
30 年前的圣诞节,Python 序章被谱写的更多相关文章
- JZOJ 4272. 【NOIP2015模拟10.28B组】序章-弗兰德的秘密
272. [NOIP2015模拟10.28B组]序章-弗兰德的秘密 (File IO): input:frand.in output:frand.out Time Limits: 1000 ms M ...
- C蛮的全栈之路-序章 技术栈选择与全栈工程师
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...
- 简学Python第一章__进入PY的世界
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- leecode刷题(30)-- 二叉树的后序遍历
leecode刷题(30)-- 二叉树的后序遍历 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 思路 ...
- .Net 中的反射(序章) - Part.1
引言 反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助. 反射是一个庞大的话题,牵扯到的知识 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 序章
Asp.Net MVC4 + Oracle + EasyUI 序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1. 简 ...
- Ⅰ.Spring的点点滴滴--序章
spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 .net篇(环境为vs2012+Spring.Core.dll) 新建一个控制台 using Spring.Context; ...
- ar技术序章-SDK介绍和选择
转自: http://blog.csdn.net/kun1234567/article/details/10402535 ar技术序章-SDK介绍和选择 分类: Augmented Reality20 ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
随机推荐
- uva-315.network(连通图的割点)
本题大意:求一个无向图额割点的个数. 本题思路:建图之后打一遍模板. /**************************************************************** ...
- windows下重启nginx
参考:从零学nginx-windows下reload配置无效及如何重启 因为Nginx是多进程模型,有一个主进程和多个子进程,主进程只负责管理子进程,基本的网络事件由各个子进程处理. 所以有时候当我们 ...
- 卸载yum-mysql
注意事项:1. 卸载yum MYSQLsystemctl status mysqlsystemctl stop mysqlsystemctl disable mysqld rpm -qa | grep ...
- Python 入门之 内置模块 -- time模块
Python 入门之 内置模块 -- time模块 1.time模块 time翻译过来就是时间,这个模块是与时间相关的模块 import time # 内置模块 -- 标准库 (1)time.ti ...
- HTML弹性布局
1.弹性布局的使用 (1) display:flex:给父容器添加这个属性: (2) display:flex; 容器添加弹性布局后,显示为块级元素: display:inline-flex; 容 ...
- 前端校招知识体系之HTML5
啥是HTML5?官方说HTML5 是下一代的 HTML... 本文主要介绍HTML5三个方面的知识,继续往下看看吧. 语义化标签 canvas&svg 响应式meta 一.语义化标签 语义化标 ...
- Centos安装 Apache2.4提示 APR not found的解决办法
在安装apache2.2.22版本的时候没有任何问题,可直接使用命令编译安装. 但是,在apache 2.4.12版本,./configure 进行配置时, 提示 configure: error: ...
- 07.Linux系统-Fastdfs分布式文件系统-互为主从配置搭建部署
Fastdfs分布式文件系统-互为主从配置部署 1.安装基础依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl ...
- FPGA 物理时序不合理的体现(体现方式:数字钟的行扫描和列扫描)
本人在这只讨论建模好的模块来比较解释现象,如有不周到请大家指正. 软件功能仿真和在硬件上的区别:可以从这个数码管的行扫描和列扫描实例来体会一下,物理时序的影响和改进方法. 数码管的行扫描.列扫描要求同 ...
- N^2取N
序列合并 有两个长度都是N的序列A和B,在A和B中各取一个数相加可以得到N^2个和,求这N^2个和中最小的N个. 先把A B排序 然后pushA[1]+B[i](1<=i<=n)每次取出一 ...