Live data from Hacker News

Learning Programming in an Age of LLMs

blog.ploeh.dk

171–180 of 190 posts

Re: Learning Programming in an Age of LLMs

#171
post #58

I answered this to myself - stop worrying about LLMs. It's pretty simple: due to Curry-Howard isomorphism, programming languages are just notations for some type of formal logic. Now ask yourself a question, what language do you want to maintain the programs in? Do you think natural language is going to be easier and more maintainable than formal logic? The answer is no. So you need programmers, people who can read t…

re: natural language sucks. prof.dr.Edsger W.Dijkstra's views: https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667... I humbly add my own. Natural language is valuable for the things it doesn't say. The ambiguity is core to the functionality. Which can be very helpful when navigating social complexities. And then written language is also valuable for the things IT doesn't say. Under the theory that 90% of co…

I wanted to bookmark this essay, only to find out I already had! Thanks.

Re: Learning Programming in an Age of LLMs

#172

Sorry, programming is still fun. LLMs can't change that.

I agree. Possibly more fun than ever. Bugs are being caught earlier through AI review, higher quality and quantity of tests, features are going out faster, bad decisions can be easily course corrected and bike shedding is dropping dramatically. I miss the romanticism of trad coding but shipping better solutions to my customers was the goal. Hard to argue things aren’t better when AI is used intelligently by experienc…

> I miss the romanticism of trad coding but shipping better solutions to my customers was the goal.

True, every child grows up with the dream of maximizing shareholder value, I’m so glad they can achieve that now. /s

Re: Learning Programming in an Age of LLMs

#173

Earlier quoted context omitted.

We are in fact finding out precisely why natural language sucks in real time, as we have all kinds of catastrophic errors with people who think this is finally the time for complex language to prevail over pesky nerd language. The only difference is that more people seem to prescribe to the "you're holding it wrong" handwave when said catastrophes are pointed out.

Plenty of catastrophes are available under pure logic as well. The only catastrophes they prevent are accidental ones. Natural language can build civilization around "do unto others as you would have done unto you". Logic cannot encode morality, precisely because it is unambiguous.

I can appreciate your original point, but this degenerated into naivete. The is-ought problem exists in (and was formulated for) natural language, and ambiguous formal languages are childsplay. There are further problems (ignorance of the consequences of reality being finite, misunderstanding the operative layers of interpretation) but these two alone are disastrous by themselves. Don't mix up convention with implicit substance. There's a very basic philosophical lesson you're missing, and I'll let you in on the secret: The labels aren't actually descriptions of any property. The distinction is indoor baseball. Notations, syntax, semantics. What you want is signal, and you can transmit that any way you want. Writing and drawing were once the same thing. Still are.

Re: Learning Programming in an Age of LLMs

#174
post #154

To me software engineering was often about: how do we structure the project so that the crappy code the other students/co-workers write don't break everything? Not because everyone writes bad code. They do, at-least the do first time you read their code. You only think someones code is decent when you spent 3 hours trying to refactor their PR, and realized that the compromises they made were perhaps reasonable. (This…

The difference is, the total cost for a human to write/modify code files is much higher than for an LLM. A lot of time has been spent designing program languages so that human time is more optimized. LLMS dgaf if the code is structured cleanly or is a mess.

So even if you end up with a mess of a codebase, as long as you define your test cases and they all pass, what is in the middle doesn't really matter.

Re: Learning Programming in an Age of LLMs

#175

Earlier quoted context omitted.

I agree. Possibly more fun than ever. Bugs are being caught earlier through AI review, higher quality and quantity of tests, features are going out faster, bad decisions can be easily course corrected and bike shedding is dropping dramatically. I miss the romanticism of trad coding but shipping better solutions to my customers was the goal. Hard to argue things aren’t better when AI is used intelligently by experienc…

> I miss the romanticism of trad coding but shipping better solutions to my customers was the goal. True, every child grows up with the dream of maximizing shareholder value, I’m so glad they can achieve that now. /s

Ok. Replace “customer” with “end user”

Re: Learning Programming in an Age of LLMs

#176
post #154

