57 comments

[ 100.0 ms ] story [ 117 ms ] thread
This article in different forms keeps making the rounds and it's just so tiring. Yeah, let's remember everything that was great about 25 years ago and forget everything that sucked. Juxtapose it with everything that sucks about today but omit everything that's great. Come on man.

If you think things suck now, just make it better! The world is your playground. Nobody makes you use YAML and Docker and VS Code or whatever your beef is. Eclipse is still around! There's still a data center around your corner! Walk over and hang a server in the rack, put your hardly-typechecked Java 1.4 code on there and off you go!

> Yeah, let's remember everything that was great about 25 years ago and forget everything that sucked. Juxtapose it with everything that sucks about today but omit everything that's great. Come on man.

That's fair. When I see bad code today, and try to explain to myself what's bad about it, I realize that people totally did the same things 25 years ago.

Nowadays there is just so much more code, and we stand on taller piles of "architecture" trying to scale higher heaps of expectations. The thing is, the effect of the bad stuff seems to compound more readily than the effect of the good stuff. And meeting the demand for more code involves broadening the base of people doing the coding.

> If you think things suck now, just make it better! The world is your playground.

I agree with this. A lot of the modern expectation is artificial, emphasizing form over function. Even where it isn't, a lot of the modern technique is unnecessary cargo-culting. You can do a lot locally if you believe in your machine (https://thundergolfer.com/computers-are-fast ; https://www.youtube.com/watch?v=ucWdfZoxsYo).

For PAPER I'm targeting Python 3.6+ (where they added `pathlib.Path` and f-strings, and upgraded the SSL version) with the intent to support it indefinitely (which involves forking certain dependencies).

And in fact, professionally, I still live in the good old days. I code in Java 21, I minimize dependencies, and I use an IDE that can do the heavy lifting when I want to refactor something…which is often. I produce a .jar that gets installed with a loader script rather than in the cloud. And it all works, and it’s *stable*.
MY GOD THIS IS GOLD. Nothing but the truth here.
Programming was so much better 15 years ago, except for all the parts that sucked.
There's something to this. I recently shipped a music curation site and deliberately avoided React/Next/etc - just HTML, CSS, vanilla JS. The cognitive load difference is stark. The 'peak' might be less about capability and more about us rediscovering that simpler tools often suffice.
> Funnily enough, everything ran at about the same speed as it does now.

Actually, where I was sitting on a decent PC with broadband Internet at the time, everything was much, much faster. I remember seeing a video on here where someone actually booted up a computer from the 2000's and showed how snappy everything was, including Visual Studio, but when I search YouTube for it, it ignores most of my keywords and returns a bunch of "how to speed up your computer" spam. And I can't find it in my bookmarks. Oh well.

> "I remember seeing a video on here where someone actually booted up a computer from the 2000's and showed how snappy everything was, including Visual Studio"

Was it this one? Casey Muratori ranting about Visual Studio Debugger slowness, and he shows a video of Visual Studio opening and debugging faster on a single core Pentium 4 from 20 years earlier - https://youtu.be/GC-0tCy4P1U?t=2160

Or this one? Roger Clark developing Notepad in C++ on Windows 2000 and commenting how fast Visual Studio opens: https://youtu.be/Z2b-a4r7hro?t=491

Yeah, that's the one! And hmm, it's interesting that there's more than one video out there going "look how fast old computers were from a user standpoint". They've really been boiling the frog when it comes to terrible UX over the past 20 years.

Given the refinements to the hardware, the modern scale of manufacturing and accessible market, and the sheer amount of engineering manpower a tech company can bring to bear nowadays, you'd think standards would have risen into the stratosphere, but instead the tech consumer is cowed into accepting slow, buggy, abusive, invasive trash.

This feels very much like the tired "the modern internet sucks - the old web with old websites was better!" trope that appears on here regularly.

You can still code the old way just like you can still put up your old website. No one is forcing you to use AI or VS Code or even JavaScript.

Of course you.might not getting those choices at work, but that is entirely different since your paid to do a job that benefits your employer, not paid to do something you enjoy.

Have fun.

I get it. I agree with most of this article. But also like, nothing went away.

If you pine for the days of Java and Maven, you can still do that. It’s all still there (Eclipse and NetBeans, too!)

