我在1997年学习了Turbo Pascal,我非常喜欢它作为一种语言.一切都非常有条理,编译器确保你以正确的方式做事.我后来尝试过Delphi但从未对它感兴趣.
从那时起,我使用了许多不同的编程和脚本语言(C,C++,PHP,Python,Perl,TCL),最近我开始考虑我的旧Turbo Pascal时代.
所以,我想知道Pascal在今天可能有用的实用目的以及可用的API和框架.有没有人在现代开发环境中使用Pascal或者它只是一种死语言?
澄清我的问题:Pascal可以用于现代应用程序开发.它是否被使用以及如何使用?
维基百科链接或快速谷歌搜索无济于事,我一直在那里.这就是我问"专家"的原因.
请注意,较旧(1.0.x)版本的Free Pascal编译器 源与Turbo Pascal兼容(如可以使用TP调试),它演示了基本的Pascal功能.
使用Pascal作为基本语言的问题与C大致相同,因为它们在语言级别上几乎相同.唯一的区别是编译器的数量,通用性和质量.
我强烈建议尽可能使用Delphi方言(使用Delphi或Lazarus/FPC),而不是回到Turbo.
DOS-isms和16-bitisms会严重限制你,而FPC或Delphi几乎支持所有不受DOS-isms和16-bititms影响的方言.
Turbo Pascal是DOS时代(如果不是THE)的主要编译器之一,Delphi仍然是世界上销量第二大的IDE(在视觉工作室之后),所以我认为"死语言"和"教学语言"位有点夸张.
从Java/C/C++切换到FPC的满意用户的意见:
Pascal,Free Pascal(FPC)尤其适用于绝对一切.应用程序编程具有良好的性能(因为它正在编译),游戏编程(例如通过OpenGL),以及Web编程,因为它可以编译为Java字节码.它可以在所有重要平台上运行(MS,Linux,Mac,iOS,Android等).
FPC是高度更新的,与70年代/ 80年代的语言相比,它是一种非常现代的语言,有些人可能认为我们正在讨论这种语言.它具有OOP扩展(包括使用Objective-C类的"Objective Pascal"模式),而OOP是非强制性的,就像C++一样.它还具有运算符重载,函数重载,动态数组,有限的垃圾收集,自动命名空间......而且,它是一种模块化语言(如Java),而C/C++在这些年后仍然是非模块化的(用#include伪造它.(我会对今天"现代"语言必须具备的功能进行认真的讨论感兴趣.)
我提到了便携性吗?FPC附带了一个大型运行时库,其中大部分是跨平台的,包括一个类库(主要用于Lazarus AFAIK).FPC非常适合编写可移植代码.
作为一种教学语言,一个主要优点是它与C/C++的接近程度.它实际上只是在最琐碎的语法(和不同的对象模型)上有所不同,但它真的非常接近C++.在C/C++和Pascal之间移植比在ObjC和C++之间移植更容易.但是FPC具有更容易学习的优点,语法更简单.
所以我声称FPC在教学语言和严肃的应用程序编程方面都非常有用.(我认为这是理想的,但更多的是意见.)
一直有帕斯卡尔的仇敌通常会提到70年代的原始语言而不知情的火焰.就个人而言,我认为70年代的Pascal和20年前的问题(当便携性都是问题时)都不值得讨论.有趣的是你现在能做什么,除了"但其他人都做......"之外的语言之间的利弊.
Pascal不用于任何实用的东西,因为库不支持.
什么负荷的牛.有很多库可供Delphi,FreePascal和Lazarus使用.
正如McWafflestix所说,拥有简化的环境是有价值的
"简化环境"?那只是贬义.我会说它一直都是非常复杂的.
好吧,让我们记住Lazarus是Delphi的免费克隆:
http://www.lazarus.freepascal.org/index.php
和FreePascal:
Free Pascal(又名FPK Pascal)是一个32位和64位专业Pascal编译器.它适用于不同的处理器:Intel x86,Amd64/x86_64,PowerPC,PowerPC64,Sparc,ARM.
http://www.freepascal.org/
目前还没有人提到TeX(以及METAfont和其他TeXware)是用Pascal编写的.
在90年代早期,我使用Pascal的自定义方言开发了商业X/Motif CAD应用程序.