I first learned how to program in 1984 at 14. The tech press said I'd be obsolete by 25, due to age.

About 1990 tech press said the Japanese were building fifth generation computers to make me obsolete.

In 2000, the dot com bubble bursting was said to make me obsolete.

There's been neural networks, no-code, and more, since then, to make me obsolete.

Now it's LLMs.

Excuse me while I sit here and don't panic.

#rant

EDIT: This blew up. Muting the thread for some peace and quiet.

@liw There were things that pulled stuff away from programmers though. Much of it at the time was hidden by the growth in demand.
Excel, BASIC, some expert systems, Hypercard, DBase and friends all enabled an army of not-really-programmer people to get real work done without having to become programming experts of any kind.

None of them hallucinated or ate entire data centres for lunch. Their output was predictable if slow and they kept working over upgrades in general.

@etchedpixels That is very true, of course.
@liw The real sad thing is the tools that were heading towards making some programming obsolete or at least much easier - stuff that worked off formal proofs and graph theory all got thrown under the bus when shiny "AI" stuff came along.
@etchedpixels @liw Programmers who think they need LLM coding assistants really just need better languages and libraries.
@mason @etchedpixels @liw both, often enough, is not the choice of the coder...
@mason
So true. I saw this on here a couple of weeks ago.
@etchedpixels @liw

@markotway @mason @liw I actually don't think anyone has been gatekeeping programming

The problems for a lot of use cases is IMHO different. It's really hard to build a way that people can express the problem for a tool to do the job properly. In narrow fields, or with constraints we are okish at it (eg Hypercard) but complex problems not so much.

Whether you can take a tiny bit of 'AI' and combine it with stuff that really knows how to combine patterns is a really interesting question.

Better slushpiles and slushpile indexes, maybe enough! Stack Overflow briefly overwrote that skill

@mason @etchedpixels @liw

@clew Would you rephrase that? I've missed your meaning and I'm curious what you meant.

“Slushpile” used to be all the code one had written, with employer secrets removed, whether it had ever seen use or not, organized so that you could reuse work. Data and UI structures that were not a good fit for earlier features might be useful now. Shake them out, improve while trying, put them away a little better.

I worked on a big team that had a nascent group slushpile for its giant long term software. This was way before git so harder than it would be with modern merging.

@mason

@clew Fascinating. I've never encountered the term. Re-reading your reply with that new understanding. Thank you.

background: I believe programmers borrowed “slushpile” from publishers. Publishers use it to mean all the submissions that come in without an agent, so, derogatory. For programmers it kind of means the manuscripts the publisher sent back, I guess.

@mason

@clew Makes sense. Most of my life I've been programming for myself so I've rarely had to maintain a concept for rejected work.

One time was funny. It was my first pure software engineering job. We broke up a task and I had a piece to write. We were all told to use Hungarian notation. I hated it but I did it.

I was the only person who did it. No one else had paid attention. So despite some well-deserved embarrassment from the others, I was the one who had to rewrite all my code, as the combined effort to rewrite everyone else's code would have been too much.

I didn't know it at the time, but this was to be a signpost for my entire career to date. :P

Do you have a place or concept for code you tried and put aside?

(“Nobody else did the obligatory thing” - argh, familiar.)

@mason

@clew It lives forever in a forgotten corner of my CVS^H^H^HSubversion^H^H^H^H^H^H^H^H^H^HGit server.

yeah, I SAY they were organized but “one directory, grep , and hope” was probably more common.

@mason

@clew I want to favourite this harder, but there's only the one button.

@etchedpixels @liw Formal proofs? You mean, something that requires writing a clear, well specified definition of what you want a system to do?

An LLM (the equivalent of a pub conversation on requirements) is always going to be more attractive to most.

@mbpaz @liw Most of your proofs are implied before the project - like not scribbling on things. For a lot of other stuff you then have a standard interface definition so that guides most of the rest of it.

Imagine a Linux driver of a given class. If there's a formal description of that interface then a formal methods based tool can verify you meet the formal methods, you meet the general rules for the kernel and you meet the language don't scribble rules.

and it's way cheaper than debugging!

@etchedpixels @liw
I spent a healthy time in a university dept surrounded by maths types whose version of "vi vs emacs" was "Coq vs Quickcheck" (aka theorem proving vs model checking) - but both meant, you know, studying things and writing arcane spells. Effort, time. The unthinkable.

@mbpaz @etchedpixels @liw

I saw very expensive CASE tools become "shelfware" because the prevailing business culture was to wing it. Also known as the Why the Hell Isn't Somebody Coding Yet? (WHISCY) methodology.

