乐搏讲自动化测试-Python发展背景(1)

相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然。在竞争日益激烈的市场环境中也是你升职加薪的利器。

所以,小编决定从今天起!将要系统、连续、高质量的持续更新「整套自动化测试」文章!从0开始,让你100%掌握自动化测试技能。
Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人。1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学位。
然而,尽管他算得上是一位数学家,但他更加享受计算机带来的乐趣。用他的 话说,虽然拥有数学和计算机双料资质,他总趋向于做计算机相关的工作,并热衷于做任何和编程相关的事情。

在那个时候,龟叔接触并使用过诸如Pascal、C、Fortran等语言。这些语言的基本设计原则是让机器能更快运行。在80年代,虽然 IBM和苹果已经掀起了个人电脑浪潮,但这些个人电脑的配置很低。比如早期的Macintosh,只有8MHz的CPU主频和128KB的RAM,一个大 的数组就能占满内存。
所有的编译器的核心是做优化,以便让程序能够运行。为了增进效率,语言也迫使程序员像计算机一样思考,以便能写出更符合机器口味的程 序。在那个时代,程序员恨不得用手榨取计算机每一寸的能力。有人甚至认为C语言的指针是在浪费内存。至于动态类型,内存自动管理,面向对象…… 别想了,那会让你的电脑陷入瘫痪。

这种编程方式让龟叔感到苦恼。龟叔知道如何用C语言写出一个功能,但整个编写过程需要耗费大量的时间,即使他已经准确的知道了如何实现。他 的另一个选择是shell。Bourne Shell作为UNIX系统的解释器已经长期存在。
UNIX的管理员们常常用shell去写一些简单的脚本,以进行一些系统维护的工作,比如定期备份、文 件系统管理等等。shell可以像胶水一样,将UNIX下的许多功能连接在一起。
许多C语言下上百行的程序,在shell下只用几行就可以完成。然 而,shell的本质是调用命令。它并不是一个真正的语言。比如说,shell没有数值型的数据类型,加法运算都很复杂。总之,shell不能全面的调动 计算机的功能。

龟叔希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以像shell那样,可以轻松的编程。ABC语言让龟 叔看到希望。ABC是由荷兰的数学和计算机研究所开发的。龟叔在该研究所工作,并参与到ABC语言的开发。ABC语言以教学为目的。与当时的大部分语言不 同,ABC语言的目标是“让用户感觉更好”。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程序读起来像一段文字。
尽管已经具备了良好的可读性和易用性,ABC语言最终没有流行起来。在当时,ABC语言编译器需要比较高配置的电脑才能运行。而这些电脑的使用者通常精通计算机,他们更多考虑程序的效率,而非它的学习难度。除了硬件上的困难外,ABC语言的设计也存在一些致命的问题:
可拓展性差。ABC语言不是模块化语言。如果想在ABC语言中增加功能,比如对图形化的支持,就必须改动很多地方。
不能直接进行IO。ABC语言不能直接操作文件系统。尽管你可以通过诸如文本流的方式导入数据,但ABC无法直接读写文 件。输入输出的困难对于计算机语言来说是致命的。你能想像一个打不开车门的跑车么?
过度革新。ABC用自然语言的方式来表达程序的意义,比如上面程序中的HOW TO 。然而对于程序员来说,他们更习惯 用function或者define来定义一个函数。同样,程序员更习惯用等号来分配变量。尽管ABC语言很特别,但学习难度 也很大。
传播困难。ABC编译器很大,必须被保存在磁带上。当时龟叔在访问的时候,就必须有一个大磁带来给别人安装ABC编 译器。 这样,ABC语言就很难快速传播。
1989年,为了打发圣诞节假期,龟叔开始写Python语言的编译器。Python这个名字,来自龟叔所挚爱的电视剧Monty Python‘s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。龟叔作为一个语言设计爱好者,已经有过设计语言的尝试。这一次,也不过是一次纯粹的hacking行为。
每天持续更新,软件测试知识!
如有转载,请联系博主!

原文地址:https://blog.51cto.com/13559040/2390277

时间: 2024-07-29 18:34:46

乐搏讲自动化测试-Python发展背景(1)的相关文章

乐搏讲自动化测试-Python语言的诞生(2)

更新了,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章!从0开始,让你100%掌握自动化测试技能. 1991年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件.从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统. Python语法很多来自C,但又受到ABC语言的强烈影响.来自A

