logoalt Hacker News

projektfutoday at 5:02 PM0 repliesview on HN

I'm enjoying some things about the programming world now, especially compared to my professional start circa 1997.

I started on C++ on Windows, using MFC, and also using Visual Basic 5.0 when it came out. VB made my eyes bleed, but a lot of people are nostalgic about it. Visual C++ did not have many fans, but it had a lot of users. I got the first taste of the Microsoft treadmill during those days, where they would get you to use a new thing, and then in a few months they hardly used it anymore, and they were promoting the next new thing. As soon as you got comfortable with MFC, they were pushing ATL, and then .NET, etc. Really, the people who were happy with what they had and never upgraded were better off.

I narrowly missed the big-manual days of programming, where it was unlikely you had online resources to help you through it. The Turbo Pascal folks and the early Mac folks remember that well. Instead, we had the big online help file (CHM) and search engines like Altavista. Code examples were few and far between. We often spent a lot of time just figuring out how to make the right incantations to get things to do what we wanted. There was a happy path, like with MFC if you make the same exact application over and over again. And then there is the difficult path, where you want it to be a little innovative.

I came across Squeak Smalltalk and used that a lot for my own personal exploration, so I always felt like there was something missing from the world that actually came to be. Still, working alone on Squeak is only as fun as long as you don't get bored and don't need something that Squeak was too slow to handle.

Like the author, I was into pair programming (eXtreme programming, actually). I never understood its detractors. Working was pretty fun.

I never liked the MS ecosystem so I enthusiastically accepted Java. IBM offered a lot of support for Linux and there were good applications waiting to be written. It had its growing pains but quickly settled in to being very productive. In this period, Intellisense and similar technologies were becoming commonplace and the Refactoring Browser had been developed (for Smalltalk but then basically for Java). IntelliJ IDEA was released and was, honestly, revolutionary. The previous IDEs were just not serious until they caught up with the developer support in IDEA.

I figured out that being a professional programmer is not for me, because I don't enjoy working on projects, and I went back to school, eventually becoming a veterinarian. So my professional career kind of ends there.

I enjoy programming, but as a casual programmer it is hard to work on something and come back to it every few months. Things do seem to rot. What compiled before doesn't now. Library use changes radically. If you started a React project before hooks, you know what I mean. Sure, you can still do it without hooks, but nobody does so you're on your own.

What AI does is it makes exploration and problem solving, as well as understanding what I did a few months ago so much easier. I don't have anyone to pair-program with. But the AI makes it easier to be the programmer who's not in the driver seat. I like that, and I think it could lead to good things in the field. The big risk is that LLMs are not very good at future things. If things are out of their training window, they make lots of annoying mistakes. For example, Debian Bookworm and Debian Trixie are somewhat different, and Claude doesn't know what it's doing yet with Trixie. Claude thinks the most recent version of Python is 3.11 or something. With LLMs you have to be comfortable working on yesterday's code. But for most of us, that's OK.