A lot of my earliest programming experiences were with Pascal. Apple Pascal in high school on Apple IIe and II+ machines. Later, Turbo Pascal on my dad's PC. I worked with the developer of IBM's Oberon system for OS/2 something like 20 years ago, and he considered it among his favorite things he'd ever worked on.

Every time I see a Borland style interface or that weird Pascal syntax, I flash back, and remember that feeling of...something like power; the ability to make the computer do anything you wanted, not just what you could already buy/pirate on disk.

That said, there's a reason I didn't keep using Turbo Pascal once I had access to C and Perl on Linux systems. Some things are better than others, and Turbo Pascal and things like Turbo Pascal are nostalgic, but not exactly good. (Then again, I'm working on games for C64, so nostalgia does things to a body.)

For me turbo pascal - with inline assembly - was the pinnacle. I got into c and later c++ because I had to, but always found the symbols slightly harder on the eyes and surprisingly not faster to type. And I was always frustrated by the bloat of the executables and the much slower compilation times. And the runtime speed - I was doing a lot of assembly, it was something I became interested in even on projects that didn’t need it - was actually much faster in TP. It was, in my eyes, the perfect blend of easy on the eyes syntax, blazingly fast compilation and runtime and small easy to share executables.

Then of course Delphi came along and made all that true for windows apps too!

So somehow I chime with how your comment starts but have such different memories of how it ends :)

Same here. Good old 386/486 days in the scene. (Turbo) Pascal was a thing back then in conjunction with inline assembler. C was not really a big deal. Visual C++ came many years later.

Even the legendary Triton relied on the combination of assembler and Pascal:

https://en.wikipedia.org/wiki/Triton_(demogroup)

Before Delphi, there was Turbo Pascal for Windows already, with Object Windows Library.

Versions 1.0 and 1.5.

I am so glad to have had the luck to learn coding via various BASIC flavours, Turbo Pascal, Z80, 8086 Assembly before getting into C and C++, as I wasn't tainted about C being God's revelation for systems programming, that many seem to have.

After learning C, I quickly switched to C++, alongside Pascal, and stayed on Borland ecosystem until Visual C++ 6.0 came to be, followed by .NET.

On UNIX, C++ was my Typescript for C, as back then there wasn't FreePascal, and most Pascal implementations for UNIX sucked, plain standard Pascal, or P2C.

I also had the pleasure to have a myriad of other programming languages, including Oberon, yes it was rather cool for its time.

The way most modern languages have gone back to Pascal style development feels quite enjoyable.

In what ways have they gone back to Pascal style?

Some things, that are not only Pascal, but languages influenced by it during the 1970-1980's.

The most obvious one is type declaration order.

Strong typing, with more explicit casts, to what C devs used to call straightjacket programming on BBS and Usenet discussions.

Striving to go back to toolchains with fast compilation times.

Being able to use high level concepts, while at the same time having the primitves for low level coding, no need for everything is a pointer, when the compiler can take care of it

The spans everyone is talking about nowadays, used to be called open arrays in Extended Pascal and Modula-2.

Arenas, were marked regions, see Mark/Release.

While one can advocate that Rust is more Standard ML, Go, Zig, Odin show clearly how Oberon or Modula-2 would look like with more curly brackets and lowercase keywords.

Standard Pascal had some very serious design mistakes, which are less obvious for those who have used only extended variants, like Turbo Pascal or Extended Pascal, where some of the mistakes had been corrected.

Probably the greatest mistake was that arrays of different sizes were different types in Pascal. While C had extremely poor support for arrays in comparison with older languages like Fortran, PL/I or Algol 68, Pascal was even worse, because in Standard Pascal it was pretty much impossible to write a library implementing linear algebra algorithms.

Actually in Standard Pascal it was impossible to write any kind of library, because separate compilation was impossible.

Turbo Pascal was a decent programming language, but only because it had a lot of essential extensions over Standard Pascal, including the ability to write multi-file programs.

The languages designed by Wirth have become very well known, because he and others have written some very good books about them for beginners and they were used in teaching in many places, but all of his languages were quite bad in comparison with the languages that he wanted to replace, because he thought that they were too complex, e.g. Algol 68 and Xerox Mesa.

> in Standard Pascal it was pretty much impossible to write a library implementing linear algebra algorithms

You likely mean Wirth's original Pascal; "Standard Pascal" (i.e. ISO 7185) had support for actual array parameters with different bounds or lengths than the formal parameters ("conformant array parameters"), and there was also separate compilation in a later standard. And the original Modula-2 and Oberon versions supported both, open array parameters and separate compilation. I don't think that the original Wirth or Standard Pascal versions ever were popular. The language's massive popularity during the eigthies was driven by a few distinct, significantly extended dialects (UCSD, Lisa, Mac, VAX and Turbo Pascal, and later Delphi). Wirth himself didn't care about standardization nor industry demands.

Why bring Standard Pascal to the party?

It is always used as an example of how bad Pascal used to be.

Yet it always gets forgotten that only lousy UNIX compilers, or some 8 bit implementations, ever did nothing else.

It was created to learn programming, the Python of 1970's, quickly everyone else was using UCSD Pascal and various other extensions (which apparently are always cool when the language happens to be C), which were later standardised under Extended Pascal.

Although, yet again, GNU Pascal is probably the only UNIX compiler that supported it until FreePascal came to be.

Niklaus Wirth designed Modula-2 in 1978, thus still in the same decade as Pascal, exactly for systems programming and large scale software development.

Borland helped spread Apple's Object Pascal, designed with feedback from Niklaus Wirth, beyond Apple ecosystem, to what we foundly remember nowadays.

Yet Standard Pascal has to keep coming up all the time.

I usually install Lazarus on my pc though seldom use it now. Still want to pick it up someday to compensate my miss in childhood. Only used turbo C then.

My first experience with Pascal was only a few years ago by way of Lazarus which is now my go-to tool whenever I need to build a GUI for myself. Genuinely enjoy it and find it a much more pleasant experience than C. I'm sort of sad I missed the heyday of the Borland tooling because it seems incredibly productive even without nostalgia.

It definitly was, see the Turbo Pascal manuals for MS-DOS, and Windows 3.x that are available on the digital archive.

Everyone is talking about Ratatui nowadays, go check what Turbo Vision in Turbo Pascal 6 already offered in the world of MS-DOS PCs in the early 1990's, with the IDE as basis to show its capabilities as TUI framework.

> Then again, I'm working on games for C64, so nostalgia does things to a body.

You should check out Turbo Rascal (...), but you probably already did.

https://lemonspawn.com/turbo-rascal-syntax-error-expected-bu... (outdated cert)

https://github.com/leuat/TRSE/

I did, but I prefer C. And, I prefer vim to an IDE.