毫不过份地说,Pascal是Algol语言家族中几十年技术进化中,最为成功的继承人。1968年,Algol组织的早期成员之一,被奉为软件圭臬的“程序=算法+数据结构”的提出者,瑞士苏黎士理工学院(the Swiss Federal Institute of Technology, ETH-Zurich)的尼古拉斯-沃斯(Niklaus Wirth)教授开始着手开发一个演化版的Algol,他决定简化和剔除原Algol一些晦涩难用的功能,并增加自定义数据类型的能力,以弥补已有简单数据类型的不足。另外,可以支持动态数组、使用保留关键字等等。 到1970年,这个语言的第一个实现已经在CDC 6000上完成开发。

1971年, Wirth教授通过多途径发表了一种高级结构化语言的规范说明,人们惊奇地发现,这种语言酷似Algol而又青出于蓝,条件判断语句“Case”和返回值参数传递的语法与Algol同出一辙,但记录结构却与 Cobol和PL/1有三分神似,还似乎有意借鉴了Fortran在某些特性上的得失,读起来如同自然语言,写起来也很容易上手,通过严格的类型检查,可以确保数据类型不会在声明与使用时发生误差,整体上具有清晰明快而完整一致的语法风格。这位光复Algol的王位继承人,最终以17世纪的法国伟大的数学家和哲学家布莱斯.帕斯卡(Blaise Pascal)命名。

Wirth教授可能也没想到,这个本计划只被用于大学教授数据结构的小资语言,自此名声鹊起,成就了后三十年的一代传奇,也为他后来(1984年)赢得图灵奖(Turing Prize)的至高荣誉埋下了伏笔。而赫赫有名的C语言直到1972才在Unix的开发过程中无心插柳应运而生。显然,这两者最初瞄准的是不同的方向:C是Dennis Ritchie用Assembly写累了Unix而找到的取巧途径,意在用高级语言的表达驾驭系统底层的桀骜马车;而Pascal,从诞生的那一天起,就是为营造一个有秩序的、易维持的应用计算新世界。甚至于出现了C构建的Unix、Linux和Windows,Pascal(准确的说是Wirth教授和Apple共同开发的Object Pascal)造就Lisa和Macintosh的有趣现象(注:目前的Mac OS X 已改用源于FreeBSD的Darwin 内核操作系统,某种意义上也折射着Pascal的没落),谁又能料想,三十年后两大王朝的子孙却在Microsoft新贵.NET的麾下拱手称臣,讲起了殊途同归的Common Language呢?

本文原创作者:火鸟李国平,网上转载请注明出处

本文参考:

taoyue.com: Learn Pascal tutorial - History

http://www.taoyue.com/tutorials/pascal/history.html

A Brief History of Pascal

http://burks.bton.ac.uk/burks/language/oberon/obhist/history.htm

historic documents in computer science and engineering

http://www.fh-jena.de/~kleine/history/

涅槃的火鸟-Pascal前世今生之二(风生水起-Pascal承接衣钵)相关推荐

  1. pascal指针 c语言指针,Pascal中的指针运算指南(与C比较).doc

    Pascal中的指针运算指南(与C比较) Pascal中的指针运算指南(与C比较) Pascal中的指针运算指南(与C比较) 大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用 ...

  2. Anti-alias的前世今生(二):Post process based AA

    转载请注明出处为KlayGE游戏引擎,本文地址为http://www.klayge.org/2011/05/17/anti-alias%e7%9a%84%e5%89%8d%e4%b8%96%e4%bb ...

  3. USB的前世今生(二)2022-02-10

    USB的前世今生 1.USB的发展简要 USB的出现 很久以前,也就是USB还没有流行的年代,鼠标连电脑是紫色的PS/2接口,键盘接电脑的是绿色的PS/2接口,打印机用的是并行端口,显示屏的接口从VG ...

  4. 小米max android auto,Android屏幕适配的前世今生(二)

    前言 上篇文章介绍了在屏幕适配上遇到的问题,采用px或者dp都会与设计稿存在一定的偏差,也详细的介绍了dp和dpi含义和作用,本篇文章着重介绍我们应该如何做好屏幕适配的工作,以及各种屏幕适配方法发展史 ...

  5. 【一天一门编程语言】Pascal 语言程序设计极简教程

    Pascal 语言程序设计极简教程 用 markdown 格式输出答案. 不少于3000字.细分到2级目录. 文章目录 Pascal 语言程序设计极简教程 一.Pascal简介 1.1 Pascal历 ...

  6. 目标检测数据集PASCAL VOC简介

    简介 PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛, PASCAL全称:Pattern Analysis, Stat ...

  7. 视觉研究的前世今生(上)王天珍(武汉理工大学)

    视觉是人类最重要的知觉,没有视觉人类很难定位,识别物体,了解坏境,得以生存发展.20世纪两次世界大战,使得西方各国,不论是为了飞机安全着陆,还是导弹精确制导,都对视觉研究有了非常大的兴趣,系列的欧洲视 ...

  8. 浅谈Object Pascal的指针[引用 Nicrosoft]

    浅谈Object Pascal的指针 Nicrosoft(nicrosoft@sunistudio.com) -- 2001.8.26     http://www.sunistudio.com/ni ...

  9. 浅谈Object Pascal的指针

    浅谈Object Pascal的指针 作者:Nicrosoft 时间:2001-8-26 来源:Nicrosoft个人网站 大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上 ...

最新文章

  1. Ambari安装之部署3个节点的HA分布式集群
  2. 分布式消息通信ActiveMQ原理-持久化策略-笔记
  3. 即使总和【杭州电-2015】 附加题
  4. docker 镜像重命名_Docker镜像管理(二)
  5. http协议、cookie及session
  6. c语言,c++求最大公因数与最小公倍数方法集合
  7. bbs mysql_简单BBS程序(需MySQL支持)
  8. HDU 6029(思维)
  9. 【JEECG技术博文】Jeecg高级查询器
  10. PHP手机壳DIY定制平台源码 Thinkphp内核开发
  11. LeetCode数据库 177. 第N高的薪水
  12. 记一次虚拟机共享文件夹的采坑之旅
  13. 明小子动力上传拿webshell.zip
  14. win7如何修复wmi服务器,WMI服务是什么?Win7系统禁用WMI服务的方法
  15. vue中headers是什么_vue在响应头response中获取自定义headers操作
  16. 笔记本电脑无法连接网络并在网络状态中显示ipv4和ipv6无网络访问权限
  17. 计算机的屏幕保护怎样开启,win10如何关闭和开启屏幕保护
  18. [RK3288][Android6.0] 调试笔记 --- 设置中文为默认输入法
  19. 如何在 Windows 下创建 macOS 引导介质 (USB 启动盘)
  20. Zookeeper学习思维导图

热门文章

  1. [bzoj2563]阿狸和桃子的游戏
  2. 【Kafka从入门到成神系列 八】Kafka 多线程消费者及TCP连接
  3. if else语句 for循环
  4. 盛迈坤电商:影响店铺权重的因素是什么
  5. ABC 215 E - Chain Contestant (状压DP)
  6. systemctl enable 配置开机自启动
  7. XGBoost(eXtreme Gradient Boosting)
  8. 微信实现秒回以及控制电脑
  9. thinkphp框架使用支付宝
  10. 常用排序算法总结和对比