@mbpaz @etchedpixels @liw don't even try to do EAL5+ on this. The result will be dramatic, at best.

@etchedpixels @liw

I think the serious control systems people (FBW aircraft, industrial controls etc.) would disagree with you there.

I'd like to think the automotive people would be the same, but from what I've seen recently I fear not. 😠

@etchedpixels @liw

The problem with formal proof systems is messy requirements and change control. Which is why

- Sociologists can be Surprisingly
Useful in Interactive Systems
Design (October 1997)

https://archive.cs.st-andrews.ac.uk/STSE-Handbook/Papers/SociologistscanbeSurprisinglyUsefulinInteractiveSystemsDesign-Sommerville.pdf

AI doesn't help with the Requirements Engineering problem.

@etchedpixels @liw

BASIC was around long before that. The others were designed and written by programmers.

@liw
@cstross

Found this earlier today.

https://ruby.social/@[email protected]al/116248191876455615

"Sorry, can't use AI. I'm afraid I'll void my professional indemnity insurance."

Ruby.social

@liw You should, in fact, be awaiting "Please don't retire. No one else knows what we're doing."

@log @liw

I'm in that boat right now.

@liw oh i'm not worried about us still being needed

i'm worried about the state the world will be left in when we come back after being fired

@SRAZKVT @liw

I got a fair amount of work cleaning up behind tyro VBScript programmers that were set to work on developing enterprise software after the dot com bust. Come to think of it, that's what I'm doing now.

@liw I don't really think it was like that. Maybe way before that, when computers were still mostly analog, digital computers emerged together with prog languages, those made the older analog computers and their operators quite quickly obsolete. But after that there had been no strong claim by anything that would make programmers and developers obsolete (until now with AI, that is.) I'd say it was rather the opposite for long. Everyone was rather strongly encouraged to learn some coding skills, because that was supposed to be a necessity in most future jobs. Specially younger generations and educational programs leaned that way for long. I'd say from way before 2010, and till after covid, at least right up till the AI hype exploded couple of years ago with chatgpt passing some "high level knowledge" exams, formerly out of league for any computer programs.

@raulinbonn @liw it's a fact that most people don't have the thinking required to be able to write code, let alone good code.

All the LLM bs is doing is taking away entry positions and when we are dead and gone there just will not be a replacement on the same level and this is going to be a cumulative process.

@TheOneDoc I feel it's not as if most people can't code, they can do it just fine. It's just that most people, in the pursuit of writing code and earning money, don't assign any thought or importance to things like the politics behind free software, the issues surrounding copyright laws, and how code gives an individual immense power and freedom that can rival the impact a corporation may have.

One of my major sources of inspiration for choosing computer science and being interested in free software was the documentary TPB AFK and The Internet's Own Boy: The Story of Aaron Swartz, not money or lines of code or cool software features or "blazing fast" performance or memory safety.

One of the (flawed) arguments I've read from people who cheer for LLMs is that they "democratize" access to knowledge and "liberate" it from the shackles of copyright.

It's unsurprising to see that people don't realise or care where these LLMs get their data from (by DDoSing websites) but it is surprising to see them not realise who ultimately controls these models and software and the training data behind it. Claude can't "democratize" knowledge because it's limited by the amount of tokens one has access to and the same goes for all the other LLMs. The access may be generous and subsidized at present because of a desire to make people dependent on it but it won't be like that way forever. I mean, we have seen this pattern before with streaming platforms as well but somehow the temptation in this case is too strong to ignore the wisdom people may have gained in the past? It's baffling.

The argument that LLMs liberate knowledge from copyright restrictions is hilarious. Apparently, the actions of corporations and firms who lobby for copyright and DRM isn't enough to make people realise that copyright can always be used by those in power to oppress individuals when it suits them, even at present. I mean, good luck defending oneself in court if a corporation decides that your LLM generated software infringes on their copyright. However, individuals never had and never will wield such power. All LLMs do is pit individuals against each other and give corporations even more power to violate copyright when it suits them and harass people when it doesn't.

@raulinbonn @liw

The Pirate Bay - The galaxy's most resilient bittorrent site

@ayushnix @raulinbonn @liw no you say most coders can code but what I said was that most humans can't because they can't break down a problem into logical steps. It's the same reason most people can't do (anything but basic) math.

Copyright is well and good if you have the money to actually get your right in the legal system.

@raulinbonn @liw I remember the adverts in the computer press saying that companies wouldn't need programmers to write applications - that was probably the late 80s/early 90s, whilst I was still at school.
@raulinbonn @liw I also remember having to learn COBOL in the late 90s!
@liw <salutes fellow year Epoch engineer>

@liw I do think there are some reasons to worry - but not about skilled programmers losing their privileged position in the job market.

