Off topic, but I remember fondly the pre-LLM days when I used to love reading about programming languages. I never got a chance to professionally work with Rust, but made some cool hobby projects with it. Would have eventually tried out zig too.

Now it all feels so pointless though. Like memorizing rules to do mental arithmetic. Sure, there is still use for language expertise, but not enough to get excited over new concepts and ideas.

I relate to this.

For years I used Rust as my hobby-programming language and loved it greatly. I never managed to land a job working with it full-time, because either the work was too niche or it didn't pay enough, or I was simply too comfortable where I was to change. And now that I finally have enough discretion over my technology choices to run a "proper" project using whatever tools and languages I want, it is not me but the AI that writes all of the code.

There's a part of me that feels a quite sad about all this. It's almost as if there actually all along existed a real final deadline on finding that "dream job". And I missed it. And while I expect this one miss to be just a small piece in the grand picture of things that we're going to lose or have already lost to the zeitgeist of agentic SWE, it feels big to me. It was my professional dream, while I still had professional dreams.

I relate to this comment so much. Like you said, just the first in many things we will lose. Gratitude I can still support my family and build cool stuff at all now.

I seemed to have been through this pattern in my interests multiple times and just wait in the between times for something of interest. For hobby/interests I started with programming languages and then moved into understanding hardware and then mobile devices. I wrote HP 41 s/w, HP 48 s/w, the first public dethreader for HP 48 ROMs, Newton s/w, Windows CE s/w, jailbreak s/w and on device iPhone 1.0 s/w (pre App Store), but have been waiting for the next thing since iPhone 5 or so. In languages I went through a lot as well and now am waiting on C# to be improved.

Yeah, this is exactly it. Not earth-shattering, but personally depressing. My solution has been to start a career switch.

I think (for now), it is still relevant. A language is an abstraction, and a good abstraction, like a good LLM harness, can be quite valuable.

Let’s say I’m writing some concurrent code with an LLM. I’d probably feel much safer having it write Rust, rather than C. So even in a post-LLM world, languages will continue to evolve as long as abstractions can be improved.

But do you still have enthusiasm for finding out about new language features or concepts? I'll do what it takes to get the job done, but the passion for it is totally gone.

Yes, as an example structured concurrency in Java (final release in Java 28 perhaps). I think that could totally change how we write concurrent code in that language.

I just upgraded a less important service to Java 27, a few days after its release (several nice features). It's cool how easy it is to upgrade nowadays.

That an agent writes most of the code doesn't mean anything to me here.

My examples are Java because that is the main language where I work.

Thanks for the perspective.

You're welcome. I now feel inspired to try to change your mind, if you don't mind.

I would argue that "concepts" actually are more important than ever. Let's take my structured concurrency example. It doesn't matter here exactly what is, but if it ends up being as important as I think it will be, I likely want to write most concurrent code that way going forward.

However, it will likely be years until agents go to it unless deliberately steered in that direction. And if I want to make agents write it, I need to review it, and if I'm going to review, I need to understand it.

I think this is why I'm not pessimistic about the profession, it still feels like what I'm doing and learning matters.

just chiming in to say that i agree with you. i initially felt demotivated and passionless but the more i use llms to generate code the more i feel like knowledge of the concepts are crucial to generating useful code.

eg. you dont need to memorise sorting algorithms or be able to write them, but you do need to understand the concept of sorting, and the concept of time complexity, etc etc. knowing what data structures to use and when to use them. knowing how to structure concurrency for your problem space. many many concepts.

system design is becoming the most important thing, and to me it's also the most interesting part of creating software. and there will always be more to know.

There's a couple of languages I follow their roadmap and I find exciting, including Java and C#. I don't feel there's proper justification of writing backend services in something like python or ruby anymore, for example.

Yeah, I also try to follow what's new. But it's more like "Ok, that's good I guess." Rather than "Cool! Looking forward to applying this in my next project!"

