龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 4352|回复: 35

闲聊:Free Pascal,FPC党,P党

[复制链接]
发表于 2015-5-12 11:53:01 | 显示全部楼层 |阅读模式
P党,网络语,Pascal党。
FPC党,网络语,Free Pascal Compiler(自由珀斯卡编译器)党。
Pascal是一种计算机语言的名字,Pascal是一种计算机通用的高级程序设计语言。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。Pascal的取名是为了纪念十七世纪法国著名物理学家、哲学家和数学家布莱士·帕斯卡(Blaise Pascal 1623—1662),物理中的压强单位,就叫帕斯卡。
 楼主| 发表于 2015-5-12 12:15:49 | 显示全部楼层
为啥叫P党,我猜是指喜欢、热爱、信仰,
喜欢、热爱、信仰Pascal语言。
所以P党擅长用Pascal写程序。

最初P党创始人瑞士的Wirth教授就用Pascal写了Pascal编译器,Pascal可以编译它自己的编译器,神奇吧,当然第一个Pascal编译器不是用Pascal写的,等这个初始的,非Pascal写的编译器完成对用Pascal写的编译器的编译工作后,这个非Pascal语言写的编译器也就完成历史使命了。以后的Pascal编译器的修改和完善,是通过Pascal编译Pascal的方式来完成的。这就是编译器的自举(bootstrap)。
 楼主| 发表于 2015-5-12 12:31:50 | 显示全部楼层
最初的Pascal编译器,是在一种型号为CDC6600的机器上运行,后来Pascal被移植到很多机器上,为了便于移植,Wirth又想出一个巧妙方法,他写了一个Pascal编译器,这个编译器生成的可执行代码叫P代码。P代码是一种虚拟机的指令代码,而虚拟机器再通过解释程序,在目标机器上运行。哇,java虚拟机是从Pascal那里学来的呀。当然,现在的java二进制码,有JIT技术(即时编译技术)可以把java码先编译成目标机器码,速度比解释执行又要快不少。当然目标程序执行最快的还是直接把源代码编译成目标机器码的这种方式。
 楼主| 发表于 2015-5-12 12:33:10 | 显示全部楼层
 楼主| 发表于 2015-5-12 12:34:08 | 显示全部楼层
每天写两段,刷刷人气。
 楼主| 发表于 2015-5-13 12:57:45 | 显示全部楼层
Pascal第一次大普及靠的是UCSD-P系统,特别是Apple II上的UCSD-P系统,有全屏幕编辑器,而且大部分系统软件是用UCSD Pascal写的,这些程序员绝对是资深P党。UCSD Pascal最有名的扩展就是引入Unit。
 楼主| 发表于 2015-5-13 13:12:13 | 显示全部楼层
可惜UCSD-P系统是解释执行,所以没有成为Pascal神器。而且当时有个贬损Pascal的C程序员,还居然写了一篇《我为什么不喜欢Pascal》(Why Pascal is Not My Favorite Programming Language)的文章,让很多P党郁闷。不过后来等到一代神器Turbo Pascal、二代神器Delphi、三代神器Free Pascal/Lazarus这三代Pascal神器问世之后,P党也有人写了一篇《我为什么不喜欢C语言》以作回敬,这是后话。
 楼主| 发表于 2015-5-13 13:28:11 | 显示全部楼层
二代神器Delphi由于用起来太方便了,Win32平台上的很多木马和病毒都是用Delphi写的。用C语言写程序,黑客说好麻烦哦,而且很多黑客是业余自学,比如写熊猫烧香的那位,自学的Delphi啦。

不过C编译器容易移植,所以很多平台支持C编译器,而软件的可移植性,可以让一个用C语言写的软件只要重编译一下,基本就可以在很多平台上运行,在这点上,Pascal表示当时很无力。

但是!
自从Free Pascal 2.0问世后,Pascal也拥有了,只写一次,到处运行(write once run everywhere)的能力。呵呵。

而且对C+GNU写的那些软件的不同版本,还可以吐个槽:可移植,不兼容,有源码,无维护。
呜呜呜
发表于 2015-5-13 20:59:46 | 显示全部楼层
看帖涨姿势
发表于 2015-6-4 23:50:57 | 显示全部楼层
现在国内用pascal的不多了吧。

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-3-21 19:54 , Processed in 0.187541 second(s), 17 queries .

快速回复 返回顶部 返回列表