Python之父加入微软三年后,Python嵌入Excel!

近日,微软传发布消息,Python被嵌入Excel,从此Excel里可以平民化地进行机器学习了。只要直接在单元格里输入“=PY”,回车,调出Python,马上可以轻松实现数据清理、预测分析、可视化等等等等任务,甚至还能生成天气预报模型。微软的一小步,Excel的一大步,自此办公效率又大大大大得到了提升。

在一众编程语言里,Python也再上一分。Excel和Python联手的背后,不得不提到背后的推手,他就是Python之父吉多·范罗苏姆(Guido van Rossum),这位大咖如今67岁。2020年,因为觉得退休生活很无聊,于是他突然宣布加入微软。因Python在中国越来越被广泛应用,他也因此被中国人所熟知,在中国编程界他被亲切地称为“龟叔”。

01、“Python之父”,编程语言的一座丰碑

童年经历激发兴趣

吉多·范罗苏姆于1956年出生于荷兰阿姆斯特丹,父母都是计算机工程师。他的家庭背景和早期接触计算机为他日后的编程生涯奠定了基础。童年时期,一台家庭电脑使他对计算机产生了浓厚兴趣。13岁的时候,父母给他买了一台Commodore VIC-20个人计算机,这台早期的个人计算机更是激发了他对编程技术的追求。

大学就读于荷兰阿姆斯特丹大学,1982年获得数学和计算机科学硕士学位。

图片

他不是一个从一而终的职场人

大学毕业后,吉多·范罗苏姆曾先后在多个研究机构工作,包括荷兰阿姆斯特丹的荷兰国家数学与计算机科学研究中心(CWI)、马里兰州 Gaithersburg 的国家标准及技术研究所(NIST),以及维珍尼亚州 Reston 的国家创新研究公司(CNRI)。

2005年12月,范罗苏姆带着Python语言项目加入了Google。作为加盟交换条件,Google同意版权归范罗苏姆,还允许他用一半的工作时间来维护Python。范罗苏姆则用 Python为Google编写了网页代码浏览工具。

图片

2013年1月,范罗苏姆离开Google进入Dropbox工作。Dropbox的首席执行官安德鲁·豪斯顿(Andrew Houston)是Python的忠实拥趸。Dropbox公司成立的第一天编写的第一行代码所使用的编程语言就是Python。Dropbox服务器和桌面客户端软件几乎都是用Python编写而成的。

吉多·范罗苏姆在职业生涯创建了Python高级编程语言。该语言凭借其简洁易读的语法、强大的编程功能以及广泛的应用领域赢得了全球开发者的喜爱,在计算机科学领域、全球编程社区产生了广泛而深远的影响。

图片

2018年,由于Python 改进提案(PEP 572)问题在社交平台上遭受到了包括核心开发者在内的众多开发者的很大舆论中伤,因此吉多·范罗苏姆在已有退休想法的基础上正式于2018年7月12日宣布隐退,并于2019年10月29日正式退休。但所谓的退休生活仅仅过了一年,他就觉得退休生活太无聊,于是2020年11月12日64岁的他决定再度复出,成功入职了微软。

程序员工作本是年轻人的职业,人们不得不承认,这位今年67岁的“超龄爷爷程序员”亦能遨游于职场,做得游刃有余风生水起。他是一个至老都在换工作的人。他身上充满着激情、创新和坚持不懈的追求精神,正是这种精神激励了全球的年轻人。

图片

闲出来的卓越创造

一般人都渴望难得清闲,但闲来无事久了就会很无聊。范罗苏姆也有过这样一段闲而无聊的时光。但正是这段悠闲的时光,范罗苏姆无心插柳般地创造了现在享誉全球的Python语言。

那是1989年圣诞节,闲来无事的范罗苏姆想起之前开发ABC语言时还有些问题没有解决,于是他决定用写脚本的方式来打发时光,欲写一个脚本来解释ABC语言以解决之前没解决的问题。他为此而取了一个他喜欢的名称——Python语言。

范罗苏姆取名“Python”的缘由有两个:

