125 pointsby andsoitis4 hours ago30 comments
  • bdamman hour ago
    Turbo Pascal was a glorious tool for my imaginative 15-year-old brain. The first programs I sold were all written in Turbo Pascal. I had the Turbo Pascal reference books near my bedside, and I wish I still had them because they were dog-eared, post-it noted, margin-scribbled, and it's kind of strange but those books guided my future almost more than any other written text.

    One distinct memory stands out. I could not wrap my mind around the Object-Oriented extensions on Pascal. I read, re-read, and re-re-read the section of the book describing what polymorhpism is and how it worked, probably at least a dozen times. Somehow it seemed really important and I kept coming back to it. I worked the examples. And then one day the ah-hah moment arrived. I remember it felt like a shock, why it was useful and what I could do with it. I promptly used my knowledge to write a new game using OOP principles to guide the rudimentary "characters" of various geometric shapes at the core of the game.

    Fun times, and very formative to me!

  • throwaway815232 hours ago
    Required reading, "Things Turbo Pascal is Smaller Than", https://prog21.dadgum.com/116.html

    And: "A Personal History of Compilation Speed, Part 2" https://prog21.dadgum.com/47.html

    • BruceEelan hour ago
      I miss James Hague's posts - prog21 was really something else.
  • orthogonal_cube3 hours ago
    Man, I haven’t seen Turbo Pascal since high school. We were lucky enough to have a CompSci class taught by our Stats teacher.

    He offered three courses. CompSci 1 used Turbo Pascal and Delphi. CompSci 2 used C++ and Java. CompSci 3 used Microsoft Turbo Assembly and a language of the student’s choice.

    We had to write our code and save them to floppy discs for submission since the lab systems had DeepFreeze installed on Win95, so any local storage wouldn’t persist.

    • spankibaltan hour ago
      > He offered three courses.

      We had two courses at my school in early post-Wende East Germany ('91 onwards, on Amstrad PC2386 386/20 MHz machines): a beginner's computer course with OS intro (MS-DOS 4.01 and Windows 3.0), office applications, and typing... and a programming course via the GW-BASIC (later QBasic) to Turbo Pascal (much later Delphi) pipeline.

    • grep_it2 hours ago
      Similar experience here, except it was Qbasic followed by Delphi. Good memories of passing our dumb little games around the compute lab. It wasn't till later in life that I connected Pascal to Wirth when reading Algorithms + Data Structures = Programs (I still think the last chapter on compilers holds amazing as an introduction to the subject).
    • ivanmontillam2 hours ago
      > We had to write our code and save them to floppy discs for submission since the lab systems had DeepFreeze installed on Win95

      Didn't realize DeepFreeze is that old. My lab used Angel Custodius[0], which was a hardware-based solution. It used a PCI-slot and the buffer was an IC on the PCI board.

      It worked the same, rebooting the computer would restore the frozen state, because changes were never committed to disk.

      It also was OS-agnostic, because it ran before booting anything. If you had a Linux server and got hacked, you just restarted it, though it remained vulnerable until you disabled the protection and actually patched it.

      If you wanted to introduce changes you had to press a combination of keys to bypass it, by introducing the password. Mainly to apply pending Windows Updates.

      --

      [0]: https://web.archive.org/web/20040210055959/http://www.custod...

      • natebc2 hours ago
        I ran a small PC lab at a university for a while and we used PC-Rdist. It was magical!

        You could have different templates that all built off of the same base which made switching between different specialized classes in the lab super easy.

  • rr8089 minutes ago
    The best things about TP and even VB was how fast everything was to develop. When I'm sitting there watching our CI build take 45 minutes to deploy, I still remember turning around changes and copying to release file server in just a few minutes.
  • mapontosevenths3 hours ago
    > "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."

    I agree, but AI also there is hope!

    For many years I've worried about the ever-growing depth of abstraction in computing. There are few alive now who actually understand all of the layers on abstraction involved in modern computing, and who can debug the truly strange edge case bugs and vulnerabilities introduced by the interoperation of these many complex layers.

    For a time I imagined it to be an unsolvable problem, and that there would always be only a special class of neurodivergent hyper-specialists who still mostly had to work in large teams to even come close to understanding a stack in full. We're reaching the point where a single human lifespan just isn't enough to learn it all, even for those of us with what Dilbert called "The Knack". By the time you're proficient in all of it - you're dead.

    Now there is a new kind of intelligence. One that CAN fit it all in a single mind, and one that will outlive us all and continue to learn long after our meat has gone bad.

    As long as the AI's stay aligned, and we find ways to build them more efficiently there's a non-zero chance that they actually make it all better instead of worse. Genuinely long-term planning and the ability to TRULY grasp the full stack COULD actually happen. At least if we use these new systems in service of the greater good, and not just to play silly games on the stock market.

    • mike_hearn2 hours ago
      AI isn't fundamentally different to us and it does benefit from abstractions. So, I don't think that's going to happen.

      Besides, it's an exaggeration. I've been programming for 35 years, and Turbo Pascal was one of my first languages. I wrote OWL code! Seeing that splash screen brought back memories. But I can understand and debug problems that cross almost any layer of the software stack. Anything from some ReactJS library to kernel code to UEFI. I'm now 42 so the idea nobody can understand or debug interactions across layers before they die is for the birds. The stack isn't that deep.

    • herf2 hours ago
      AI is not trending towards small, minimal code with nice abstractions. It is faster at replicating "big team" code, but the code from a small team or a few authors still wins for elegance and simplicity.
      • iugtmkbdfil8342 hours ago
        I suppose it depends on what you mean by trending. Some of the recent rewrite news[1] for example suggest that, at minimum, it is the macro demand that is driving the software trends. In this case, issues with memory supply drive attempts at more sensible memory utilization.

        [1]https://tech-insider.org/discord-electron-rust-gpui-rebuild-...

        • BadlyDrawnBoy2 hours ago
          >https://tech-insider.org/discord-electron-rust-gpui-rebuild-...

          The fact that we are celebrating that a chat app only uses 300MB ram at launch instead of 1GB seems absolutely ludicrous to me

          The early versions of Skype used about 30MB RAM while in a video call and by the early 2000s standards it was bloatware. Before that we used WebEx in the 90s which was a browser ActiveX or Java applet and RAM use was about 6MB in a video call. In the early / mid 90s I used CU-SeeMe for video calls and its RAM footprint was just over 2MB on Mac System 7

          Something has clearly gone very wrong in the software development process in the last 2-3 decades and while Im encouraged to see that some people are interested in reversing that trend I still find the resource wastage has me shaking my head sometimes

          • mike_hearnan hour ago
            A lot of that RAM is just high resolution bitmaps. You can have apps that fit in 10MB of RAM today if you're comfortable with the UI quality of an app circa 2000 (e.g. icons are 16x16 pixels at 8 bit colour depth).
            • BadlyDrawnBoyan hour ago
              Usually thats not the case. Its mostly abstraction layers upon abstraction layers upon abstraction layers that causes this issue

              Sometime in the late 90s there started a fundamental change in the software development process. We changed from optimising software for the end user (development is difficult) to optimising the software development process for the developer at the expense of user resources

              • mike_hearnan hour ago
                That's true for Electron apps. For other kinds of desktop app, it's mostly stuff like artwork, double buffers and fonts. Go profile a desktop app heap and see for yourself.

                One of the main selling points of Turbo Pascal was OWL: the Object Windows Library, which was just a big OOP abstraction over Win16. Here's some sample code:

                https://github.com/TeamVault/pascal-programs/blob/master/Pas...

                Doesn't look radically different to how a GUI app that targets a native framework would look today. OWL added bloat to make developer lives easier. It was ever thus.

                • BadlyDrawnBoy38 minutes ago
                  I think its true for most types of modern development for apps with a UI, not just electron

                  >Doesn't look radically different to how a GUI app that targets a native framework would look today

                  Modern "Native" frameworks are part of the problem. I cant comment on Windows current state as I havent used Windows since I moved my gaming rig from Windows 7 to Linux many, many years ago but even then Windows frameworks were a complete mess

                  Take Libadwaita for example. I migrated an old, very simple disk image manipulation utility app last year from GTK2 to modern gnome. No change in capabilities, a simple clone in GTK4 / Libadwaita. It went from using ~19MB to ~185MB without any additional functionality simply by switching the "Native" framework

                  • kvemkon12 minutes ago
                    > GTK4

                    After my comment https://news.ycombinator.com/item?id=49235430 I've investigated the high RAM jump issue a bit further. It turned out, 60 MB comes from video graphics driver, right after the first function call, that triggers OpenGL/... context initialization. Thus:

                      GTK2 14 MB
                      GTK3 24 MB
                      GTK4 38 MB  (+ 60 MB video acceleration)
                    
                    Looks a bit better. But we still need 98 MB total.
                  • mike_hearn21 minutes ago
                    Try GSK_RENDERER=cairo and see if it helps. I think the memory usage increase will mostly be GPU buffers. If GPU rendering isn't necessary for your app then it's pure bloat to use it, indeed. But with very large hi res screens it's often the case now that CPU rendering can't keep up anymore.
                    • kvemkon7 minutes ago
                      3 MB RSS less with GTK4 4.22.4 on Debian Forky (testing).
    • hnlmorg2 hours ago
      There’s no substitute for human knowledge. What if the climate crisis gets to the point where we cannot justify boiling the ocean to perform tasks we’ve come to depend on?

      What’s our disaster recovery strategy in the event of war and loss of internet?

      Or worse yet, a near extinction event and we are forced to rebuild civilisation from memory?

      Some of these might seem like extreme edge case scenarios but then history is full of disasters that people didn’t prepare for because they assumed they were too big to fail.

      • andsoitis2 hours ago
        > There’s no substitute for human knowledge.

        Would you not say that AI is an expression of the sum of all human knowledge? And as humans continue to generate more knowledge, it too, will be added to the AI's representation of it all?

        • sellmesoapan hour ago
          There's much more about humans then there is writing about them, a lot of cultures with oral histories, a lot of nuance in behavior we take for granted, can it all be digitized?
        • hnlmorg2 hours ago
          I would say your reply feels like you didn’t read beyond the first sentence of my comment.

          If you did, then I apologise. But my point is about accessing that knowledge when AI isn’t available. Not about how AI discovered its corpus to begin with.

          • andsoitis2 hours ago
            I re-read it. I think your thesis is that we ought not to depend on technology in case the infra to support it goes away. Does that capture it?
            • hnlmorg2 hours ago
              No. It’s that we shouldn’t depend on AI always being available.

              Absolutely we should use all the tools at our disposal which enhances productivity. But that doesn’t mean we shouldn’t also learn how’re to do things for ourselves too.

              To use a contrived example, there’s no shame in using a dishwasher. But if you cannot wash dishes by hand when the dishwasher breaks down, then you know you have problems.

              • CookieCrispan hour ago
                I feel like having a local qwen model that could run without the internet competes with having a local searchable wikipedia. If disaster does strike, we could now recreate a lot of knowledge with a single high end pc
              • andsoitis2 hours ago
                > It’s that we shouldn’t depend on AI always being available.

                I made the general tech-dependence statement, but it sounds like you think it is only AI tech that shouldnt' depend on. I wouldn't worry about it; humanity has proven itself to be INCREDIBLY resilient and adaptable when the things we've come to depend on go away or change materially.

                • hnlmorg2 hours ago
                  We aren’t just talking about technology, we are talking about knowledge.

                  Like I said, I have zero issue being “AI first”. 90% of my day-to-day is using AI. But the part I objected to in the OP was “we don’t need to know things because we have AI” (to paraphrase. So I was asking the question: what if AI goes away?

                  I agree humans are resilient. But that’a not a good excuse for complacency.

      • elisbce2 hours ago
        That already happened many times in history to many civilizations. Knowledge was discovered and lost, and rediscovered years later or never.
        • hnlmorg2 hours ago
          Yes, I hinted at that. And each time that civilisation fell. With the next occupiers of the land left to find it.

          Do we really want to put ourselves in the same situation?

          • krapp2 hours ago
            We are already in that situation and it's far too late to prepare for countermeasures. The only culture we're leaving behind is our garbage.
            • hnlmorg2 hours ago
              I disagree. However even if that were true, that’s more of a reason to learn more instead of less.
    • markus_zhang2 hours ago
      We do have free pascal and it looks pretty good I think.
    • tonyedgecombe2 hours ago
      >I agree, but AI also there is hope!

      It's like a religion isn't it.

    • andai2 hours ago
      Or we could just ask them to build something less embarrassing?
    • elisbce2 hours ago
      I’m not sure where he got that idea. All I could learn about TP was like one book sold in one bookstore in my entire city. The barriers to entry back then were astronomically higher than they are today, especially given how AI has democratized access to information, knowledge, and expertise.
    • cyclopeanutopia3 hours ago
      [dead]
  • analog312 hours ago
    Fun anecdote: When I was in college, my dad read an article in the Wall Street Journal about Turbo Pascal, so he bought me a copy for my birthday. That was version 1. I stuck with TP through grad school and a little bit beyond. It seemed like there wasn't anything it couldn't do. Some of my hardware hacking adventures even required inline assembly. Some of the version bumps were really timely, such as a new compiler that created stand-alone executables. I was extremely lucky that the original TP ran on my non-PC-compatible MS-DOS machine, a Sanyo MBC550.

    My graduate advisor had Microsoft FORTRAN, and I tried it out. It was a monstrosity. The compiler and linker had to be on separate floppies, and took eons. My advisor admitted that he had largely switched to BASIC.

  • florisvink23 minutes ago
    I was about 15 when a school friend and I spent entire days writing simple video games in Turbo Pascal. That experience is what got me into programming, and it became foundational for my entire career. I still look back at those days with a big smile.
  • armcat3 hours ago
    My first real programming project was creating a pong clone on DOS using Turbo Pascal, as a 12 year old, in the mid 90s. Many years later, when I was in the penultimate year of uni, I worked as a freelance Delphi programmer. I had no idea Pascal would help me buy my first car many years later.
  • lgl2 hours ago
    This hits home. Turbo Pascal was the thing (although I've barely noticed at the time) where I learned actual programming, as we know now.

    I had played a lot with the Spectrum (a Sinclair zx spectrum 128k) and its BASIC interpreter but that was mostly copying from magazines and changing some parameters. And BASIC is weird :)

    A few years later in school in the 90s, Pascal was "the" language that most people learned the basics in, at least in my country.

    Unknowingly I sort of absorbed all that and it only started making sense when a few years later I decided to get into actual programming with perl and eggdrop bots and plugins or whatever they were called.

    Damn, the 90s, IRC and Quake were awesome!

  • PeterStuer38 minutes ago
    Maybe unfair, but at the time I had to do a project in Turbo Pascal. Up 'till then I had been using Think Pascal on the Mac. There was no comparison. I felt like I was trown back a decade. Not that the raw capability was that different, but boy, the UX. I hated it.
  • huhtenbergan hour ago
    Borland-linked piece of lore I like the best is that upon release of the original Turbo Pascal, which was advertised in the Byte magazine for $49.99, they were drowned in orders so much so that the Post Office put stop on incoming checks because they suspected it was some sort of fraud.

    Don't know if the last bit is true, but they did make 150K in sales in the first month ... from a single ad and in 1980s dollars, which is quite remarkable.

  • monster_truck2 hours ago
    The only real association I have with "Borland" is that I needed their $199 compiler to share my LibertyBasic programs with friends as .exe's when I was in middle school. That was a ton of money in the late 90's. It was singlehandedly the catalyst to me realizing I could pirate more than game roms on IRC.
  • SoftTalker2 hours ago
    > The name ‘Turbo’ was associated with what were regarded as hobbyist products

    "Turbo" was also a short-lived pop-slang term roughly meaning "cool" or "awesome." I never heard it used much but a lot of products in that era had "turbo" in the name.

    • Sharlin2 hours ago
      The intensifier meaning of "turbo", connoting something powerful and fast, is also interesting. Its original uses are in engineering, simply denoting something that has a turbine in it. Thus turbopump, turbojet, and turbocharger, the last of which probably being the primary driver of the semantic shift.

      The Latin root of "turbo" and "turbine" is turbo, meaning a whirlwind, a spinning top, or more generally any spinning motion as a noun, and "agitate, disturb" as a verb. The latter word is, of course, derived from turbo as well, as are "perturb", "turbulence", "turbid", and even "trouble"!

    • huhtenbergan hour ago
      "Turbo" was a name of a physical button on early PC models that bumped up CPU frequency.
    • bombarolo2 hours ago
      There was that “Turbo” button on my (self-made) 386sx, that magically doubled the CPU clock. This is what “turbo” meant in the 90s, weird.
      • SoftTalker2 hours ago
        Yeah a lot of them had that turbo button. I always thought it was kind of a Spinal Tap thing.

        "Why don't you just run it at the faster speed all the time, and make that the regular speed?"

        "Ours have turbo"

        • mike_hearnan hour ago
          For those who don't remember, the turbo button existed as a backwards compatibility hack. A lot of games in the early days did dumb stuff like implement game timing loops by spinning the CPU, because devs just didn't think ahead to "what if people play my game on hardware that doesn't exist yet". So when the first big leaps in clock speed came out, some games ran unplayably fast. The fix was a literal button on the front of the machine that controlled the clock speed.

          Devs learned how to use the timer chips pretty fast after that though, so for a long time the turbo button existed but appeared to be useless. Pushing it would toggle a light but nothing appeared to change.

  • msdz3 hours ago
    As someone born after the release of TP 7, this was a fascinating read!

    I wouldn’t necessarily have expected for Microsoft to make development (at least the “intended” way) for early not-just-DOS Windows this unergonomic, but now in hindsight, it’s also not that surprising, really.

  • prmph2 hours ago
    Oh those were the days, I remember developing my first non-trivial piece of software (an international checkers game), while still a student, with Turbo Pascal. It run to more than a thousand lines of basically the Minimax algorithm plus various optimizations (alpha beta pruning, quiescent extensions, etc)

    I have fond memories of the language, the IDE, libs like TurboVision, ObjectWindows, etc... And fun times with the demos TVChess and OwlChess, which gave me inspiration.

  • BigTTYGothGF9 minutes ago
    > That almost nobody has the skills these days to implement something like TP is something we could eventually come to regret

    Almost nobody back then had the skills to implement something like TP, that's why it was so exceptional.

  • barelysapient2 hours ago
    Man, I have so many good memories as 9 or 10 year old kid writing Turbo Pascal 7.

    The terminal IDE that it came with, if you can call it that, was ahead of its time.

  • hasley2 hours ago
    Is Turbo Pascal 7 really the same as Turbo Pascal for Windows 1.5?

    I think I used TP 7 and it was the usual blue IDE for DOS.

  • ivolimmen2 hours ago
    I used Borland OWL under Windows at school. I moved to Java later on and felt the sting on the last line...
  • _russross2 hours ago
    tcc/tinycc doesn't have the IDE but is the same compiler approach applied to modern(ish) C. Tiny, fast, and fun to use.

    If you ever feel like you need a palate cleanser after reading AI code, go dig into any Fabrice Bellard project.

  • evrydayhustlingan hour ago
    TP 7 you say?? That's the one that made me quit - they could pry the blue ascii IDE out of my cold, dead (high schooler) hands
  • pjmlp2 hours ago
    I can definitely vouch for Turbo Pascal, having learnt it before C was definitely a good school that strongly typed languages doesn't hinder systems programming, nor higher level ergonomics.
  • egorfine3 hours ago
    > Windows 3.1 [] not that there were many alternatives at that time

    OS/2 was more popular than Windows 3.1.

    Update: or maybe it wasn't. Seems like different bubbles had different mainstream OS.

    • linuxhiker3 hours ago
      Oh man, the good old days. Running Windows apps in OS/2 and having OS/2 run them faster because it was true 32bit.
    • wolfi12 hours ago
      OS/2 more popular, not in my part of Europe, although it had its fan base. there were even OS/2 (Warp) freebie cd-roms at the time. I was quite fond of it, but Win 95 killed it
    • pjmlp2 hours ago
      It certainly wasn't in Europe, plus it required more expensive hardware.

      Back in 1992, it would had cost me about an extra 500 euros on today's money.

    • AnimalMuppet3 hours ago
      Source? That's sure not the way I remember it. I don't think I ever saw OS/2 outside of in computer stores. I don't think I ever saw a single customer actually using it, either professionally or on a home computer.

      Sure, that's anecdote. Do you have data?

      • SoftTalker2 hours ago
        OS/2 was somewhat popular in corporate settings that were already "IBM shops." And I saw a bit of it in academia/scientific workplaces.

        Never knew anyone who ran it at home.

        • svennek2 hours ago
          I ran it at home as a teenager, as I got a free Warp cd at a store (when they cancelled the product). Ran it for a few days, then went back to windows (95 likely) and later linux....
      • egorfine2 hours ago
        Nah, no data. Too lazy to dig around. I vividly remember that in my bubble OS/2 was running everywhere. Literally everybody used it, me included. We considered Windows a joke. Some networking software that we used (Fidonet) was literally OS/2 only.

        But then I remember how OS/2 was dying a slow death while Windows 95 rose.

        So yes, an anecdote it is.

        • AnimalMuppet2 hours ago
          Well, I asked, because I'm also too lazy to dig around for data. So, it's hard for me to complain...

          [Edit: All right, I did a very superficial digging, and didn't get an apples-to-apples comparison. But it said that OS/2 sold 2.5 million desktop and 340,000 server versions in 1996. Windows 3.1 sold over 3 million copies within the first three months of its release in 1992. So by 1996, OS/2 may have been more popular than Windows 3.1, because the Windows world had moved on to Win95.]

    • huhtenbergan hour ago
      OS/2 was _incredibly_ rare UI- and UX-wise. Very frustrating to use. As if they copied Windows, but somehow copied only 80% of it with some really common bits missing.
    • 3 hours ago
      undefined
  • BorisMelnik3 hours ago
    great writeup, fun reminder windows 3.1 sat on top of dos
  • egorfine2 hours ago
    TPC.EXE /C

    never forget

  • ulfw2 hours ago
    Never been a big Pascal fan (though learned and used it back in the day) but i learned C and built my first Win16 and Win32 Apps for Windows 3.x and Windows 95 in Borland Turbo C(++). That was truly magical a time!

    The printed documentation alone was half a meter long.

  • phoronixrly3 hours ago
    No, now you are running an IDE that is badly pretending not to be a browser, while an entire second application has to work in the background eating even more RAM to provide you with access to documentation for each function at the cursor...
    • 3 hours ago
      undefined
    • pixl973 hours ago
      I mean, you could go write up an IDE that acts like that old one in a few weeks now. Could use a ton less RAM. You'll be the only person using it while everyone else uses the browser for convenience.
      • Grombobulous2 hours ago
        You don’t even need to do that, there are plenty of IDEs that are lightweight and not web-based.

        There’s just no reason to be mad that something is popular. Sure, VSCode is the most popular, if that person doesn’t like it they should just use something else.

        • phoronixrly2 hours ago
          I'm not mad that VScode is popular. I am mad at people that are not appalled by the resource use of vscode and clones, by the sluggish UI, by the abysmal security (with the latest example being the multi-billion bitcoin theft), by the walled garden that allowed a backdoored extension despite its very stated purpose... You know, all factors that a competent programmer would find important when making a choice of tools...
          • pixl97an hour ago
            Two things.

            One: A very many programmers have their tools selected by their jobs, not their own choices.

            Two: There are very few competent programmers.

  • mlvljr36 minutes ago
    [dead]
  • DRLogvinovich2 hours ago
    [flagged]
  • szundi3 hours ago
    I have learned PC programming on the DOS version.