My impression is that a lot of the frenzied discourse is caused by two facts: 1) a few corporations are spending ridiculous amounts of money, and some of it on propagandizing, and 2) these LLM techniques do have some kernel of utility for some software engineering-related tasks.

I enjoyed the perspectives in this recent conversation: https://dair-community.social/@timnitGebru/116237328338979566

@liw
I'd say it's not panic per se, it's an anxiety "I, personally, won't have a job and means to live because a)... b) ...c)", where LLMs are just a cover or an accelerator for some of these a, b or c.
@liw All that advancement absolutely made obsolete my mad skills in 8086 assembler and CDC Compass. Yippee ki yay!
@liw
Same. And at our age we have the luxury that if this AI BS doesn't calm down in the next 3-5 years we can chuck it all in the sea and retire.

@liw

I started programming around 1974 (BASIC/Jean/Algol) and remained stubbornly not obsolete until I retired a couple of years ago.

These days I do occasional programming to scratch my own itches. I couldn't imagine using a stochastic parrot - it would spoil all the fun.

@liw It's fantastic that you have both the insight/wisdom of lived experience _and_ are in a secure enough position not to worry.

But the job market doesn't necessarily share your attitude and so those who have neither of these things are entirely justified in their concern.

@liw I've been around as long in tech but not a programmer aside from shell scripts, etc. I've tried no code, low code, etc with limited success throughout the years. In the last three months I've built several functional applications that have been on my personal wish list for a long time, all with just a prompt and a couple of hours.

You will not be out of a job but your job is definitely going to change dramatically.

@liw yes but most of it can be replaced with postgres, sendmail, procmail and cron.
@liw Same. It is hard at times though, with the relentless propaganda
@liw @Natasha_Jay no-code is the worst.
@liw Indeed. The good programmers learned how to adapt, and they succeeded because of it.
@liw You're perfectly riight. There is no reason at all to panic. It will be people like us they need to clean up the mess, when the hype winds down.
Actually my job in the last years I worked in the industry was already to clean up the mess incompetent coders left behind. That's one of reasons why I quit. It was so boring (although well paid).
So there is nothing new...
@liw in an earlier life, in 1970, a friend opted to do an A-level in computer studies, to the derision of all, and predictions of wasting his time ... um...

@liw The tools might not make you obsolete, but the ageist corporations are starting to take notice. I've presumably got decades of productive reasoning and diagnosis left in me, but being over fifty is an unforgivable sin nowadays.

It's not tools, it's people.

@liw I’m a couple of years older than you, and I remember that one of the first half-dozen issues of Personal Computer World magazine that I bought had an article about The Last One (https://en.wikipedia.org/wiki/The_Last_One_(software)), which was a program generator that would make 'real' programmers obsolete. In 1981.

<narrator’s voice> It didn’t make real programmers obsolete either.

The Last One (software) - Wikipedia

@liw

oh. in 2006, when amazon introduced their "cloud", managers were looking at us in the coffee rooms, saying "time to find a new job, we don't need system engineers anymore". I took a AWS Architect certification, and now I get paid MORE.

They don't get it. It happens ALL THE TIME, yet they don't get it.

And this was just the time i like to remember more. In the meantime, I had a certification of prompt engineer, (meaning: talking) and one as "agentic", which means, scripting on steroid.

If they like it...

@liw We shouldn't believe ourselves to be obsolete. It's time that we train the LLM's and keep on doing so to make them better. But nothing, and I mean nothing, will ever replace human reviews of that code, just because of accuracy etc. AI is only as good as the people who make it, and I'm not talking about just the engineers, but also the data that it uses and what the engineers decide to use for the data to train with.

@liw Hello Lars,
We have a similar background and I even worked on a open source project you contributed a large part to (Kannel)

I can only agree, LLMs are only eliminiating the copy & paste gurus because LLMs is as good as them.

Real know how comes from passion, attention to detail and is hard work. LLMs can never invent new stuff as it only is as good as the garbage it is feed to. Creativity and totally new approaches will never come from LLMs.

There is no shortcut to become a good dev.

@liw even with an llm, although it can write code for you... you have to be very explicit and detailed when you tell it what you want it to write for you. and you should have some basic programming knowlege, it helps when vibe coding. Also, vibe coding is good for some things, and not good for others. It made me a speak window and say terminal, but it's not too good at making sapi5 interfaces for old tts dlls. It is great with python, including wxpython for accessibility.

@liw same but about 6 years earlier. Crazy isn’t it.

https://youtu.be/5Oo_vmHzrrM

Pandora's C box

YouTube
@liw Meh. The “futurists” are obsolete.