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 序章被谱写的更多相关文章

  1. JZOJ 4272. 【NOIP2015模拟10.28B组】序章-弗兰德的秘密

    272. [NOIP2015模拟10.28B组]序章-弗兰德的秘密 (File IO): input:frand.in output:frand.out Time Limits: 1000 ms  M ...

  2. C蛮的全栈之路-序章 技术栈选择与全栈工程师

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验, ...

  3. 简学Python第一章__进入PY的世界

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

  4. leecode刷题(30)-- 二叉树的后序遍历

    leecode刷题(30)-- 二叉树的后序遍历 二叉树的后序遍历 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 思路 ...

  5. .Net 中的反射(序章) - Part.1

    引言 反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助. 反射是一个庞大的话题,牵扯到的知识 ...

  6. Asp.Net MVC4 + Oracle + EasyUI 学习 序章

    Asp.Net MVC4 + Oracle + EasyUI  序章 -- 新建微软实例 本文链接:http://www.cnblogs.com/likeli/p/4233387.html 1.  简 ...

  7. Ⅰ.Spring的点点滴滴--序章

    spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 .net篇(环境为vs2012+Spring.Core.dll) 新建一个控制台 using Spring.Context; ...

  8. ar技术序章-SDK介绍和选择

    转自: http://blog.csdn.net/kun1234567/article/details/10402535 ar技术序章-SDK介绍和选择 分类: Augmented Reality20 ...

  9. 简学Python第二章__巧学数据结构文件操作

    #cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...

随机推荐

  1. Unique Word Abbreviation

    An abbreviation of a word follows the form <first letter><number><last letter>. Be ...

  2. [转帖]Ubuntu 清理 历史命令

    Ubuntu彻底清除history命令历史记录 https://blog.csdn.net/u013554213/article/details/84954062 centos 可以使用这个命令 清理 ...

  3. 一分钟安装mysql

    学数据库的人都知道,MySQL数据库是比较基本的掌握要求,不仅开源而且社区版本是免费使用的.由于工作上或者经常更换系统的原因,有时候会需要安装MySQL数据库.为了不至于每次安装都要查阅资料,现把安装 ...

  4. c++ Oracle OCCI 编程

    转载备忘:http://blog.sina.com.cn/s/blog_53a72add01015zj4.html 关于occi编程可以参考的链接: http://blog.itpub.net/162 ...

  5. PDFObject的使用(转)

    1.pdfobject.js官网:https://pdfobject.com/ 2.在html文件中引入这个文件,以pdfobject.min.js为例 1 <script type=" ...

  6. activemq热备与消息丢失

    1. 解压 tar -zxvf apache-activemq-5.12.0-bin.tar.gz2. 改名 mv apache-activemq-5.12.0 activemq3. cd activ ...

  7. git error: failed to push some refs to 'git@github.com:xxx/xxx.git'

    本地仓库中和远程仓库不一致,缺少readme.md文件 解决方式参见:https://blog.csdn.net/qq_37281252/article/details/79044798

  8. 我国三大常用坐标系:北京54、西安80和WGS-84

    转自:http://blog.sina.com.cn/s/blog_6dbe2d780100mwr5.html 我国三大常用坐标系:北京54.西安80和WGS-84 1.北京54坐标系(BJZ54)北 ...

  9. LazyMan的深入解析和实现

    一.题目介绍 以下是我copy自网上的面试题原文: 实现一个LazyMan,可以按照以下方式调用: LazyMan("Hank")输出: Hi! This is Hank!   L ...

  10. (架构)React Native 导出项目全局共用组件的模块

    自定义组件全局使用(类似如下) import { ReactNavComponent, Widget, Util } from 'rn-yunxi'; const { RegexpUtil, Stor ...