Eventually we will gravitate back to square one, and business people are not going to be writing COBOL or VISUAL BASIC or the long list of eventual languages (yes this now include natural ones, like English) that claim to be so easy that a manager would write it. And Googling/Prompting remain a skill that surprisingly few has truly mastered.
Of course all the venture capital believe that soon we'll be at AGI, but like the internet bubble of 2001 we can awkwardly stay at this stage for quite a long time.
Why not ask ChatGPT?
> A huge reason VCs and tech tycoons put billions into funding LLMs was so they could undermine coders and depress wages
is just pure speculation, totally unsupported, and almost certainly untrue, and makes very little sense given the way LLMs and ChatGPT in particular came about. Every time I read something from Anil Dash it seems like it's this absolutely braindead sort of "analysis".
Was there anything original in it? I'd like to ask this article, what was your knowledge cut-off date?
I think this is one of the reasons we don't see huge productivity gains. Most F500 companies have pretty proprietary gnarly codebases which are going to be out-of-distribution. Context-engineering helps but you still don't get near the performance you get with in-distribution. It's probably not unsolvable but it's a pretty big problem ATM.
I'm reminded of an old quote by Dijkstra about Fortran [1]: "In the good old days physicists repeated each other's experiments, just to be sure. Today they stick to FORTRAN, so that they can share each other's programs, bugs included."
I've encountered that same problem in some older scientific codes (both C and Fortran). After a while, the bugs somewhat become features because people just don't know to question them anymore. To me, this is why it is important to understand the code thoroughly enough to question what is going on (regardless of who or what wrote it).
[1] https://www.cs.utexas.edu/~EWD/transcriptions/EWD04xx/EWD498...
> Vibe coding might limit us to making simpler apps instead of the radical innovation we need to challenge Big Tech
is also pure speculation and doesn't make sense. In fact, enabling people to create small and simple apps could well indeed challenge and weaken dependence on big tech.
I stopped reading and closed the page.
What AI usage has underlined is that we are forever bound by our ability to communicate precisely what we want the AI to do for us. Even if LLMs are perfect, if we give it squishy instructions we get squishy results. If we give it a well-crafted objective and appropriate context and all the rest, it can respond just about perfectly. Then again, that is a lot of what programming has always been about in the first place - translate human goals into actionable code. Only the interface and abstraction level has changed.
I don't understand this argument. I mean the same applies for books. All books teach you what has come before. Nobody says "You can't make anything truly radical with books". Radical things are built by people after reading those books. Why can't people build radical things after learning or after being assisted by LLMs?
For those cases, I think LLM-assisted coding has the ability to drastically change the usual formula and help bring into being projects that people would previously only daydream about, hoping that the world aligns with their vision one day and they can magically spin up a team to work on it.
Coding agents are fast becoming at least a part of that team. If you're idea is in a domain where they've had a lot of high-quality training code, they can already do a pretty amazing job of getting a project off the ground. If you're a programmer with at least some domain knowledge and can guide the design and push the agent past tough spots, you can keep the project going when the LLMs get bogged down.
I think at the very least, we're going to see some incredibly impressive prototypes, if not complete implementations, of OSes, programming languages, hypermedia systems, protocols, etc. because one passionate programmer threw a lot of LLM time them.
Basically lots of people are going to be able to build their own TempleOS now. Some of those might end up being impactful.
I don't know how much "VCs and tech tycoons" want to undermine coders specifically, but they see a huge opportunity to make money by making things much more efficiently (and thus cheaper) than they can be made now. The way to they plan to do that is to reduce the cost of labor. Which means either automating away jobs or making jobs much less specialized so that you don't need a highly-paid craftsman.
Think about Henry Ford setting up an assembly line where a worker sits at the same location and performs the same action all day, every day. You don't need a highly-skilled, highly-paid person with leverage and power to do that job.
https://khromov.github.io/svelte-bench/benchmark-results-mer...
I found that LLMs sometimes get confused by Lit because they don’t understand the limitations of the shadow DOM. So they’ll do something like throw an event and try to catch it from a parent and treat it normally, not realising that the shadow DOM screws that all up, or they assume global / reset CSS will apply globally when you actually need to reapply it to every single component.
What I find interesting is all the platforms like Lovable etc. seem to be choosing Supabase, and LLMs are pretty terrible with that – constantly getting RLS wrong etc.
> I don't understand this argument. I mean the same applies for books. All books teach you what has come before. Nobody says "You can't make anything truly radical with books". Radical things are built by people after reading those books.
Books share concepts expressed by people understanding those concepts (or purporting to do so) in a manner which is relatable to the reader. This is achievable due to a largely shared common lived experience as both parties are humans.
In short, people reason, learn, remember, and can relate with each other.
> Why can't people build radical things after learning ...
They absolutely can and often do.
> ... or after being assisted by LLMs?
Therein lies the problem. LLMs are not assistants.
They are statistical token (text) document generators. That's it.
This has been my biggest hesitancy with adopting these technologies. All of the things of which I’m most proud of building were built from a foundation of deep understanding of several domains, not from the solutions of a series of one offs problems, but from the process of solving them.
The difference here is no reasonable person claims a cane can teach someone to walk.
With books, the sell is not that it will create your app and you don't even need to learn to code. The sell is that you will learn to code with this and then use it to build the app (often through a painstaking process).
> Jensen Huang says kids shouldn't learn to code — they should leave it up to AI
https://www.tomshardware.com/tech-industry/artificial-intell...
Which book tells you that you shouldn't learn to code but leave it to the book?
Because that's not how this is being marketed.
I agree with you completely - the best use case I've found for llms (and I say this as somebody that does generate a lot of code with it) is to use it as a research tool. An instantaneous and powerful solution that fills the gap from the long gone heydays of communities like mailing groups, or Stack overflow where you had the people - the experts and maintainers - that seemingly answered within a few hours on how something works.
But then that's not enough for all the money that's being fed into this monster. The AI leadership is hell-bent on trying to build a modern day tower of babel (in more ways than one), where there is no thinking or learning - one click and you have an app! Now you can fire your entire software team, and then ask chatgpt what to do next when this breaks the economy.
People vastly over rate the novelty of software work. The vast majority of the time, it's at least got conceptual similarity to things created before. A lot of the time, being "radically new" is a huge negative. It's a recipe for something nobody can understand or maintain. Almost all software is mild variations on existing things that are assembled to create something new in feature space, but its nearly 100% mind numbingly boring in the methodology of how it is built.
I do feel imprisoned by my vibe coded apps. But it's because I've lost control of them. I don't understand the code that was written well enough to work on it myself any more. So now I'm at the mercy of the AI to maintain it. When there's a bug to fix I just type it into the LLM and pray and hope that it will be able to solve it, because if it can't, I'm screwed.
It's actually a big reason I'm sticking with tools like Aider for things I care about and not going fully agentic yet. Having an agent do reams of work and then submit hundreds of lines of code for me to examine is counter productive to my longer term aims. I'm happy with the 2-3x improvement I get from lesser tools that still leave me in control.
“Hey boss we can use AI more if we would document these business requirements in a concise and clear way”
Worst case: humans get proper docs :)
With the printing press+internet, one might argue that we’ve helped cement current languages, making it harder for language to evolve naturally.
(A counterpoint may be slang/memes/etc. which has likely increased the velocity of new words for any given language.)
In either case, one might see LLMs as further cementing language, as it’s the thing the machines understand (until their next training run).
Assuming we struggle to make LLMs that learn in realtime, one might suspect that these amazing new tools might further cement the status quo, meaning less new words than before.
With all that said, I think I’ve come to the conclusion that LLMs will likely speed up the evolution of language.
The hypothesis being, that future generations will develop communication that the robots can’t read, at least at first.
A never-ending game of cat and mouse; while the cat is on v6, the mouse is on v7. Ad infinitum.
Overall, it seems like defining the structure to some extent yourself and letting the agent fill in implementation and suggest architecture changes is a good way to go to get a lot of useful work out of it without letting the structure of the overall app run away from you.
That's worse than you think. Maybe not for you though.
They are trying hard to push vibe coding in my work and they had one demo that stood out.
They showed how VC had created an app to analyse multiple logs. It worked, but when they showed the code it was using csv module in python and had created all its own functions. The app was 100's of lines long. The same thing could have been achieved in a few lines of code using pandas.
The person creating the app had no experience of python, nor how do to the work. So they could never tell whats wrong.
.. And that is what is going to happen as junior people come into the workforce, as the next line being pushed is you don't need an expert to VC.
That's eerie. So basically this is the same walled-garden formula but this time directly targeting your intelligence, rather than your data like it has always been.
> That’s not a book, that’s just a soup of letters! That’s not an art, that’s just paint on a sheet! That’s not an instrument, that’s just a bunch of crap glued together!
If you’re edgy cynic and treat anything this way, that’s fine. But if you’re singling out LLMs just because you don’t like them, then you’re a hypocrite.
It works, but I wouldn’t give it to someone else to use because I have little idea how to fix or troubleshoot it beyond shouting at an LLM.
It’s weird.
I don’t think the authors thesis about „radical“ apps is right though. You can definitely arrange simple vibe coded components in novel ways. Much of the business logic out there powering billion dollar companies isn’t exactly mind bending innovative code
Faster but not same as an expert would have created.
As an expert you have assumed knowledge on your area of expertise. For example I would assume that the system would know to use pandas and not csv module, because the latter would be a stupid thing to do outside of learning python.