Modern Pascal is still in the race (2022)
Hmm meh. I have a soft spot for Delphi&#x2F;Object Pascal but I think the case here is not great. What it looks like at a glance is they wrote a better Pascal program than the Go one it was competing against, rather than just idiomatically port it. A fine approach, but it doesn&#x27;t tell us <i>that</i> much. Specifically, it doesn&#x27;t tell us very much about programming languages.<p>Go has plenty of weaknesses versus Pascal, but two commonalities of the languages are lightning fast compile times and a pretty good experience for modelling data structures. Pascal is undoubtedly lower level and does not guarantee memory safety, whereas Go does but its GC is often less efficient and more memory-heavy than manual allocation.<p>Blow for blow, though, I&#x27;d say the largest weak point for Pascal is a somewhat archaic syntax and for Go, honestly, the concurrency model. (Channels are nice, until they are not. I feel as though it&#x27;s easier, though not necessarily easy, to write correct programs using mutexes than Go channels in many cases. This is weird, because nothing has changed about the old shared memory with locks model since it was the source of so many problems. Yet, programmers, computers and toolchains have changed a lot. Rust with locks is a great example.)<p>But the biggest problem for Pascal is the lack of a strong killer app. Back in the day, libraries like VCL made Delphi amazingly productive for desktop apps. But VCL&#x2F;LCL doesn&#x27;t really hold up as well these days, where desktop apps are less important and the important features of GUIs has shifted a lot. That leaves Delphi and Object Pascal as a sort-of also-ran: It&#x27;s not that Go is especially good, in fact I&#x27;d argue its claim to fame and namesake (the concurrency model) just wound up being kind of ... bad. But, now that it&#x27;s here and popular, there&#x27;s little reason for e.g. Go developers to switch to Object Pascal, a less supported language with less of a job market, less library support, etc.<p>And that really is a shame, because it isn&#x27;t really a reflection of Object Pascal being unfit for modern software development.