I remember Pascal as a so tidy and clean language... And verbose. Very verbose... And calling win API was a horror
Not sure if you mean Pascal or Delphi here. The Visual Component Library (VCL) was hands down the easiest way to build windows GUIs, no knowledge of the Win API required. But if you did need to do it, it really wasn't hard to do.
Yeah, it literally hearkens back to an era where "programs" were literally well-thought-out programs like you'd receive at a play - the cast list, the acts, the music, etc. COBOL on punchcards springs to mind here. Lots of organization. I don't hate it... but kinda like Java, it can be annoying to have to dot all the i's and cross all the t's to do such simple things.
After Pascal Niklaus Wirth designed Modula-2 and then Oberon which is even tidier. Oberon is both smaller and more capable than both of its predecessors.
The irony is that now in 2026 we have COBOL's revenge with Markdown driven programming.
Doesn't get more verbose than that.
Pascal was comparably clean, but Delphi library is quite messy. SysUtils is about local time, exceptions, floating number formatting and OS error handling. SyncObjs are about synchronization which is very good. But TThread resides in Classes, together with streams, serialization, base components, lists and other containers. Rapidly created form controllers are implementation of god object anti-pattern.
> And calling win API was a horror
This is not easy matter in any language. And I called Android API from Delphi. Still quite an adventure
On the contrary, calling Windows APIs was easier than in C, no import libraries required, just declare what you need and there you go.
Recently dabbled in zig because I, like many people, want a "better C" that solves many of the footguns that C has (ex: null terminated strings, lack of integer overflow trapping, slightly higher level data structures) without all the complexity footguns of C++. But concluded its a miss too, I don't want all the dogma around packages, and symbol soup seemingly selected to be different than C. I largely want a "compiler" not a language ecosystem. Zig is seemingly forever going to suffer from chasing purpose built libraries. Aka, why bother with a zig formatter, or crypto when the first thing anyone is going to want to do is swap in openSSL/etc because its dynamically/runtime tuned for its target platform and contains that odd crypto code it turns out you need for pkcs11/whatever.
And the realization really is that Andrew Kelley's rant about go/rust/c, is answered by Pascal, which really is a "better C". Sure its verbose, but that I think is really a strong point in the end. Everyone has autocomplete editors and actually typing "begin end" instead of "{ }" is something your editor can be inserting automatically.
Also, calling windows API's was incredibly simple with delphi although almost unneeded, but the stdcall/cdecl decoration told the compiler to use C calling conventions instead of pascal.