3 ms·
Don't forget the most irritating restriction of all - no circular dependencies between PAS files. That one could get really painful later on in bigger projects.
by thu2111 6y ago
Don't forget the most irritating restriction of all - no circular dependencies between PAS files. That one could get really painful later on in bigger projects.
The Delphi compiler was really great, but it was meant primarily for GUI business apps and not any other kind of coding. Result: the compiler hardly optimised. Borland didn't advertise new Delphi releases by referencing benchmark scores for example, but rather new productivity features.
Building fast compiler is not sorcery. Look at Java. JavaC starts out interpreted every time you run it, but it can still compile a large amount of source code very fast. Then at runtime HotSpot C1 can produce machine code from bytecode at a staggering speed. The resulting code even has respectable performance, with the slower (but still fast) C2 compiler only kicking in for where it's really needed.
- pjmlp 6y agoTurbo Pascal has supported circular dependencies since Turbo Pascal 5.5 for MS-DOS.
- signaru 6y agoOh yeah, taking this for granted with C# all the time! This what made C# my go-to prototyping language. Circular dependencies might be "bad", but it takes more planning to avoid them when coding from scratch. C++ is also bit of a pain with this. Furthermore C# doesn't need an equivalent of C/C++ headers or Pascal's interface.