Live data from Hacker News

Learning to code is still worthwhile

stevekrouse.com

251–260 of 326 posts

Re: Learning to code is still worthwhile

#251
Coding does not inherently have the “precision” of mathematics. If you’ve ever tried to formally verify even a basic algorithm you’ll know how “loose” programs are with their specifications.

If you end up down this route you’ll gain an appreciation for a branch of mathematics that has spent most of its history maligned by the wider community.

I too finally started grokking trigonometry and calculus in high school thanks much due to programming.

I don’t think it’s the best entry point for mathematics though. Us programmers tend to bias its effect on our learning and appreciation. For most people programming is tedious, cryptic, and frustrating. It doesn’t aid understanding mathematics if you can’t even use it.

Maths is beautiful on its own. And so is programming.

I think it’s still worthwhile because for all that these systems can do it still takes an experienced human to drive them. Any positive results are due to a human understanding the training data, the system, and importantly the output. You can’t one-shot a production grade C compiler or OS with these tools and never will be able to without over fitting the model. You need to know what a production grade C compiler requires in order to generate one using tools like this.

So keep learning. Mainly because it suits you, benefits you, and you like doing it.

Re: Learning to code is still worthwhile

#252

Earlier quoted context omitted.

For now, I can imagine a not too distant future where this is largely untrue. LLMs are an abstraction just like machine code -> assembly -> C/JVM -> some lang -> LLMs? At some point you stopped needing to understand the layer down because the layer you were on became so good. Yes there are always corner cases, but for the vast majority of developers/engineers out there, staying at your layer was enough to make a care…

> LLMs are an abstraction just like machine code -> assembly -> C/JVM -> some lang -> LLMs? People keep trying to make that analogy, but it doesn't really work because LLMs aren't deterministic like compilers and assemblers.

It is not obvious to me that determinism is a requirement for an abstraction

Re: Learning to code is still worthwhile

#253
post #163

I think that, even among those who have had the ability to code since before LLMs, the skill of coding has been in atrophy, and will continue to be so over the next 10 or 20 years. Learning to code, over the same period of time, will not be worthwhile. At the end of that process, cracks in the system will start to show: Namely, we will have nothing but LLM-generated code to train future LLMs on, and codebases for pro…

>codebases for production code will be so low in quality that they will be unintelligible to humans, and LLMs, too, will have trouble maintaining them

The concern for code quality has become increasingly unfounded. I have noticed over the last year or so that you can still tell when a codebase is 100% AI generated, but not because it is poorly written or disorganized, but that it is now dramatically better than any human would have written.

Re: Learning to code is still worthwhile

#254
post #214

Earlier quoted context omitted.

The 1500 line react component that my unsupervised agentic coding side project produced says that it can get worse than we have now.

I swear I see far worse from humans for working businesses, and in much worse ways than just duplication of code. At least AI tends to be smarter about React intricacies even if it does create huge files. For my personal projects however I have straight token limits per file, whether it is backend or frontend so AI can't do that many lines of code. And I have specifically token limits so it would avoid hacking with f…

> At least AI tends to be smarter about React intricacies even if it does create huge files.

Oh no it's not. You just haven't seen where it goes when barely supervised by someone new to React. I've seen a level of spaghetti code with excessive useEffect and useMemo, reinventing two-way binding, I didn't even know was possible in React.

Spent months detangling weeks of AI-generated work earlier this year. Eventually got to the point we were actually fixing bugs by accident that previously neither they nor the tool could figure out.

Re: Learning to code is still worthwhile

#255
post #247

Earlier quoted context omitted.

Your argument assumes premises that are hardly certain. We use automobiles to travel, yet tens of thousands can still ride horses today. Hell, there are thousands of blacksmiths and glass blowers. If there's a several hundred million dollar market for programming language experts, this will provide sufficient incentive for some people to remain sharp. We still have COBOL programmers for a reason. The economic incenti…

Actually, riding horses is a great example, and you happened to pick a domain within which I dabble: People are not capable of riding horses today at the level of skill of a nobleman from Renaissance Europe. People at the forefront of the riding arts today read manuscripts from Guérinière, second-guessing at the meaning of every last syllable, because many of those sources describe things that are unintelligible and…

Similarly, I spent a few hours one day going down a rabbit hole of modern marble carvings, wondering if there were any hidden great masters of the art. I found that despite there being essentially limitless wealth and people compared to when the Pietà was made, there’s nobody making marble carvings like the masters did. Now there are some somewhat stylized marble carvings but in my opinion they pale in comparison to a masterwork marble statue. After all, why do that when you can just snap a photograph?

