Things don't always get worse. Sometimes they get better.
TypeScript recently invited people to try their new compiler which is 7-10x faster. [1]
VS Code is popular, but personally I write TypeScript in Vim, which is definitely faster and less resource-intensive than Eclipse. But thanks to VS Code's invention of the Language Server Protocol and its subsequent adoption in many editors, I can get 'compile the code as you type' functionality. [2]
And then there's runtime speed. Java used to have legendarily slow startup times, and they're still an issue today. JavaScript's modern runtimes are optimized to start fast. On the other hand, Java still holds the crown for throughput, so it's a mixed bag. But if you want even better throughput without sacrificing too much usability, today we have Rust, as well as a vastly improved C++. (Though both of those languages have terrible compile times.)
[1] https://devblogs.microsoft.com/typescript/progress-on-typesc...
[2] To be fair, a memory usage comparison should compare Eclipse not to Vim itself, but to the whole [Vim + coc.nvim + TypeScript compiler] stack, of which most of the memory usage comes from the TypeScript compiler. I'm not sure how that compares to Eclipse. But I'm more concerned about typing latency, where I _do_ only care about Vim itself because all the LSP stuff is asynchronous.
> I started my first real, full-time job in 2010. We wrote Java...
I started my first real, full-time job in 1992. Back here we write C, or maybe C++ if we're feeling cutting-edge. The Sparc 10 can get a bit slow when we're all on it, but I have a shelf full of O'Reilly X Windows books to look through if I can't figure something out. My mate in London sent me a QIC tape with something called "gcc" on it: sounds exciting, but before I can install it I have to find a spare day to update SunOS first.
This 2010 programming setup seems pretty amazing tbh... can't wait to get me some of that. Nice languages and tooling, no more having to edit makefiles by hand in emacs or laboriously debug in gdb. Bet they don't even use sourcesafe anymore.
I reckon by 2025 they'll have god-like stuff: fast, reliable hardware with more memory and storage than you can eat; powerful development and collaboration tools; lots of ways to find answers without having to ask that guy over in the other building. And a lot of it will be basically free! I wonder how they'll feel about all that awesome dev power, and whether they'll still use X terminals.
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.
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.
> 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'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.
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.
> We also saw the rise of React, which is possibly the greatest tragedy to ever befall front-end programming (and I say this as a recovering React fan).
Amen. Github (just to cite one example) has become much less usable since they switched to React. And it's clearly not a site that needs React, since it worked fine for 17 years without it.
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...
Somehow this reminded me of a similar rant about devops:
It’s the Future - https://blog.paulbiggar.com/its-the-future/
And now I see that's from June 2015 -- it's over 10 years old now! Wow
I'm not sure we're really in a better place in the cloud now ... The article says
I’m going back to Heroku
and in 2025, I think people still want that
JavaScript is an interpreted language: write, run. No build steps required.
Building was introduced as a temporary measure, to handle cross-browser awkwardness (grunt and stuff like that). People overused it. We totally don't need it anymore. TypeScript is awesome but a major blocker to this return to a more nimbler ecosystem.
People in the 2000s discovered that mixing code with HTML tags was bad and big complexity demon mansion. By the end of the 2000s, this was fixed in the tools of that time. I consider JSX a best-practices regression. It feels like ASP.NET, but the kids don't notice because they have never seen ASP.NET.
For a while, we also saw npm as temporary. A better thing, more web-friendly, would appear. That never happened.
JavaScript could have been great.
Well i am a Java developer in 2025 and we still use maven, we also got IntelliJ which is miles better than eclipse and the company where I am does hire testers.
The world is not worse, you just ended up stuck in the wrong tech stack with the wrong company.
I do agree that the JS ecosystem is terrible tho, and i was a full time js dev before (now i only do some frontend from time to time) we already have a dedicated frontend team.
> 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.
I just liked programming when it contained a comprehensible amount of abstraction. Stacks have become so tall it is not even feasible for a single human to comprehend what is occurring. I also liked when standards had less surface area. Working in healthcare it has become obvious standards only ever get added, never removed. Complexity is absurd now. I'm not championing that we all become experts in bare metal assembly, but I feel for OP and a desire to at least fundamentally understand what is happening on some level.
“ Once our work is done, we create a “pull request”. This is a way of emulating open-source development inside a single company, which as we know, is the only way to work. Typically, this means that the code is downloaded and built on another computer, and then several hours later, a colleague will come along and ask to change a few words. Once we change these words, the computer builds everything again, and then the next day, the same colleague will allow the code to be merged into the mainline.”
Fix this and your life will be much better, generate testable preview apps on every pr, this feedback loop is a velocity killer. Management for some reason never wants to prioritize speeding it up even though it slows down every single project so advise to just do it and not ask permission.
Programming with Rust and deployment and mgmt with Nix is so much better to how things used to be. Did I mention how much better my Helix works than how Neovim used to? Revision control with JJ, conflict resolution with mergiraf. My personal computers are more powerful than ever before and can get amazing stuff done super fast.
Everything is better and keeps getting better if you make good decision instead of following the lowest common denominator tech.
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.
> Funnily enough, everything ran at about the same speed as it does now.
I've often thought about how certain properties of humans impacts the tech we make and accept.
For instance, to a human, something happening in a couple of seconds is quick, and in several seconds is fairly quick. Hence, build steps etc tend to creep up to those sorts of numbers.
> 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".
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.
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.
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.
In this respect I’m liking vibe coding. I can tell it use html css and js only and make me a frontend.
That obviously has severe limitations but ideal if you don’t like the front end framework scene and want to put all your logic in backend. And there I find it a bit easier to navigate
RIP guys in corporate that have things imposed on them
Some of us are still out here, writing maven projects in Java with Eclipse. It works great.
MY GOD THIS IS GOLD. Nothing but the truth here.
Programming used to be about finding the best way to communicate with the device. Now the device is trying to figure out the best way to communicate with you.
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.
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...
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.
Me, a young, but old fart at heart, writing firmware in C and applications in C++ (just for Qt!) that see everything wrong with the programming world today VS the junior that keep asking why we don't do the thing in javascript so we can have it on mobile as well (we do, we just use a different framework 'cause react won't ever cut it for our needs. It just takes a bit of what is called "effort" to make things look the same on all platforms) and wants emails lists to plan going out for a drink instead of, you know, asking. We're all in the same small office. Same stuff about deploying, we need github (no we don't. private git server), we need aws, woah what is this npm attack you're talking about?
At times it seems he's learning, but then he leans back into GPT and it feels like a lost cause. Yo bro it's crazy, i just deleted 2k lines of code, as if it was normal, with me raising eyebrows asking how many modules were outright deleted and never needed to be there in the first place.
Problem is, GPT and company will happily throw a lot of puke at the project and trust me bro that's essential we plan every single possible feature first and foremost instead of just testing the basics and build on top of them, because we have literally two requirements, so it's taking two months to do something i could do in two weeks, not because i'm more experienced, but because we should be doing what i'm telling to do, and not discuss whatever bullcrap the artificial manager is suggesting, which i would love to have the power to outright ban from our network.
Me and the junior have more or less the same age, just very different life journeys that led to programming
When I started programming we wrote code on a C64 in a freezing cold basement, with no disk drive. And we liked it...
So js was great when jquery was the dominant library...?
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.
the idea of moving from TS back to Java fills me with dread
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.
Programming was so much better 15 years ago, except for all the parts that sucked.
> 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.
this is going straight into my funny folder
> I love writing JavaScript, and I’m glad I can run it on the server. But this doesn’t mean I think it’s a good idea to use it for everything.
"Javascript" programming peaked.
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?
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...
I don't do any of that shit in the first section.
how tedious must a life be if you go through it with this kind of thinking
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.
strawman dystopia. simply choose to continue applying wise practices of old. be the effect you wish to see in the world. just because others are jumping off a cliff like lemmings does not mean you must as well
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.
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!