If you don’t like using Node and NPM, that’s totally valid, don’t use them. You can spin up a new mobile app, desktop app, and even a SaaS-style web app without touching NPM. (Even on fancy modern latest-version web frameworks like Hanami or Phoenix)

If you don’t want everyone to use JS and NPM and React without thinking, be the pushback on a project at work, to not start there.

If the author doesn't want to work with NPM and the JavaScript ecosystem he could just get a job writing Spring/Boot, which makes up probably 90% of the jobs at large enterprise companies. I don't agree that this world has disappeared...
The author is writing like Java was outlawed or something. There are tons of shitty enterprise Java jobs out there for those who want them. Personally, I worked one of those jobs a decade ago, and the article's description of the "golden age" didn't bring back good memories.

It's easy enough to avoid the NPM circus as well. Just don't put JavaScript on your resume and don't get anywhere near frontend development.

Javascript wins by keeping the costs down. Companies today want to do more with less, which is how it should be and you are still free to choose from a myriad of technologies. When you pair this setup with LLMs, it's actually the best it has ever been IMO.
Java is usable now, but in 2013 it was the worst debugging experience one could have. I would rather work with PHP5 than with Java (unless I started a project from scratch). Also auto-refactoring was clearly worse, because well, Java. It was around that time that I tried Scala then Clojure, and even if debugging the JVM was still an experience (to avoid as much as possible), at least limited side effects reduced the issues.

If programming peaked, it certainly wasn't in 2010.

Debugging Java is a pleasure compared to debugging assembly and C, using only a terminal.
Honestly, the person should spend their time of fixing their shit instead of writing blog posts.

I find intellij a great IDE, modern frameworks are fun to use, ai helps me doing things i don't want to do or things i just need (like generate a good README.md for the other people).

Containers are great and mine build fast.

My Startup has a ha setup with self healing tx to k8s and everything is in code so i don't need to worry to backup some random config files.

Hardware has never been that cheap. NVMs, RAM and Compute. A modern laptop today has a brilliant display, quite, can run everything, long batterytime.

Traffic? No brainer.

Websphere was a monster with shitty features. I remember when finally all the JEE Servers had a startup time of just a few seconds instead of minutes. RAM got finally cheap enough that you were able to run eclipse, webserver etc. locally.

Java was verbose, a lot more verbose than today.

JQuery was everywere.

I am still a happy programmer after all these years using only node, express, postgres and sublime. I try not to listen to the sirens singing on the rocky shores...
In other words you have competitive advantage because your cloud costs will be 10x less.

This is exactly what 10 years of experience did for you. Why complain?

I've been coding since 40 years old and professioannly since about 30. And let's set this straight: it is much (much, like really much) better nowadays.

We have super powerful editors, powerful languages, a gazillion of libraries ready for download.

I use to write video games and it took months (yeah, months of hobby-time) to put a sprite on a screen.

And for Java, yeah, things have improved so much too: the language of today is better, the tooling is better, the whole security is more complex but better, the JVM keeps rocking...

And now we've got Claude.

I'm really happy to be now.

> I use to write video games and it took months (yeah, months of hobby-time) to put a sprite on a screen.

I'm not sure how that happened - in DOS you could copy things to the framebuffer. There were libraries like Allegro which came with a million features including sound/UI/sprite rendering/animation/effects etc. out of the box.

But anyways copying a sprite to a screen is not hard even if you don't use a single piece of foreign code - you can read in a BMP file and just copy it row-by-row to the screen.

> The most popular is “VS Code”, which needs only a few gigabytes of RAM to render the text.

> We used Eclipse, which was a bit like VS Code.

This made me laugh. You can't possibly be a serious person if you think Eclipse was better in any way shape or form than VS Code.

I don't have a great memory, but one thing I can absolutely still remember with 100% clarity is how bloated and memory hungry Eclipse was. It was almost unusable.

I think I’m lucky, because for me it’s the other way. In 2009 I started my first real programming job writing c++ in vim. For the last 5 years I’ve been writing rust in helix and things have never been better.
how tedious must a life be if you go through it with this kind of thinking
Maven was a great idea. Introduce a high barrier to entry for publishing packages. Paired with a search box operated by carrier pidgeon, this effectively meant what you were looking for didn't exist. Every time you had any kind of quirky need, you had to write it out by hand, or find someone smarter than you to do it for you, or worst of all buy it from a vendor for lots of money at horrible quality. People recite 'DSA is bad for coding challenges, when will I need to write a hash map', but once upon a time you did have to write a hash map here and there. Supply chain vulnerability is a cost, but the product was worth the cost: you can just import the darn package!