乐搏讲自动化测试-Python自动化前景怎么样(4)

相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章!从0开始,让你100%掌握自动化测试技能. Python言语还能够写爬虫,但仅仅只是爬虫的入门罢了.通过Python入门爬虫比较简略易学,不需要在一开始把握太多太根底太底层的常识就能够很快上手,而且很快能够做出成果,十分合适小白一开始想做出点看得见的东西的成就感.假如想要往这个方向开展,Pytho

乐搏讲自动化测试-python语言特点及优缺点(5)

相信小伙伴们都知道,随着软件测试行业的发展和进步自动化测试已经成为必然.在竞争日益激烈的市场环境中也是你升职加薪的利器. 所以,小编决定从今天起!将要系统.连续.高质量的持续更新「整套自动化测试」文章!从0开始,让你100%掌握自动化测试技能. 一.Python特点 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构.它的特点如下: (1) P

乐搏讲自动化测试 - Python基本数据类型(11)

数据类型在数据结构中的定义是一组性质相同的值的集合以及定义在这个值集合上的一组操作的总称.Python3 中有六个标准的数据类型:(1)Number(数字)(2)String(字符串)(3)List(列表)(4)Tuple(元组)(5)Set(集合)(6)Dictionary(字典)其中,这六个数据类型中,不可变数据(3个)有:Number(数字).String(字符串).Tuple(元组):可变数据(3个)有:List(列表).Dictionary(字典).Set(集合). 1.Number(

乐搏讲自动化测试 - Python语言编写规则(10)

(1)编码:默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串. 当然你也可以为源码文件指定不同的编码:例如 # -- coding: cp-1252 --,这个定义允许在源文件中使用 Windows-1252 字符集中的字符编码,对应适合语言为保加利亚语.白罗斯语.马其顿语.俄语.塞尔维亚语. (2)标识符:1..第一个字符必须是字母表中字母或下划线 _ .2.标识符的其他的部分由字母.数字和下划线组成.3.标识符对大小写敏感.在 Python

乐搏讲自动化测试- Python自动化测试前景怎么样(4)

Python言语还能够写爬虫,但仅仅只是爬虫的入门罢了.通过Python入门爬虫比较简略易学,不需要在一开始把握太多太根底太底层的常识就能够很快上手,而且很快能够做出成果,十分合适小白一开始想做出点看得见的东西的成就感.假如想要往这个方向开展,Python是不错的入门选项. Python是机器学习和AI的首要开发言语.作为被用于机器学习和人工智能系统以及各种现代技术的一门言语,Python能够十分容易地使用于剖析和组成可用的数据,这也使它成为数据科学中比较流行的言语之一.而丰富的本机拓展也使Py

乐搏讲自动化测试- Python环境搭建(7)

Python的下载和安装 Python可应用于多平台包括 Linux 和 Mac OS X.你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本.如果没有下载,则可以到Python官网:https://www.python.org/进行下载,你可以在以下链接中下载 Python 的文档,你可以下载 HTML.PDF 和 PostScript 等格式的文档. Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上).你需

讲一下python的背景知识

我突然发现一个很严重的问题,就是我好像跟你说了好多的python语法,却没有跟你说一下python的基本背景.今天,我们不学基本语法了,来看一下python的基本背景. 首先,说一下python是怎么读的.根据百度百科给的发音是这样的:英国发音:/?pa?θ?n/ 美国发音:/?pa?θɑ?n/ 目前,python有两个版本,一个版本是2.x,还有一个版本是3.x,这里面的2.x又有好几个版本,同样,3.x里面也有好几个版本.我们之前讲的都是3.x版本的.为什么要学习3.x版本的?因为3.x版本

【乐搏软件测试】年后工作找的怎么样了,你确定抉择对行业了吗?

乐搏软件测试--去年年底最寒心的一句话莫过于说"互联网人员的冬天来了"其实并不其然,所有行业都在裁员,只不过是什么行业或者职位的问题. 众所周知,互联网行业潜力巨大,未来没有互联网企业,因为所有的企业都是互联网企业. 在福布斯排行榜上不满30岁的超级富豪们,无一例外都是互联网行业的先行者. 因为互联网,阿里巴巴一夜之间成为亚洲第一: 因为互联网,百度在给用户提供免费服务的同时,也缔造了自己的财富神话: 因为互联网,新浪在聚集了众多大V的同时,也完成了自己的华丽转型-- 在所有企业的成功