3 ms·
What version of TP? The linked articles is about TP3, which lacks common prog lang features that later versions definitely had (like proper modules or objects).
by mhd 7y ago
What version of TP? The linked articles is about TP3, which lacks common prog lang features that later versions definitely had (like proper modules or objects).
If you take a look at later versions or even early Delphi, I'd say garbage collection. Other languages from the Wirthian family had it, like Modula-2/3 or Oberon.
Lambdas/first class functions.
Unicode support.
Syntactic sugar up the wazoo.
Other than that, I think one could be very productive in a TP 5.5-ish language even today. The rest would be mostly about the infrastructure and community, like IDEs, package management and Medium posts with lots of memes.
- FpUser 7y agoModern pascal implemented in Delphi / Lazarus IDEs has basically all essential features modern language can expect. It does not have garbage collector but I personally consider it an advantage. What it does instead is heaptrace. When it is on for debugging - upon shutdown of the program it will point you exact place/s in source code where you leaked memory should such leak ever occur. Madexcept product does the same thing and more for Delphi
- pjmlp 7y agoThe latest version drops ARC, which pissed me, but I guess it is better to have a sound history, instead of a schizophrenic one depending on the target platform.
- FpUser 7y agoHaving memory management based on deployment platform I think is one of the most insane things Delphi's vendor had committed. Luckily they're backtracking on that. Anyways the decisions like that combined with maturing open source alternative Lazarus/FreePascal had led me to use Delphi only for maintenance. All new GUI projects are going to Lazarus/FreePascal combo.
- pjmlp 7y agoLambdas/first class functions were already there in Turbo Pascal 5.0, via procedure types. Coupled with nested subroutines, there was already a couple of things possible.
- Roboprog 7y agoFunctions could be parameters in Pascal, but not return values. This allowed closures (mostly) without a garbage collector. C and its descendants was such a step backwards.