I found C# exciting when it was new and adding features that were important to me, but now it feels like it has become bogged down with chunks just abandoned on the alter of backwards compatibility (Expression, anyone?) and adding features I couldn’t care less about (null safe code, pattern matching, etc).

Never was really, at least if performance matters.

nothing stopping you to code manually

Nothing stopping me from doing a lot of things. But is there any point to it?

Meaningfulness comes from what you care about. I wonder why you were interested in programming-language concepts before but now (apparently) stopped caring about the code. The code still remains the language that communicates the actual program logic.

I guess a large part of my motivation was that it makes me a more effective and skilled programmer. There are countless of interesting things out there, and the motivation to focus on one comes from what you do with it later on.

> Sure, there is still use for language expertise, but not enough to get excited over new concepts and ideas.

Programming and learning new things can still be fun in the era of agentic coding.

With LLMs, I get to quicky ask: what would this look like? Why do it that way? If you suspect that the LLM isn't doing it the right way, you can still investigate that yourself.

e.g. the other day, https://rhombus-lang.org/ was mentioned on HN. With LLMs, the cost for trying this out is practically much lower.

Yep, learning new things is amazing now. Just today I went through some really crappy slides, just dropped them to gemini and asked for elaboration. It saved me hours of figuring the shit out the old fashioned way.

I was thinking about that too recently. We have a new service that we’re trying to publish an SDK for. I don’t like the SDK that was created and kept nitpicking about how verbose certain things are and how “unergonomic” it feels (long tedious type names, annoying redundant constructs, etc) But then I was wondering if for a brand new service/SDK if anyone cares anymore and how much fuss i should be making about that.

This is a bit nuanced, because if there’s redundant constructs then that does impact maintainability and efficiency with both runtime and LLMs working with the code.

I’d push this more towards personal preference of how code is expressed matters much less now than how maintainable it is.

There is the aspect of long type names, they often don’t have much impact when tokenized. The character count of words is nearly negligible - they often become one or two tokens anyways. But, the choice of words may have a greater impact on how the word choice weights an LLMs contextual processing of that word (a human may be able to ignore an inaccuracy in naming a bit more flexibly than some LLMs).

Exactly, hard to see why any of this matters anymore.

> the pre-LLM days when I used to love reading about programming languages.

The main thing to change this feeling for me is the large number of articles on programming languages written by an LLM.

> Sure, there is still use for language expertise, but not enough to get excited over new concepts and ideas.

In 5-10 years, the people who have paid attention to these will be needed to bail us out of the mess that the rest of the slop-addled monke brains have created.

That seems about as probable as translator jobs coming back in 5 years time

I'm skeptical, most human written code was and still is garbage and survives without major rewrites.

We will imprison these slop addicted monke brains and start new academic regime, only hand written OCaml code allowed.

Jokes aside, have you watched 2001 - a space Odyssey?

It isn't like LLMs are actually good at programming, so there's no reason to give up on your interest in it. The hype around LLMs is not sustainable, the quality simply is not there.

I used Rust extensively pre-LLM, and I'm much happier to serialize my thoughts to Rust than any other language.

I prefer to prototype in Golang since it compiles fast and makes for quick iteration, but at the end I ask the LLM to port the Golang to Rust.

Nice Rust enums for APIs are the chef's kiss.

I absolutely will not write anything in Python or scripting languages anymore. They're too brittle and don't have great devex or deployment stories. Especially when you can just as easily build in a typesafe language with good error handling that compiles down to a single static binary.

It still boggles my mind that golang hasnt introduced rust-style enums

After reading many comments from its original authors, it's not surprising.

Yep, my point tho is more sentimental than technical. Let the LLM figure out the language details and just manage the output and deployment. It's ... not fun

[deleted]

> I remember fondly the pre-LLM days when I used to love reading about programming languages.

First I thought you were going to comment about the grating LLM-isms in the article, which made me end up not enjoying reading it.