Pascal及其当前的应用

And*_*oid 33 pascal

我在1997年学习了Turbo Pascal,我非常喜欢它作为一种语言.一切都非常有条理,编译器确保你以正确的方式做事.我后来尝试过Delphi但从未对它感兴趣.

从那时起,我使用了许多不同的编程和脚本语言(C,C++,PHP,Python,Perl,TCL),最近我开始考虑我的旧Turbo Pascal时代.

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

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

维基百科链接或快速谷歌搜索无济于事,我一直在那里.这就是我问"专家"的原因.

Mar*_*ort 30

请注意,较旧(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(在视觉工作室之后),所以我认为"死语言"和"教学语言"位有点夸张.

  • FWIW,Pascal 最初并不是作为一种“教授编程”的语言,它最初是作为一种“教授编译器构建”的语言。当前的 Delphi 和 FreePascal 编译器要复杂得多且用途广泛。 (2认同)

Ing*_*alm 20

从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年前的问题(当便携性都是问题时)都不值得讨论.有趣的是你现在能做什么,除了"但其他人都做......"之外的语言之间的利弊.

  • @alcalde醒来,孩子。Pascal中有很多库,它们都是由实现提供的,并且可以从第三方资源获得。即使您不太了解该语言(您提到Pascal没有100%错误的内存管理),也不要以为您可以判断这些库。 (4认同)
  • @LeleDumbo没有“很多Pascal库”。Torry.net的文件少于13000个,其中大多数是商业演示或追溯到Delphi 3-5。蟒蛇?存储库中超过72K。Java的?128K。走?106,000。node.js?超过20万!Delphi没有对象的自动内存管理。我在Pascal编程已有30年了,我当然很熟悉该语言。不能毫不夸张地诚实地捍卫当今语言的生存能力。当亚马逊提供用于Pascal的API时,我们可以谈论支持。在1990年代等之后,Crystal Reports放弃了对Delphi的支持。 (2认同)

小智 12

Pascal不用于任何实用的东西,因为库不支持.

什么负荷的牛.有很多库可供Delphi,FreePascal和Lazarus使用.

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

"简化环境"?那只是贬义.我会说它一直都是非常复杂的.

  • Delphi/FreePascal没有"过多的库".自90年代以来,Pascal的软件包整理网站Torry.net尚未完全打破13,000个软件包.很多东西都是为旧版本的Delphi编写的,或者是试用版.相比之下,Python的包管理站点PyPI在ONE YEAR中添加了超过12,000个(免费,开源)包.同样,我的分析表明,Torry以每天不到0.5包的速度添加了一个新的,免费的或开源的软件包.Modulecounts.net显示Go为158 /天,Java为115,.Net为47,Python为59. (2认同)

tek*_*ues 9

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

  • 请把"FPK"别名放在休息状态.名称变化已经十多年了,现在:_) (4认同)

Ðаn*_*Ðаn 9

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

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


Jas*_*aty 5

主要的一个是 Pascal 衍生的Delphi(来自 Embarcadero,以前由 Borland 所有)。

请参阅维基百科以获取更多的列表,主要是开源的。


avr*_*vra 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 请记住以管理员/root 用户身份安装它。

  • @alcalde 他们中的许多人依赖于字节码或类似的东西。不完全一样的东西。 (2认同)

小智 5

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

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

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

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

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

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