19 ms·
Counterpoint: what are some things that Turbo Pascal lacked that we take for granted in a modern language environment?
by AceJohnny2 7y ago
Counterpoint: what are some things that Turbo Pascal lacked that we take for granted in a modern language environment?
- StreamBright 7y agoI would say having an installer that depends on 3 other languages, using a particular libc without the ability to switch it up, unable to cross-compile to other platforms.
- pjc50 7y agoNo intellisense or similar. No extensibility or scripting. 80x25 text mode.
- zozbot234 7y agoVGA-class cards could display a 80x50 text mode. Not sure that it was easily accessible in MS-DOS without assembly hacks, but it could be configured from within Windows.
- dragonwriter 7y ago> VGA-class cards could display a 80x50 text mode. Not sure that it was easily accessible in MS-DOS without assembly hacks. It was directly accessible from the DOS prompt with the MODE command. Don't remember if TP had a library function that exposed it.
- mkl 7y agoYes it did, and I'm pretty sure you could use the IDE in that mode too (5.5 or 6.0).
- ghaff 7y agoYeah, there were some hacky things you could do, e.g. using software from Quarterdeck? Don't remember. I'd have to go back and look at docs I wrote from a program I wrote t the time. I seem to remember supporting some alternative screen resolutions in a an MS-DOS directory manager I sold.
- Andrew_nenakhov 7y agoI have always used this mode when running TP, without any difficulties. I think it was enabled by a simple key when launching .exe, but I don't remember exactly, which means it was something simple and inconsequential.
- 0x0 7y ago"mode,50" would set 80x50 in ms-dos
- pjmlp 7y agoTurbo Pascal for Windows had intellisense. Turbo Pascal 5.5 and later had all MS-DOS graphical modes.
- badsectoracula 7y agoWhat are you referring to as "intellisense"? I'm sure people usually refer to code-completion ("intellisense" is Microsoft's brand for it in VS) and AFAIK no Borland Pascal product before Delphi 3 had this. Delphi 2 certainly doesn't have anything like that.
- pjmlp 7y agoI remember differently, having used it even in Borland C++, before it became C++ Builder. I guess it is time to go into archaeology trip to see how is right. I am quite aware that intellisense is a Microsoft brand, just kept the same wording as the person I was replying to.
- badsectoracula 7y agoI have both Delphi 2 and Borland C++ 5 installed on my main PC here since i'm using them often (they are very fast, i only use BC++ as a C compiler though). These two tools are also made with Borland C++ Builder 1 and Delphi 2 respectively: http://runtimeterror.com/tools/pastepreview/ http://runtimeterror.com/tools/pastepreview/ http://runtimeterror.com/tools/winless/ http://runtimeterror.com/tools/winless/
- pjmlp 7y agoI stand corrected it seems. Apparently it only came up around in 1996, long after the versions I remembered. Thanks for the correction.
- deleted 7y ago[deleted]
- jandrese 7y agoInternationalization. Turbo Pascal was stuck with CP437 IIRC.
- dmitriid 7y agoIDEs: - Intellisense - project-wide refactoring - lookup into external code (IntelliJ idea can even decompile .jars) - multi-language projects - debugging (including stepping into external and decompiled libs) with watch values of nearly unlimited complexity Language: - lambdas/anonymous functions - type inference - extension methods
- pjmlp 7y agoDelphi ticks several of those points. Turbo Pascal for Windows also. Multi-language projects was a available in the full box Borland products, as one could get Borland C++ and Turbo Pascal together. In fact the symbiotic relationships of Java/C++ and .NET/C++ can somehow be mapped to TP/C++.
- mhd 7y agoWhat 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.
- georgeecollins 7y agoMemory! You could only make 64k chunks of code and had to connect them with overalls. PS loved turbo pascal. Everything I know about oop I learned from the manual for tp4. First job I ever had programming required using it, but even then it was being replaced by C.