一位从 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 作为教学语言和严肃的应用程序编程都非常有用。(我认为这是理想的,但这更多是一种意见。)
一直有 Pascal 仇恨者制造不知情的火焰,通常指的是 70 年代的原始语言。就我个人而言,我认为 70 年代的 Pascal 和 20 年前的问题(在便携性成为问题时)都不值得讨论。有趣的是你现在可以做什么,除了“但其他人都这样做……”的论点之外,语言之间的利弊。