Re: Learning to code is still worthwhile

#256

> Code is a beautiful form of creative expression, as rich as literature or music Something I'm trying to do right now is to build something and avoid using LLMs to write any code. I still use it to consult. I'm writing a Dota2 tournament match aggregator in Elixir that takes tournament streams and chronologically orders them in a format that makes it easier to watch them sequentially since I find YouTube hard to use…

I'm reading Seneca right now and in one of his letters he said: "That focused concentration on one's work is deeply enjoyable in itself; the pleasure one has in the finished product after the work is done does not equal it. Now, the artist is enjoying the result of his art; while he was painting, he was enjoying the art itself".

And basically this is the problem I see in LLMs: they robbed me of these moments of enjoying the art of programming itself.

Re: Learning to code is still worthwhile

#257
post #254

Earlier quoted context omitted.

I swear I see far worse from humans for working businesses, and in much worse ways than just duplication of code. At least AI tends to be smarter about React intricacies even if it does create huge files. For my personal projects however I have straight token limits per file, whether it is backend or frontend so AI can't do that many lines of code. And I have specifically token limits so it would avoid hacking with f…

> At least AI tends to be smarter about React intricacies even if it does create huge files. Oh no it's not. You just haven't seen where it goes when barely supervised by someone new to React. I've seen a level of spaghetti code with excessive useEffect and useMemo, reinventing two-way binding, I didn't even know was possible in React. Spent months detangling weeks of AI-generated work earlier this year. Eventually g…

I feel like I've seen people frequently doing the mistake of keeping way too many things in state that could and should be computed, but instead they would useEffect to read to dependencies change to update the state. And frequent useEffect infinite loops. I guess it depends heavily on how you would set up the initial prompts I suppose, but yeah if someone is new to React, maybe AI will do that you are right.

But also I see people constantly baking in more and more stuff into a single component and more and more useEffects and convoluted stuff, without no one ever daring or deciding to split up the file, because it doesn't seem like part of the ticket. And it never will.

At least to AI I can set guardrails and rules/logic to follow, to keep files small, but many people working on many random things one small ticket a time, where no one is there doing the refactor, things will also get crazy.

At least I feel I can use AI with guardrails to keep the codebase in a better shape than 100s of people working on the same monorepo.

Re: Learning to code is still worthwhile

#258
post #252

Earlier quoted context omitted.

> LLMs are an abstraction just like machine code -> assembly -> C/JVM -> some lang -> LLMs? People keep trying to make that analogy, but it doesn't really work because LLMs aren't deterministic like compilers and assemblers.

It is not obvious to me that determinism is a requirement for an abstraction

> It is not obvious to me that determinism is a requirement for an abstraction

But it is a requirement for them to be an "abstraction just like" assemblers or compilers, which is what was being claimed.

Re: Learning to code is still worthwhile

#259
post #183

Earlier quoted context omitted.

Part of the industry always seek humans able to code with deep understanding. AI is fast but always lacks depth, works better if you are able to pilot it with your knowledge. If that changes, learning code becomes useless. If you learn code with limited depth (nextjs bros), this is already useless.

> Part of the industry always seek humans able to code with deep understanding. Name them. In my 16 years in the business I've never come across any; I've always worked under leaders who did not care about code quality in the slightest and just looked at outcomes, and when outcomes stopped happening as a result of poor code quality were always unable to connect those dots (or wilfully looked the other way). I think e…

Most AI-refugees where quality doesn't matter will embrace the slop, they will become slop experts, slop consultants. Learning to code become less relevant, except if you are looking for a work that really needs it and it will still be valuable, that won't be for everyone.

Re: Learning to code is still worthwhile

#260
post #246
post #242

Earlier quoted context omitted.

The reason LLMs seem powerful is that they can churn out the Nth variation of a CRUD app in minutes. But it’s hard to imagine they’ll ever independently develop a compiler for a truly novel programming language, for instance. They don’t have creativity. They are pattern generators.

Isn't "creativity" the result of a combination of patterns (usually from different contexts) that casually works? I bet LLMs/agents can do that (we can't know how far that can goes).

For me that creativity is very well expressed by the principle of abduction. With induction, generalise towards rules, or deduction, use rules on data, we have this combination of patterns via different contexts. I think abduction might not be possible via LLMs.
Post reply on HN