To me software engineering was often about: how do we structure the project so that the crappy code the other students/co-workers write don't break everything? Not because everyone writes bad code. They do, at-least the do first time you read their code. You only think someones code is decent when you spent 3 hours trying to refactor their PR, and realized that the compromises they made were perhaps reasonable. (This…

And building the correct structure for your problem/program is still a huge part of the job. If you completely delegate structure, you still get a clusterfuck.

I have found working with LLM's is best when I provide as much structure and constraints as possible, and reduce the degrees of freedom that the LLM can exercise, so that it is forced to fit its logic inside the structural boxes I have laid out.

If you just delegate everything to the LLM to get an absolute morass.

Re: Learning Programming in an Age of LLMs

#177
If you were an average tailor in 1700s, you would have to transition into operating sewing machines in a sweatshop. Same for coders, time to transition into the intellectual sweatshop, this one at least seems to be more comfortable.

Coutures are still hand made by tailors, a lot of it hand sewn without a machine. It’s the same with LLMs, GPT Astra max thinking and it still mostly looks and feels like Slop. That slop is probably fine for 90% of software products but not for 10% of remaining high quality software. Decide which part you think you can / want to join.

Re: Learning Programming in an Age of LLMs

#178

I'm a software engineer, I do software development but also system maintenance, and I do handle networking and telephony systems, and work with some juniors. Working with AI is problematic. It can speed up you but at the same time delay you. For the system maintenance part sometimes you need to do a lot of stuff fast and in various machines and you can't just count on a cloud based AI oracle (that takes time) to do y…

I think it's more about inertia than anything else. I know the dishwasher will take less than 5 minutes to unload, but I put it off anyway. Problem is the AI can take action immediately, and that's very alluring. I'm sure there's research on exactly where that breakpoint lies. My current goal is to try and spend 15-30 minutes attempting to solve a task when I feel myself reaching for the AI.

One of three things tends to happen. Often it's something that is resolved in a matter of minutes, in which case it was laziness. Or, it's something that will take more time, say up to an hour, but the act of starting has conferred a sense of ownership that I don't want to give up to an LLM. Else, it looks like a much more complex problem and worth re-assessing, and potentially brainstorming with a model.

Re: Learning Programming in an Age of LLMs

#179
post #153
post #149

> After months of refactoring I had an uncomfortable realization: I may have built a system that is above my own level of understanding. When everything works, that gap is almost invisible. When it doesn't, it becomes very real. > "Sometimes I genuinely don't know what to do next without asking another model. That made me wonder whether I spent a year building a product, or partly building the appearance of one: some…

Accurate. I've wrote a rather large system that runs a medium business, solo. When a bug pops up, I feel unfamiliar with the code. It was all written by hand with 0 LLM usage. It is normal to feel this way. However, I am still very capable of resolving the issues in a timely manner. Adding any new big features is a big undertaking and usually involves a lot of refactoring to fix the dumb decisions I've made.

I have this feeling whenever I read my own (no llm) code that I wrote 6 months ago. Sometimes a couple of weeks is enough to feel alienated from my own, well considered code, that I spent a lot of time crafting with love.

That is why I try to make good, high level descriptions of what is going on at several levels of a project. Funny thing is, I just kept on doing this with llms, using AGENTS.md at almost any subdir of a project. It works for me, and it seems to work for the llms too.

Re: Learning Programming in an Age of LLMs

#180

Earlier quoted context omitted.

> The code may work, but there’s no guarantee about its behavior (including error handling and edge cases). But the painful reality is that we never had any such guarantees in industry code to begin with; despite decades of writing on software engineering best practices, software from the biggest companies is often bug ridden. My experience might not be representative, but when I do my "old man yells at clouds" routi…

> it's a lot more often targeted at Microsoft and Google software than at "vibe coded slop". What makes you confident the Microsoft and Google software isn't vibecoded slop? Certainly Microsoft has made a lot of noise about all their software being LLMgen these years, and also gotten into hot water with their users for Windows 11's crappiness.

Very good point. I would respond that I saw the deterioration several years before vibe coding became a thing, but maybe they did have a head start on the tech.
Post reply on HN