Florian Klaempfl wrote:
leledumbo schrieb:

I'm writing a paper about FPC and I need references where each language
feature comes from. So far, these are my what I know (some are guessing
though):

Feature         Original Dialect        Additional Information
Separate compilation    UCSD Pascal     Unit based, not module (like Extended
Pascal)

Yay, go units! Pascal supports separate compilation -- as opposed to C, which just tolerates it.

Primitive OOP   Turbo Pascal    C++ like
Modern OOP (including exceptions)       Delphi  Java like, though FPC was
born before Java ;-)


Class like OOP: Delphi and the draft Object Pascal standard; exceptions: C++

By "Class like OOP", do you mean properties? Or only being able to declare them on the heap, instead of allowing the programmer to choose?

Just curious about what the dividing line between "Primitive OOP" and "Modern OOP" is considered to be, because TP's objects already had inheritance, polymorphism, public vs private and all that good stuff. Apart from the name change and having to be on the heap, ISTM it was more an evolutionary process for a few years, OOP just got new features with each new compiler release.

Assembler integration   UCSD? Turbo?    AT&T and Intel

TurboPascal got inline assembler in v6 IIRC. (Previously one had to do the assembly externally, and use "inline()" or "external" to put the bytes into the program.)

External references     UCSD? Turbo?    -

What they then? functions & procedures in another unit? Or externally-assembled code?

UCSD Pascal had an "External" for procedures and functions defined in separate assembler files. TP 3 also had it; maybe previous versions too but I'm not that old.

Frank

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to