Modula 3 is quite portable, too. It's cross-platform portability that counts.
Can you write a non-trivial program in Delphi and have it run in FreePascal without modification? I've had C programs I wrote 25 years ago... on MS-DOS and AmigaDOS, 16-bit... compile and run unmodified 20 years later... on Tru64 UNIX on Alpha with DEC's compiler, and on Solaris with Sun's, and on OS X with GCC.
Can you write a non-trivial program in Delphi and have it run in FreePascal without modification? I've had C programs I wrote 25 years ago... on MS-DOS and AmigaDOS, 16-bit... compile and run unmodified 20 years later... on Tru64 UNIX on Alpha with DEC's compiler, and on Solaris with Sun's, and on OS X with GCC.
I suppose it depends on the exact meaning you're going to use for the term "non-trivial", but being fair and not using platform-specific capabilities/libraries/functions as a litmus (which even C/C++/Modula-3 will have problems with), yes, I can.
I have several programs written which compile on both Windows and Linux platforms that I would consider are "non-trivial" (a full DynDNS implementation, with protocol support for modification as well as a database), and I have older TurboPascal applications I wrote in the early 80s that will compile and run on FreePascal without modification, though they will sometimes require a platform-specific library (text screen handling and audio, mainly) to do so.
Delphi/Kylix only supports x86 code generation on Windows and Linux, but FreePascal is Delphi-compatible, and compiles to a wide array of platforms.
As such, I think it passes that litmus, at least for everything I have need to do with it.
