解析云应用的基础:编程技术的发展史

日期: 2010-08-31 作者:Brian J.S. CheeCurtis Franklin Jr翻译:滕晓龙 来源:TechTarget中国 英文

上一部分内容云应用来袭 低级汇编语言显优势。   高级编程语言简史   接下来,我们回顾一下第一代的编程语言的历史。IBM360/30的第一代汇编语言非常简单易懂但却单调乏味,它要求程序员对计算机硬件以及指令如何在数据中工作极其熟悉。使用汇编语言编写功能时需要访问最原始的指令和磁带磁盘系统,同时程序员应当根据显示消息从控制台进行输入。

但是,每一个指令代码都必须使用一个打孔卡,想要重用代码就必须将部分卡片从卡片组中取出然后放在另一个卡片组中。   在20世纪70年代后期,IBM公司发布了BAL(基本汇编语言)的新版本,一个宏汇编语言,它允许程序员利用一个预先编写好的代码片段库(宏)来完成某些重复……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

上一部分内容云应用来袭 低级汇编语言显优势

  高级编程语言简史

  接下来,我们回顾一下第一代的编程语言的历史。IBM360/30的第一代汇编语言非常简单易懂但却单调乏味,它要求程序员对计算机硬件以及指令如何在数据中工作极其熟悉。使用汇编语言编写功能时需要访问最原始的指令和磁带磁盘系统,同时程序员应当根据显示消息从控制台进行输入。但是,每一个指令代码都必须使用一个打孔卡,想要重用代码就必须将部分卡片从卡片组中取出然后放在另一个卡片组中。

  在20世纪70年代后期,IBM公司发布了BAL(基本汇编语言)的新版本,一个宏汇编语言,它允许程序员利用一个预先编写好的代码片段库(宏)来完成某些重复性的任务,自动化的重复性任务示例包括反绕九轨磁带卷、跳过位于磁带上的第三数据组等。使用程序中已测试和标准化代码的能力使程序员立即摆脱了繁重的编写和调试工作,虽然失去了程序的可移植性(除非其他系统具有相同的宏汇编程序和版本),而获得的则是在较短的时间内开发更为复杂程序的能力。

  这也意味着开发团队中的成员可以不改写自己的代码而直接重用这些功能。这本身也推动了整个团队为实现更为标准化的编码而努力。宏汇编语言在短时间内就得到了广泛应用,典型代表就是称为COBOL(面向商业的通用语言)的新编程语言,它的一个“print format“代码行就完成了在过去需要几百行汇编语言和数天调试才能实现的功能。在这一点上,你会发现我们并没有谈及硬件抽象。当每个人都在使用来自于同一个大型供应商的系统时,那么硬件抽象就更不会是一个问题了,主要面临的问题是在存储子系统之间的数据转移。

  本篇的作者之一(Brian Chee)在20世纪70年代中期听过美国海军司令官Grace Hopper(COBOL的作者)的一场学术报告会,Grace Hopper在会上分析了成本因素以及COBOL如何挽回了海军在数据处理方面数以万计美元的投入,因为降低了成本,数据处理就可供更多的人使用。在海军少将Grace Hopper从海军退役之后,COBOL实现了巨大的跨越。随着计算世界的发展,新的编程语言陆续涌现:供科学家使用的FORTRAN(公式翻译),真正的Babel(BASIC、PL1、LISP、APL、SNOBOL和C语言只是其中的一小部分)。每种编程语言都进行了扩展而变得越来越大,使特定的受众越来越易于事半功倍地创建复杂的应用程序。例如,“统计产品与服务解决方案”软件(SPSS)最初以社会科学中某些类型统计数据需求为目标,之后数年中则发展成为了大型机和微型机最流行的统计系统之一,并最终可应用于PC。IBM公司于最近收购了SPSS,我们有理由相信SPSS软件套件的统计模块将在未来数年间发展并进入云计算领域。SPSS曾经在科学界产生了巨大的影响,因为它是一个几乎完全不同于传统编程语言的典型示例,程序员不需要编写非常复杂的程序进行标准差的计算,取而代之的是只需要输入数据并用一个单指令命令行要求计算结果就可实现,近乎有3000:1的代码缩减,它允许非专业程序员完成复杂的统计分析。这是之后云应用的重要雏形,因为它允许用户开发复杂的数据分析程序而无需学习真正复杂的编程语言。在一定的水准上,它将“抽象层“的概念扩展至堆栈,切中要害地为用户进行抽象处理而不是简单地为计算系统进行抽象处理。

  抽象数据库和网上数据库

  在云计算发展过程中,另外一个重大事件悄悄发生在90年代中期的美国Honolulu地区名为Aspect Computing的小型计算机分销店中,当时James Laurel和Richard Chan遇到了一个左右为难的问题:他们想要拥有一个私密的家庭生活,但是他们的生活却与计算机零售商紧密联系,他们需要在某些特定的时间获得设备股票的相关信息。其实,他们真正想要的是一个使用名为万维网新生事物的方法,以便于计算机零售商即便在商店的非营业时间也能够查询Aspect Computing的库存系统。Laurel也相应创建一个抽象层,它可以使系统具有安全性和足够的灵活性,对新应用程序实现无法想象的代码重用。

  他们开发的产品WebDB最终成为了一个商业产品,它首次允许用户从一个网络客户端对网络主机进行数据库查询。当时几乎所有的数据库应用程序都无法通过网络处理查询请求,而那些能够实现该功能的数据库应用程序则要求网络连接以安装磁盘驱动器的形式显示(即通过Novell Netware,磁盘必须显示为一个驱动器号)。当时的网络数据库应用程序都只能访问保存在该驱动器上的文件。在开发实验室以外并不存在任何适用的对等或客户端-服务器的数据库应用程序。很显然,这项技术足够成为1996年微软公司收购Aspect Computing的理由。

  超越驱动器盘符是解决虚拟化和云应用整体难题中的一个关键部分。从某种意义上来说,这仍旧是另外一个抽象层,网络数据库访问将成为互联网管道的一部分,允许应用程序跨数十或甚至数百数据库执行查询和关联(这与原来的“驱动器映射“方法是截然不同的),并最终导致真正的客户端-服务器计算的形成。

  此外,随着诸如ODBC(开放数据互联)的抽象层成为了跨多个操作系统的标准,标准编程数据访问成为另外一种访问方式。当讨论网络编程项目时,开发标准访问所产生的作用始于1993年网络时期早期,其结果就是通用网关接口(CGI),它为大量其他创建网络应用程序的编程成果奠定了良好的基础。它规定了连接网络服务器正常范围之外应用程序的方法,使复杂应用程序结果可连接至网络。这项技术以难以预料的方法扩展了开发人员实现网络应用程序的能力。

相关推荐