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