38

我在 1997 年学习了 Turbo Pascal,我非常喜欢它作为一门语言。一切都非常结构化,编译器确保你以正确的方式做事。后来我尝试了 Delphi,但从来没有对它很感兴趣。

从那时起,我使用了许多不同的编程和脚本语言(C、C++、PHP、Python、Perl、TCL),最近我开始想起我以前的 Turbo Pascal 日子。

所以,我想知道 Pascal 在今天有哪些实际用途以及可用的 API 和框架。有没有人有在现代开发环境中使用 Pascal 的经验,或者它只是一种死语言?

澄清我的问题:Pascal 可以用于现代应用程序开发吗?它是否被使用以及如何使用?

维基百科链接或快速谷歌搜索无济于事,我去过那里。这就是我问“专家”的原因。

4

11 回答 11

35

请注意,Free Pascal 编译器 的旧 (1.0.x) 版本实际上与 Turbo Pascal 兼容(因为可以使用 TP 进行调试),这展示了基本的 Pascal 功能。

使用 Pascal 作为基本语言的问题与 C 大致相同,因为它们在语言级别上几乎是等价的。唯一的区别是编译器的数量、用途和质量。

不过,我强烈建议使用 Delphi 方言(使用 Delphi 或 Lazarus/FPC),而不是回到 Turbo。

DOS-isms 和 16-bitisms 会严重限制你,几乎所有没有 DOS-isms 和 16-bititms 的方言都被 FPC 或 Delphi 支持。

Turbo Pascal 是 DOS 时代的主要编译器之一(如果不是的话),Delphi 仍然是世界上销量第二高的 IDE(仅次于 Visual Studio),所以我认为“死语言”和“教学语言”位有点夸张。

于 2009-06-11T09:48:49.487 回答
23

一位从 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 年前的问题(在便携性成为问题时)都不值得讨论。有趣的是你现在可以做什么,除了“但其他人都这样做……”的论点之外,语言之间的利弊。

于 2012-08-08T20:14:06.460 回答
13

Pascal 不用于任何实际操作,因为没有库支持。

多牛啊。Delphi、FreePascal 和 Lazarus 可以使用大量的库。

正如 McWafflestix 所说,拥有一个简化的环境是有价值的

“简化环境”?那只是贬义。我会说它是并且一直是非常复杂的。

于 2009-07-02T11:49:47.940 回答
11

好吧,让我们记住 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/

于 2009-06-08T23:15:08.023 回答
11

还没有人提到 TeX(以及 METAfont 和其他 TeXware)是用 Pascal 编写的。

在 90 年代初,我使用自定义的 Pascal 方言开发了商业 X/Motif CAD 应用程序。

于 2009-10-22T02:56:30.383 回答
5

主要的是 Pascal 导数Delphi(来自 Embarcadero,以前由 Borland 拥有)。

请参阅Wikipedia以获取更多列表,其中大部分是开源的。

于 2009-06-08T23:13:27.873 回答
5

Pascal 可以用于现代应用程序开发吗?它是否被使用以及如何使用?

当然可以,而且被广泛使用。看看Lazarus CT(免费的 Delphi 克隆),它从单一来源生成现代跨平台本机应用程序。它有大量的组件和很多很多的例子。它是 RAD,有8 个主机 OS/CPU 层(win32/64、lin32/64、freebsd 32/64、solaris 32/64)和22 个目标 OS/CPU 层(i386-win32、x86_64-win64、i386-linux、 x86_64-Linux, arm-wince, arm-linux, powerpc-linux, powerpc64-linux, sparc-linux, i386-freebsd, x86_64-freebsd, sparc-solaris, i386-solaris, x86_64-solaris, i386-haiku, arm- gba、arm-nds、arm-embedded、armeb-linux、arm-android、i386-android、powerpc-wii)。还有什么工具可以与之匹敌?

ps 只要记住以 admin/root 身份安装它。

于 2012-08-09T08:38:36.770 回答
5

从版本 1 到 2012 年的 RAD Studio XE3,我一直在使用 Pascal。那是我的第一语言。帕斯卡中的知识几乎就是它运行的系统中的知识。

这是一门令人惊叹的语言,它为我掌握 C、嵌入式 C 和模拟/数字电路设计奠定了基础——所有这些都是自学的。后来我研究了 PHP、JS 和 TCP 模型,对理解它们背后的任何核心概念没有任何困难。

当然,Pascal 现在是 Object Pascal,就像 Basic 是 Visual Basic。以下是 Pascal 在 2012 年在其商业产品中所做的事情。(非商业版的帕斯卡也一样好,如果不是更好的话)

支持几乎所有的 Web 技术。支持几乎所有的数据库技术。单一代码库中的跨平台。大型社区、组件和库。

用 Pascal 开发的一种流行应用程序是 Skype。

微软拥有自己的语言,去年以 8 亿美元的价格收购了 Skype。

于 2012-12-26T06:01:00.293 回答
4

搜索关键字'pascal',用'programming language' => 'pascal'过滤结果,你会发现一堆pascal的应用,如果不是企业级,至少是严肃的程序员级别。

有这么多开源和跨平台的IDE、库,我认为pascal还活着(除了流行的delphi方言),可以做实际的任务。正如结果所暗示的,pascal可以做操作系统、编译器、跨平台库,桌面编程。所以,看起来帕斯卡至少可以做很多严肃的任务,如果不是太实用而不能立即赚回钱。

无论如何,我喜欢这种语言,虽然我没有用它做过任何认真的编程。

于 2009-11-03T03:18:24.777 回答
2

我认为 Turbo Pascal 流行的主要原因不是 Pascal 语言,而是 IDE。据我所知,使用它真的很容易,速度很快,甚至调试也很有趣。

另一方面,Pascal 语言已经过时了,所以 Borland 为 Pascal 语言添加了很多东西(并使他们的语言更类似于 Module-2)。

于 2009-10-09T15:22:26.427 回答
-1

帕斯卡作为一种教学语言很有用;它说明了一些更基本的计算机科学规则,比 C 语言更晦涩难懂。

于 2009-06-08T23:10:13.120 回答