当我搜索Free Pascal时,我非常困惑。 freepascal.org表示它是一个编译器,用于在各种体系结构的系统上编译Pascal语言代码。但是,我也发现在网上寻找免费Pascal程序员的工作很少。请详细说明一下。提前谢谢!
答案 0 :(得分:12)
Free Pascal是一个支持多种方言的编译器。
像你这样的很多混乱来自过于简化的文章,这些文章将FPC / Lazarus作为dropin Delphi的替代品。 Lazarus / fpc的整个开发历史与TP和Delphi不同。
大多数方言模式都是具有次要扩展的现有方言(通常是所有方言都支持的功能),而某些方言(如Objective Pascal)完全是免费的Pascal发明。
一些方言:
主要缺失的是ISO10206(1990),第二个Pascal语言标准(大多数主要供应商都忽略了)
方言模式是每单位决定,可以在一个程序中使用多种方言。模式objfpc是Lazarus的默认模式,因此是当今最常用的方言。
模式objfpc中不兼容扩展的典型示例是要求@ for procedure(或method-)变量赋值。对于proctype是函数的返回值的某些情况,这是一种消歧。
某些$ mode objfpc差异已在后来的Delphi版本中实现(如{$ pointermath on},后者默认为$ mode objfpc)。 $ Mode objfpc在C ++之后也非常早期(2007年初)实现了泛型模型
答案 1 :(得分:5)
Free Pascal是一个编译器,正如网站所说。但是,各种编译器制造商(甚至包括FOSS编译器作者)将扩展纳入编译器编译的语言的标准定义并不罕见。当您看到“ x 程序员”的作业广告,其中 x 是特定的实现(例如,Free Pascal)时,通常意味着“这是我们使用的编译器” ;您应该熟悉它以及它所支持的语言的扩展名。“
在某些情况下 - 例如,早期的Turbo Pascal - 它也可能指特定产品作为完整的开发环境(IDE)的使用,如果它包含一个,并且您应该熟悉各种IDE的组件也是如此。