I need a map of key ranges to values with intelligent range merging, it is right there on crates.io to import, it has been there since 2016, Maven Central didn't get one until 2018. In the olden days either it was in Apache Commons or it didn't exist. Halcyon days those.

Defining peak programming as entreprise Java using Eclipse on SVN is border delusionnal imo.

> And here’s the funny thing: it never broke, because the person who built it did it well, because it wasn’t taxed within an inch of its life, and because we were keeping an eye on it.

Sure, if you say so buddy...

> We run our k8s cluster in the “Cloud”. It’s a bunch of services that run on Linux, but we don’t run Linux ourselves, we run it on VMs that we rent by the hour for approximately the same cost as buying a computer outright every month. We do this because no one knows how to plug a computer in any more.

My mind struggles with this reality everyday... the "cloud" has to be the most successful rebrand of all time. In 2005: "Be very careful what data you share on the internet". In 2025: "Yeah, I just put all my shit in the cloud".

It's horrifying to see someone who started working 10 years after me talking about "when I was young" :-D

Programming was more exciting when you had amazing things to imagine having - like a 256 colour screen or BASIC that ran as fast as machine code (ACORN ARCHIMEDES) or the incredible thought of having a computer powerful enough to play a video and even having enough storage to hold a whole video!

2400bps! Checking email once a day

Everything came true. My screen has 16million colours and I don't notice. I have 12 cores and 64GB of memory and fibre optic internet. The extremely exciting future arrived. That mind-expanding byte article I read about Object Oriented programming came true enough for us to see that it wasn't the answer to everything.

There are 2 problems now - nothing one does is unique. You can't make a difference because someone else already has done whatever you can think of doing ....and of course AI which is fun to use but threatens to make us even more useless.

I just cannot really get my sense of excitement back - which may just be because I'm old and burned out.

> Where did it all go wrong?

Just landscape changed significantly comparing to 2010.

Before you didn't have current smartphones and tablets. On desktop you could just support windows only (today probably have to macOS as well). On browser you didn't have to support Safari. You didn't have to worry much about screen DPI, aspect ratio, landscape vs portrait, small screen sizes. Your layout didn't have to be adaptive. There was not much demand for SPA. Back then there was much less people worldwide with access to internet.

My first text editor for PHP was Komodo Edit, it was super slow and everyone jump shipped to Sublime Text, then VSCode was slower than Sublime but had incredible industry supported extensions like Git and Prettier, programming didn't peak during my PHP days, in fact the PHP frameworks sites I used are still around and incredibly slow.

I am building an AI coding tool that doesn't eat RAM, there are super lightweight alternatives to Electron.

You know what made javascript so common, accessible, and thus later universal?

Putting things on a screen was (is) stupidly simple.

That's the whole thing. It's not the types or npm or whatever. It's that you could start with C/Python/Java and spend your first 6 months as a coder printing and asking values on a dark terminal (which is something a newbie might not even have interacted with before) or you could go the html/css/javascript route and have animations moving in your screen you can show to your friends on day one.

Everything flows from that human experience. UIs are Electron because creating UIs for a browser is an extremely more universal, easy and creative-friendly experience than creating UIs for native apps, particuarly if JS is your native language for the previously stated reason.

The industry failed to adapt to the fact that the terminal wasn't any longer the reality of computer users, and the web kinda filled that niche by default.

Also, React was an answer to the advent of mobile phones, tablets, smart tvs, and basically all the explosion of not-a-desktop computer form factors. You could no longer assume your html was a proper format for everything. So you need an common API to be consumed by a mobile app, a tv app, a tablet app... react was the way to make the web another of the N apps that use the api, and not get special treatment. The idea made sense in context, back then.

BASIC made it even easier to put things on a screen. We had commands like this:

In Apple BASIC:

- HPLOT x, y

- HPLOT x1, y1 TO x2, y2

In QuickBASIC on MS-DOS:

- PSET (x, y), color

In contrast I don't find HTML to be "stupidly simple" at all.