Ah, those were the days! TP v4, v5, v6... i'd graduated to C by the time 7 came out.
> That almost nobody has the skills these days to implement something like TP is something we could eventually come to regret – or, rather, our grandchildren could. Software development is becoming a semi-skilled industry, and I doubt that the rise of AI will entirely compensate for this.
If anything, the rise (read as: shoving-down-our-throats) of AI/machine learning will hurt the collective ability to code, rather than compensate for it in the least. So many modern developers take pride in using their CoPilots and related AI/machine-learning tools to assist in coding, all the while ignoring that such usage actively keeps them from improving their own coding skills, in the same way that copying a classmate's test answers might let the copier pass the test without actually teaching them anything.
When that day comes that AI can pump out a complete, working, bug-free application based on natural-language descriptions, we will have lost the ability to code entirely, as any code such a thing generates will never be maintainable by a mere human being.
_Sigh_.
Well, it'll be fun while it lasts. The Machines can pry my makefiles and C compiler from my cold dead fingers.
PS: _GET OFF MY LAWN!_
Mee too, and it is painful to realize how much ahead of its time the IDE was. I am talking about the TUI version and yet:
- It already supported a dual monitor setup - one monitor for the IDE, one for the app - live debugging was a charm.
- The debugger had everything current debuggers have, but it was fully IDE integrated - no messin' with GDB or JDWP.
- The context sensitive help was the best, I never encountered a better one. I think a large part of it was that it really was context sensitive and it tried to solve the problem at hand, regardless if it was caused by the IDE or the language.
I've never seen C as an improvement. Macros encourage all too clever code that's impossible to parse at first glance. The string handling is horrible. The fact that there are multiple contradictory ways to express pointers.
The only thing holding Free Pascal/Lazarus back is the documentation. There's no way to work on a small part of it, Wiki style, so it's always going to be an albatross. The auto-generated descriptions of variables used in library function calls just don't work as proper documentation.
On the plus side, it's fast and has all of the linking built in. You can stuff gigabytes of binary in strings and never have to allocate anything. It does object oriented stuff, generics, is strongly typed. It can spit out code for almost any platform, including WASM, Android, etc.
You sound like Socrates lamenting that the invention of writing is hurting people's collective ability to think, since their brains no longer need to hold many things simultaneously.
That's an opinion not a fact backed by any data.
In fact it feels like "you hurt your hacking skills by using an IDE rather than a simple text editor, or higher level language than assembly, or managing your memory manually rather than using GCs".
Also, maybe coding skills will become more and more irrelevant for most developers the same way knowing how memory or CPUs work is largely irrelevant for all but a tiny part of the industry.
In fact, if AI assistants will keep getting better, the best skills to have will be ability to direct those assistants and overseeing their output while meeting business and product needs.
The fourth thing is that it lives on as Delphi:
https://www.embarcadero.com/products/delphi
And there's Free Pascal and Lazarus. One of the goals of Free Pascal is to be Turbo Pascal and Delphi compatible:
A video of their control center with English subtitles: https://www.youtube.com/watch?v=u9SGsxauu7o
Regrettably, Delphi is closer to a zombie now than to something that's alive.
In the early 1980s there was a push for “anything but BASIC” for teaching languages. Before TP, in my mind PASCAL had the stink of failure between the watching-protons-decay slowness of UCSD Pascal and the inadequacy of ISO Pascal to do anything but solve leetcode problems.
C on the other hand accomplished what PL/I had set out to do in a “worse is better” way. TP added enough of what ISO Pascal was lacking to be fine for systems and applications work like C but it was saner, didn’t have the null terminated strings which made strcpy() + a later return Turing complete in C.
TP felt just a little more disciplined than C, like a pop version of Ada.
A younger self used to look forward to the latest (paper) shareware catalogue arriving by (snail) mail, posting back the order form and waiting for the floppies to arrive. True story :-)
Hit F1 on some bit of code and instantly see help on the keyword, very quickly find stuff via the index etc.
"People" here meaning Anders Hejlsberg almost single-handedly.
Of course, the “heap of temporary files” is itself originally an adaptation for low main memory. The genius of Turbo Pascal is exactly that on those early PCs main memory was large enough / mass storage was small enough that for the program sizes in question the architecture of many passes communicating via disk files just wasn’t worth it. As far as I know, that was never true on minicomputers that our compiler tech was born on, and it’s very much not true on PCs now. (Consider: DOS machines had 100s of K to perhaps 4M of RAM and a couple megs to several dozen megs of floppy or disk, amounting to a proportion of perhaps 1:20. The laptop I’m typing this on has 4×10¹² bytes of mass storage and 64G bytes of RAM, a ratio of about 1:60, and I specifically made sure to get an abnormally large amount of RAM.)
Pascal at that time was like Ruby or something is today. Definitely widely used but a far distant to the incredibly dominant C. There's no way to explain to folks today how dominant C was back then. If you were a software engineer learning C was just a given. You may or may not have bothered with BASIC, you may or may not be comfortable getting down to Assembly, but if you were serious about coding, you knew C.
TP had little impact on Windows, I agree. TP was for a particular niche, small software shops targeting DOS. And it was a big success, it paid for a nice building in Scotts Valley, but it also fuelled the ambitions of a bunch of executives who got derailed, getting into databases, a multi-pronged bet (Paradox, dBASE, Interbase) that didn't really pay off.
I think this is fundamentally the same toxic thinking that is still with us today.
C offered no actual advantages over Turbo Pascal for DOS/Windows programming. I'm sure one can come up with platforms or releases that weren't supported by TP, since C was the defacto standard. Regardless, they're fundamentally equivalent.
Meanwhile, Turbo Pascal was blazingly fast compared to C. The C linker in particular used to take forever. Turbo Pascal was seen as a toy language. My AP Computer Science exam results were disregarded by colleges because it was in Pascal.
A few years later, I was a C++ snob and looked down on Visual Basic "macro hackers". Meanwhile, at least one true genius electrical engineer I worked with would rapidly prototype software in VB that would take me weeks to replicate in C++.
There's a weird disdain in software development for approachable, efficient tools that create actual business value.
For software like neovim and gdb, it could help a lot with discoverability.
Fun fact: this lived on in Delphi, TP's successor. The TBitBtn component, a button with an image and one of the oldest Delphi components (probably from Delphi 1?), has a Kind property that auto-sets all sorts of glyphs; Kind := bkOk sets it to a green check.
About a year ago the glyph was updated to look a little more modern :) But it lives on. I love occasionally seeing it on apps in the wild.
As the name implies, it's indeed TURBO. I mean, to achive similar snapiness when running Eclipse or VS, you'll need pretty powerful machine.
The legacy is carried on by Free Pascal folks (there's the text based IDE). I only use this for fun/nostalgia purpose. For actual work, well there's Lazarus IDE.
I don’t think that’s true. Percentage-wise, the number may have dropped, but there are many more programmers now than there were back then.
I even am not convinced that percentage is lower today. There are plenty of people in the demo scene who, if incentivized, could write something like it.
You also have to realize that TP 7 is relatively simple compared to today’s development environments. To mention a few items:
- pascal is a lot easier for an IDE than C
- no messing with character encodings
- the editor may be fast, but does it stay fast when confronted with very large files?
- TP need not be cross-platform
Microsoft has shown MIT to be a good standard under which to license retro software from DOS to Windows file manager.
I mean we are in 2024 and should be well past the Java joke. Not only is modern Java seriously fast and could be efficient as well as natively compiled with Graal. ( Where 20 years ago GCJ was experimental at best ). The modern equivalent should really be Electron.
But back on the topic, I really miss Pascal and Delphi.