4 ms·
I am forever grateful for Turbo Pascal. In the 90's, I had no Internet. The library (neither school nor public) had no programming books. My high school had
by coreyp_1 4y ago
I am forever grateful for Turbo Pascal.
In the 90's, I had no Internet. The library (neither school nor public) had no programming books. My high school had no CS/programming classes. The computer class (word processor/spreadsheet usage) teacher did not know anything about programming, but she knew that I liked computers. One day, she gave me a big yellow box and said "I don't know anything about this, but I thought that you might like to play with it."
All that I had was 3.5" diskettes and the manuals. Those manuals were written so well that I taught myself programming by reading them and their examples. I still remember the day that I figured out what a pointer was, simply by their example code.
I am forever grateful to that teacher, as well as the writers of those manuals. Today, I have a PhD in CS, but I have never had a programming class (I have taught them, however). It was the design of the Pascal language that allowed for that.
I'm glad that it is still going.
- noufalibrahim 4y agoI've never used Pascal but i completely resonate with your experience of old manuals. They were well written and one could use them to study and not just refer to.
- visarga 4y agoThey had a usage example for each API function, that was great for readability. Today we can get that experience back with chatGPT, but there was a gap of 30 years since then. Another major usability thing was the debugger. One of the best debuggers to this day, it had just the basics, but they were well integrated into the IDE. Alt-F5 to flip the screen from code to output, right? if I remember.
- msla 4y agoTurbo Pascal was great, but it says something nasty that the useful Pascal implementations are all non-standard and, most of them, proprietary.
- nequo 4y agoWhat exactly does it say? I have no personal experience with any historical or current Pascal implementation. I would be curious to hear your point of view.
- WalterBright 4y agoNiklaus Wirth's Pascal was more of a teaching tool than a useful programming language. It took a lot of extensions to fix that, and each Pascal inventor invented their own extensions. I know this from having read his book and using an early Pascal compiler, and being very frustrated with it. Pascal did, however, have a very nice feature - nested functions. It's the one feature from Pascal that I incorporated into D, and they're such a nice feature I continue to be surprised they aren't adopted by other languages.
- pjmlp 4y agoHence why Modula-2 came out in 1978 to fix those issues.
- amval 4y agoIt is a very nice feature. As far as I know, it is a common pattern in Scala and I also do it in Julia (although there might be some small performance penalty). It just makes complex code much more readable without polluting the module's scope. So I am not sure how common it is, but there are at least some languages that allow this.
- vidarh 4y agoClosures take their place in many languagrs. Gcc supports nested functions in C as an extension, though, and I agree it's nice.
- msla 4y ago> Niklaus Wirth's Pascal was more of a teaching tool than a useful programming language. Which is one reason I don't like self-conscious "teaching" programming languages: They rarely escape the stench of condescension that pervades such endeavors, which means they lack features some designer or team of designers though were "too advanced" for early learners but which are essential to writing any nontrivial code. See also: BASIC, another language where the standard is honored more in the breach than the observance, to the point that "Basic" is more of a "vibe" than any actual set of syntax and features you can point to. (In fact, modern nice Basic dialects have nearly converged with Object Pascal.) > Pascal did, however, have a very nice feature - nested functions. It's the one feature from Pascal that I incorporated into D, and they're such a nice feature I continue to be surprised they aren't adopted by other languages. Not that you don't know this, of course, but GCC has long has nested functions as an extension to the C programming language. Which, again, is an example of a nice quality-of-life feature added to a somewhat lacking language as a nonstandard extension. Oh, well.
- pjmlp 4y agoMe too, because learning Turbo Pascal 3.0 after Turbo Basic, using all the versions up to Turbo Pascal for Windows 1.5, showed me a path to systems programming without C, and safety. Also why alongside Turbo Pascal, when I came to learn C via Turbo C 2.0 and a book on RatC, the high school teacher also happened to have a copy of the newly released Turbo C++ 1.0. So in 1993, it became clear to me that the alternative to Turbo Pascal, as cross platform language could only be C++, C already looked primitive by Turbo Pascal standards in early 1990's, and at least C++ provided the language features to be almost as safe as TP, with similar feature level.
- livrem 4y agoI used Turbo Pascal 2.0 from 1984 as late as 1991. It was what my dad's work-from-home PC happened to have installed and there was no internet to just go download newer software when you wanted it. Only had some old 1970's Pascal textbook and the example-code bundled with Turbo Pascal 2.0 to learn how to use it and that was enough to make some silly little games and learn a lot about programming (beyond what I could do earlier with GWBASIC). Had fun in recent months installing fpc on all my computers and playing with it and it seems really good. Cross-platform support is amazing, possibly the best I have ever seen.