← Back to context

Comment by pjmlp

10 hours ago

Yeah, it was pity that Borland lost its way, and Apple decided to refocus from Object Pascal into C++.

Otherwise it would still be a big contender.

Everything that Zig offers over C as selling point was already there in Object Pascal.

I recall the turning point was when id used the Watcom compiler for DOOM. Watcom had the 32-bit flat model DOS extender and were starting to add the difficult optimizations. Turbo/Borland Pascal was built for compile and link speed, not even getting a real -O option until Delphi (except for turning off range and stack checking)

If I remember right, it was memory safe - something C/C++ has yet to achieve.

  • It was not. It just made any dynamic structures so painful that few programmers used them.

    But it _did_ have range checks for array access.

Comptime? Vastly superior toolchain? Trivial C interop? Sub-second incremental compilation in large projects? I'm not familiar with Object Pascal at all, so do correct me if I'm wrong, but I'd really be surprised if it has much of Zig's standout features.

  • Delphi would compile & link 2 MLOC of code on a crappy work laptop in 30 seconds to a minute. Incremental compiles were instant. So fast most developers never bothered learning the "go to next error" hotkey and just spammed F9 (compile & run) whenever they fixed a syntax error. It was that fast.

    Trivial C interop - yes. Both pascal and cdecl style calling conventions.

    Toolchain? Back then - yes. Today? Probably not; depends what you mean by it. It had perfect COM interop which mattered back then, and you could trivially link stuff if you wanted to. And people did.

    • Oh my gosh! Core memories unlocked:

      > most developers never bothered learning the "go to next error" hotkey and just spammed F9 (compile & run) whenever they fixed a syntax error

      We didn't know we were privileged. I thought it was normal thing to have.

    • Comptime here means not "compilation time", but rather ability to run some your code during compilation (i. e. compile-time metaprogramming). Pascal didn't had this.

      3 replies →

  • > Comptime? Vastly superior toolchain? Trivial C interop? Sub-second incremental compilation in large projects?

    No comptime, but everything else, sure, Turbo Pascal (and then Delphi) had.

    Maybe it'll blow your mind (not sure if you find this impressive or not), but Turbo Pascal had sub-second compilation per module on large modules back on my 486 with 4MB of RAM.

    Sure, Zig has more features than Pascal, but not the ones you listed (except, of course, for comptime).

  • Object Pascal has more runtime reflection features which were added to facilitate visual programming paradigm. Do you know what can be faster than sub-second incremental compilation ? Run-time/Design-time manipulation !

  • Comptime is the only thing going for it.

    Object Pascal compilers were already super fast in MS-DOS hardware!

> Apple decided to refocus from Object Pascal into C++

IIRC Apple went and made Objective-C(/C++) and then eventually Swift. Not sure if they actually embraced C++ all that much - did they really?

  • Completely off the charts.

    I am talking about Apple after Jobs was kicked out.

    You missed the part where NeXT licensed Objective-C from Stepstone, Apple bought NeXT as last survival action before bankruptcy, and OS X sprung out of NeXTSTEP.