一是这个名称源自他喜欢的喜剧《蒙提派森的飞行马戏团》(The Monty Python's Flying Circus)中的“Python”,这一角色给他留下了美好而深刻的印象,于是直接借用了过来;

图片

二是他认为运用UNIX系统或C语言的黑客们将会成为他新编程语言的目标用户。

范罗苏姆开发Python的动机是早在他取得硕士学位的同一年,他加入了CWI(数学与计算机科学国家研究所),参与了上文提到的ABC高级编程语言的研发。这种以教学为目的的计算机语言尽管比当时流行的BASIC和C语言更易阅读和使用,但并没有在编程界流行开来。他认为这种失败与没有开源有关,于是他决心要把编程语言变得“让用户感觉更好”。

很快,他将Python语言上传至开源社区。令人惊喜的是,这一举动还帮助实现了ABC语言未曾实现的部分功能。

图片

其设计哲学体现了 “优雅、明确、简单”,体现在Python的语法结构、动态类型和对代码可读性的重视上,相对于其他语言如C++或Java,更加易于学习和使用。

经反复测试和实际应用,Python语言因其简洁性、易读性以及可扩展性迅速受到了众多用户的推崇。2004年后,其用户使用率呈线性倍增趋势。

Python吸引了全球程序员的目光,从简单的脚本编写到复杂的系统开发,它在各种应用中被广泛使用。Python的语言设计和强大的标准库使其成为数据科学、人工智能和网络爬虫等领域的首选语言。

图片

他被冠以“终身仁慈独裁者”头衔

推出Python后,范罗苏姆创建了Python社区。在社区,他被冠以了“终身仁慈独裁者”(Benevolent Dictator For Life)头衔或者外号。

这个头衔同样借用了他喜欢的那部戏剧《蒙提派森的飞行马戏团》。剧中的“独裁者”林纳斯是一位残暴不仁的暴君。但范罗苏姆跟剧中的独裁者暴君毫无相似的地方,一点也不“暴君”。于是社区里的人就送了他“仁慈的独裁者”这一称谓。其意思是,范罗苏姆时时关注着Python的开发进程,在社区里拥有最高权限,能够在必要的时刻做出决定。

图片

Python的每一次改进方案“PEP”(Python Enhancement Proposal),每一份只能必须由范罗苏姆亲自签署确认,不像PHP的每次改进都是通过民主投票,这是他之所以被称为“独裁者”的一个主要原因。

而且,不论是在Google还是在Dropbox任职,范罗苏姆始终将自己50%的精力放在了维护 Python上。范罗苏姆始终保持着对他“独裁下的帝国”的高度热情和关注,不曾放松一刻。

而他的另一面仁慈,则是他在推特上发表意见,表达了他对 “996” 工作制的谴责,他认为那是不人道的,呼吁大家反对工作“996”,又在Python官方论坛中发表了一篇名为《Can we do something for 996 programmers in China?》的帖文,以仁慈俘获了无数人心。

图片

02、Python的影响有几何?

Python的诞生推动了计算机科学领域的发展并成为不可或缺的编程语言之一。现正流行于网络的Python,让初学者可以轻松上手,促进了编程普及化。在自然语言处理和机器学习方面,Python推动了人工智能的发展,被广泛应用于科学、工程、商业和互联网领域。不论是一般职场办公人员还是专业开发人士,Python都得到了广泛应用。

图片

吉多·范罗苏姆是一位杰出的计算机科学家,他创造的Python改变了编程界,对全球程序员和开发者产生了深远影响。他曾获得过由自由软件基金会颁发的2001年自由软件进步奖、荷兰UNIX用户小组奖,并被美国计算机协会(ACM)认定为著名工程师。这些足以证明他在计算机科学领域做出的杰出贡献以及他在工业界的地位和影响力。

他是当之无愧的“Python之父”。

下面好书可以在文章末尾免费获取

03、好书推荐

Python编程快速上手 让繁琐工作自动化 第2版

▲ 豆瓣评分9.0,零基础也能轻松上手的Python教程,手把手教你零基础学Python 3!

《Python编程快速上手:让繁琐工作自动化(第2版)》是一本实用的Python编程教材,通过讲解具体的自动化项目,帮助读者快速掌握Python编程技能。AI一直以来的目标就是让我们从繁琐的工作中解脱出来,本书就能让我们从简单的任务中感受AI自动化的力量。

Python极客项目编程

图片

▲ 本书包含了一组富有想象力的编程项目,它们将引导你用Python 来制作图像和音乐、模拟现实世界的现象,并与Arduino 和树莓派这样的硬件进行交互。你将学习使用常见的Python 工具和库,如numpy、matplotlib 和pygame,来完成工作。

通过本书,你可以享受作为极客的真正乐趣! 

Python Cookbook(第3版)中文版

图片

▲ O'Reilly 动物系列的书广受好评,被人们认为是专门用来解决特定问题的详细指导。这本就是针对 Python 在各个领域中的一些问题,提出了对应的解决方法与技巧。豆瓣评分 9.4!无数 Python 程序员必备的大部头工具书。

Python编程实战 妙趣横生的项目之旅

图片

▲ 本书是让你在趣味的实战项目中锻炼Python编程能力,通过“”策略:“伪代码”“代码实现”的详细剖析,让读者轻松理解项目,上手实践。其中实战项目五花八门,从登陆火星到识别外星人,各种趣味问题让你完全感觉不到无聊。

【参考资料】:

1.百度百科  AI科技大本营《Python 之父:因打发时间创造 Python,躬耕多年退位》

2. 小霖说故事《Python的至善独裁者——吉多·范罗苏姆》 ;

3.湖南书声琅琅教育《Python之父吉多·范罗苏姆,三十余载的Python之路,结果如何?》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/98517.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

陶氏公司将出席2023第二届中国汽车碳中和峰会

2023第二届中国汽车碳中和峰会将于10月19日-20日在上海举办。 本次峰会将为行业领导者、政策制定者和专家提供一个平台,讨论汽车行业减少碳排放的策略。专家们将从政策、供应链、ESG、替代能源解决方案、汽车材料创新、法律等不同领域分享碳中和与可持续策略。 通…

Java 几个基本数据类型长度

对 Java 来说,我们通常会有下面几个基本数据类型。 需要了解的一个定义是,一个字节(byte) 是 8 位(Bit)。 针对 Java 的所有数据类型,最小的是 1 个字节,最多的是 8 个字节 数据长…

C++的继承

1.继承的基本形式 1.还是举每次讲继承都会举得一个例子:老师和学生都有人类的共同信息----姓名,性别,身份证等等,而学生有学工号,课表。老师有上班时间等等,所以在类中就有了继承这一说,子类继…

vscode新建vue3文件模板

输入快捷新建的名字 enter 确认后在文件中输入以下内容 {// Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and// description. The prefix is what is used to trigger the snippet and the body will be expand…

蚂蚁集团SQLess 开源,与内部版有何区别?

当我们使用关系型数据库时,SQL 是联系起用户和数据库的一座桥梁。 SQL 是一种高度非过程化的语言,当我们在编写SQL 时,表达的是想要什么数据,而不是怎么获取数据。因此,我们往往更关心SQL 有没有满足业务逻辑&#xff…

二叉树的前序遍历

目录 题目题目要求示例 解答方法一、实现思路时间复杂度和空间复杂度代码 方法二、实现思路时间复杂度和空间复杂度代码 题目 二叉树的前序遍历 题目要求 题目链接 示例 解答 方法一、 递归法 实现思路 使用递归依次将该结点的数据,该结点的左子树的数据&am…

vue3 封装千分位分隔符自定义指令

toLocaleString作用:在没有指定区域的基本使用时,返回使用默认的语言环境和默认选项格式化的字符串。可点击进入MDN查看 // 千分位分隔符指令 import { Directive, DirectiveBinding } from vueconst thousandSeparator: Directive {mounted(el: any, …

git中的cherry-pick和merge有些区别以及cherry-pick怎么用

git中的cherry-pick和merge在使用场景上有些区别: cherry-pick用于将另一个分支的某一次或几次commit应用到当前分支。它可以选择性地拉取代码修改。merge用于将两个分支合并成一个新分支。它会把整个分支上的所有修改都合并过来。 具体区别:cherry-pick通常用于将bug修复从发…

QT中闹钟的设置

.h文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //按钮 #include <QTextEdit> //文本 #include <QLabel> //标签 #include <QLineEdit> //行编辑器#include <QTimerEvent> //定时器事件类头文件 #…

02-Linux-IO多路复用之select、poll和epoll详解

前言&#xff1a; 在linux系统中&#xff0c;实际上所有的 I/O 设备都被抽象为了文件这个概念&#xff0c;一切皆文件&#xff0c;磁盘、网络数据、终端&#xff0c;甚至进程间通信工具管道 pipe 等都被当做文件对待。 在了解多路复用 select、poll、epoll 实现之前&#xff…

快速学会git版本管理——上传gitee仓库

首先在gitee右上角有一个新建仓库 创建之后打开自己想要上传的文件 右键打开 Git Bash Here 接下来会弹出git的窗口 首先先初始化仓库 用git命令 git init 然后用git add . 上传所有文件上传到暂存区(上一篇文章说过add是单个文件&#xff0c;add . 是所有文件) 没有显示错误 …

java-方法

java定义方法如果没有返回值&#xff0c;那么就不需要定义返回值 如果有返回值则需要在定义方法时定义返回值和类型。 #无返回值 无返回值要加关键字void&#xff0c;不用加关键字return public static void printHelloWorld(){for (int i 0; i < 3; i) {System.out.pr…