我的理解是,在1980年代,也许也是在1990年代,Pascal和C在生产语言上几乎是一对一的。
帕斯卡的最终灭亡是仅由于Borland忽视了Delphi吗?还是还有更多的东西,例如运气不好或Pascal固有的错误(希望它复兴)。
我对可以支持的历史事实和观察感兴趣,而不是喜欢和不喜欢。
C
啊
我的理解是,在1980年代,也许也是在1990年代,Pascal和C在生产语言上几乎是一对一的。
帕斯卡的最终灭亡是仅由于Borland忽视了Delphi吗?还是还有更多的东西,例如运气不好或Pascal固有的错误(希望它复兴)。
我对可以支持的历史事实和观察感兴趣,而不是喜欢和不喜欢。
C
啊
Answers:
帕斯卡之战之所以失败,主要是因为:
if ... then begin ... end
,var A: array[0..15] of Integer
)C是Unix的基础。在80年代和90年代,Unix受到越来越多的关注。今天,您的智能手机中出现了一些Unix风格。
Brian W. Kernighan 撰写的《为什么Pascal不是我最喜欢的语言》论述了批评的要点。
C更加通用和可扩展。甚至有人发现如何使用C做(一种)面向对象编程!而且,内联汇编程序和其他低级功能使它成为系统编程的重要语言。
尽管这不是唯一的用途,但Pascal是为教编程而设计的,实际上并不用作主要语言。
Delphi和Object Pascal改变了这一点。但是那时,已经很晚了。
我不认为C胜过Pascal。对于大多数程序员而言,Java胜过Pascal。过去使用Pascal进行编程的程序员类别现在会选择Java(或C#)来完成同一工作。那些以前用C进行编程的人对C(和C ++)一无所知。
Pascal的灭亡是恕我直言,主要是因为Borland坚持使用GUI的工作方式,而其客户却转而使用Web。Borland对于服务器端开发从来没有真正吸引人的报价。直到最近几年,由于Delphi出于所有实际目的而死亡,那些坚持使用Delphi的人才开始使用C#。我一直认为C / C ++与Pascal / Java / C#人群不同,因为C(++)的工作重点是技术/低级。
简而言之:C是便携式汇编程序,PASCAL是教育语言。
编辑:
似乎有些人误解了我的答案。或者实际上是这个问题。
这个问题与受欢迎程度有关。而C最终比PASCAL更受欢迎的原因是,一种C语言是作为一种接近金属的便携式语言而设计和销售的,而另一种C语言是作为一种教育语言而设计和销售的,从而增强了许多安全性和清晰度。
最终,这两种语言是否都没有达到设定的目标或取得意想不到的成就甚至都没有关系。任何试图从C优于PASCAL的优势来推断流行度差异的人都是错误的。
这个问题的关键在于历史及其涉及的歇斯底里。
many major development efforts in the 1980s, such as for the Apple Lisa and Macintosh, heavily depended on Pascal (to the point where the C interface for the Macintosh operating system API had to deal in Pascal data types).
在70年代到80年代初期,C编译器相对容易用于个人计算机,尽管大多数只使用C的子集(这就是为什么在较老的杂志上会看到如此多的“小巧的C”编译器广告的原因) )。过去,Pascal是一种更大,更笨拙的语言,当时只有最富有的计算机爱好者才有硬盘驱动器(而5兆的硬盘驱动器则要数百美元)。对于Apple 2(我的第一台计算机,甚至还不是“加号”),运行Pascal都需要购买一张额外的存储卡(它需要64k的RAM!)并花了几张软盘来加载,而“ Tiny C”编译器仅安装在一张软盘上(可能需要16k RAM)。
Pascal在计算机科学课程中任教,而C大部分是自学的(有时在电气工程课程中任教)。帕斯卡尔(Pascal)以其“束缚和纪律性语言”而在牛仔编码人员中享有盛誉,我认为这是不应该的,因为他们从未见过ADA。
80年代Pascal的主要驱动力是Apple(因为API使用了Pascal调用标准)和Borland。Borland的“ Turbo”编译器可能是市场上可用的最佳编译器,并且“像书”许可使它们比具有更恶意许可的公司更受欢迎。
当微软雇用了他们的主要开发人员和项目经理(例如Hejlsberg,Gross和其他35个以上的人员),最终开发了.NET和Visual Studio时,Borland在开发市场上失去了领先地位。几年后,Borland和Microsoft解决了诉讼,但Borland从未从损失中恢复过来。在我看来,Delphi那时就开始枯萎(因为将精力和精力集中在那些人身上),而CEO的更换同时又使Borland从编译器公司转变为ALM(应用程序生命周期管理)公司。 ,几年后将其名称更改为Inprise。现在,Borland的骨灰归Micro Focus所有。
神圣的烟气是一派胡闹,从这个站点开始的所有人中都有以Delphi为他们最喜欢的语言的人吗?
几乎每个人都提到了Borland,2/3的人认为Delphi发挥了作用。好吧,对不起大家,几年前,Embarcadero收购了Borland的CodeGear部门(是为了金钱,而不是慈善事业),他们一直在做一些非常了不起的事情,将一些非常令人惊奇的工具合并到了他们非常令人惊奇的IDE中,并创建了一个非常令人惊奇的平台用于对象跨平台的跨平台开发。更不用说在开源方面的Lazarus和FreePascal了。
因此,如果这是一个历史性的问题,为什么C胜过Pascal,那么好吧,这是一个可以接受的主张。但是Object Pascal中代码的编写量一直在增长,我不知道TIOBE索引对它有很大的意义,但是应该清楚的是,每当Embarcadero发布新工具时,人们仍然在用Object Pascal编写代码,并且兴趣激增,因此,对编写新的(而不只是维护旧的)代码感兴趣的实际人员对Delphi感兴趣。
我不确定您是否可以针对与C相关的任何事情说同样的话。
我的看法是,Microsoft和Sun / Oracle等最大的软件公司以及各种开发堆栈都采用了C及其衍生的主要语言C ++,Java和C#。结果,它成为Windows,Apple OS和Unix的“母语”。
尽管Borland做出了最大的努力,而且常常被误导,但Pascal并没有达到那样的市场渗透率。
Pascal仅在单个相当有限的PC / DOS环境中流行。
即使在那时,在PC上运行的MicroFocus COBOL应用程序与pascal应用程序一样多。
C是UNIX操作系统和所有MS / Windows操作系统的基础。
在有限的硬件上高效执行以及对底层OS和GUI库的本地访问的结合可能是C成功的主要原因。Pascal从未真正在Windows上破解过它,而Delphi来得太迟了,无法有所作为。