[fpc-pascal] Origin of FPC features

Frank Peelo f26p at eircom.net
Tue Feb 10 15:16:51 CET 2009


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




More information about the fpc-pascal mailing list