资料已经打包好了,需要的公众号发送“11”领取
一次纯粹的 hacking
Python 的作者,Guido von Rossum,荷兰人。1982 年,Guido 从阿姆斯特丹大学获得了数学和计算机硕士学位。尽管,他算得上是一位数学家,但他更加享受计算机带来的乐趣,热衷于做任何和编程相关的活儿。
80 年代,掀起了个人电脑浪潮,但受限于个人电脑配置低,所有的编译器的核心是做优化,以便让程序能够运行。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为 C 语言的指针是在浪费内存,至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。
而这种编程方式让 Guido 感到苦恼。Guido 知道如何用 C 语言写出一个功能,但整个编写过程需要耗费大量的时间。
不过,他还有另一个选择 shell。shell 可以像胶水一样,将 UNIX 下的许多功能连接在一起。UNIX 的管理员们常常用 shell 去写一些简单的脚本,以进行一些系统维护的工作,比如定期备份、文件系统管理等等。然而,shell 的本质是调用命令,并不能全面的调动计算机的功能。
Guido 希望有一种语言,这种语言能够像 C 语言那样,能够全面调用计算机的功能接口,又可以像 shell 那样轻松的编程。
ABC 语言让 Guido 看到希望。ABC 是由荷兰的数学和计算机研究所开发的,Guido 在该研究所工作,并参与到 ABC 语言的开发。ABC 语言是一个致力于为初学者设计编程环境的长达 10 年的研究项目,与当时的大部分语言不同,ABC 语言的目标是 “让用户感觉更好”。
比如下面是一段来自 Wikipedia 的 ABC 程序,这个程序用于统计文本中出现的词的总数:
HOW TO RETURN words document: PUT {} IN collection FOR line IN document: FOR word IN split line: IF word not.in collection: INSERT word IN collection RETURN collection
HOW TO 用于定义一个函数。一个 Python 程序员应该很容易理解这段程序。ABC 语言使用冒号和缩进来表示程序块。行尾没有分号。for 和 if 结构中也没有括号 ()。赋值采用的是 PUT,而不是更常见的等号。这些改动让 ABC 程序读起来像一段文字。
#计算机 #编程 #程序员 #学习 #Python #Python学习