Live data from Hacker News

Learning Programming in an Age of LLMs

blog.ploeh.dk

111–120 of 187 posts

Re: Learning Programming in an Age of LLMs

#111
post #34
post #8

I said this in different ways before and got shoveled because of the way I said it: None of us know how to farm, not even the chefs who cook for us at a restaurant or fast food joint, but we eat every day and nobody's going around making people feel guilty about not knowing how to till soil and sow seeds.. In programming and other creativity, most people's skills will [have to] change/evolve into managing, directing,…

In which language a string would be a pointer to a pointer to a character? Even in C, string literals are simply a sequence of null-terminated char, no pointer involved.

fuck idk man what I was thinking lol (or I saw `char *` but don't remember where) but this shit is on the same level as the "a monad is just a monoid in the category of endofunctors" meme by now

See I'm a full-time coder (since before AI) and even I'm not sure about this shit! I didn't need to be!

Is every professional programmer who doesn't know assembly language and machine code today "dumb"?

Just accept that as technology moves on, some basic essentials become "baked" into the tools we use, and at the end of the day all that matters is what you make with it.

It's OK to use a fork without learning how to mine and smelt ore first.

Re: Learning Programming in an Age of LLMs

#112
post #17

Earlier quoted context omitted.

> I said this in different ways before and got shoveled because of the way I said it Are you sure that was the problem? Because to me it seems like it’s the argument which doesn’t hold. You’re engaging in what is called a False Equivalence. https://en.wikipedia.org/wiki/False_equivalence Those things are not the same. Crucially, the food you buy at the store or restaurant is heavily regulated, provenance established,…

> False Equivalence or whatever So is claiming "if people don't keep learning the absolute basics about everything they'll be stupid and useless" Bruh we don't know shit about farming, how to milk an animal, we don't know how to mine, how to smelt ore, yet every day we enjoy the benefits of other people or machines doing those activities. None of those people go around chastising us the way "real coders" are doing no…

> So is claiming "if people don't keep learning the absolute basics about everything they'll be stupid and useless"

That’s not a false equivalence, there’s nothing being compared there. Also, I have no idea who you’re quoting, but it sure as hell isn’t me and I can’t find a match online for that phrase. Looks like a straw man argument.

> Bruh we don't know shit about

I’m not your “bruh”, and when you say we you mean you. Either way, you’re just rehashing the same false equivalence despite saying “so is” (implying you do think the first argument is indeed a false equivalence) so I have no idea why you’re back to that.

Re: Learning Programming in an Age of LLMs

#114

“I built a thing with AI and I don’t understand it. I want to make changes and fix things and have no ability to theorize why it fails or how to fix it.” Oh my. See, you have to be able to program it yourself before you can build it with an LLM. Otherwise you have no way of judging the output. AI isn’t going to make you a programmer. Learning to program is. Interesting article. My advice is to do it the old fashioned…

We're relearning why you do math by hand before you use a calculator, and why you (usually) dont get internet access during tests even though in the real world you can quickly look things up.

Re: Learning Programming in an Age of LLMs

#115
post #59
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…

No offense, but "natural language sucks" is the refuge of the illiterate logician. Complex language is clearly superior in nature. We're now finding out that that is true in computation as well.

Well, almost all scientific domains have developed a form of structured and formal language, because natural language is too ambiguous. There's "code" everywhere, not just in programming.

Re: Learning Programming in an Age of LLMs

#116
post #65
post #59

Earlier quoted context omitted.

No offense, but "natural language sucks" is the refuge of the illiterate logician. Complex language is clearly superior in nature. We're now finding out that that is true in computation as well.

Extraneous and ambiguous is superior? Or are you talking about hypothetical new spoken languages?

Yes. Ambiguity is a feature, not a bug.

Re: Learning Programming in an Age of LLMs

#117

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…

> we would have to live in a world where software engineering didn't matter. As an engineer who works very hard to do the right thing, I'm beginning to worry that software engineering doesn't matter. I write code that i think about a lot, understanding every line. It's not perfect, but I try to make sure my code is maintainable and well structured. I work much slower then my colleagues who produce unmaintainable slop…

Of course customers do not care about code quality in and of itself. Just like they don't inherently care about the type of seam used for a garment. But they do care if their clothes fall apart after two washes. People care if software is buggy or slow or becomes harder to use or more expensive over time. And the way we know how to mitigate that is by ensuring code quality (it's definitely not the only factor, but an important one).

Re: Learning Programming in an Age of LLMs

#118

Earlier quoted context omitted.

It's not about what the customer complains or notices at short term, is about having a quality system that can be augmented without accumulating same kind of debt. I can give a simple example. I have a coder here that filled the crontab of a server with periodic tasks. One of them was doing +200 failed requests per second and shutdown one of our routers. The router wrote so much logs that it changed the health of its…

> It's not about what the customer complains or notices at short term, is about having a quality system that can be augmented without accumulating same kind of debt. I agree with this wholeheartedly, but convincing nontechnical management of this fact has been extremely difficult. It was hard in the days of the stackoverflow copy-paste monkeys, and it's even harder in the age of LLMs.

Some people cannot be convinced of this, but some can, as long as you don't use technical language to describe the issue. Essentially, instead of saying "we need to prevent technical debt and have a maintainable software architecture" one needs to say stuff like "software quality enables a faster time-to-market for new features and less customer churn". i.e. put it in business-y terms.

Re: Learning Programming in an Age of LLMs

#119

Earlier quoted context omitted.

That’s the power of abstraction when there’s a good API around something to hide the internal that doesn’t matter much at an higher level. You only need ‘open’ and ‘read’ instead of dealing with disk access and file system trasversal. But those abstraction are deterministic in nature, so there’s a very good guarantee of their behavior. Someone using LLM and not caring about the generated code is just asking for troub…

non deterministic abstraction are absolutely useful, outside of software sector they have been used since the start of civilization ("a worker" is a very very non deterministic abstraction, outside from the most basic tasks)

> "a worker" is a very very non deterministic abstraction, outside from the most basic tasks

Sure but we (usually) don't fool ourselves into believing otherwise. The problem with AI is that it suggests near-perfect intelligence with reproducible results. So many people are not acknowledging the fundamental limitations of LLMs, whereas we all have an intuition for the limitations of humans.

Re: Learning Programming in an Age of LLMs

#120
post #34
post #8

I said this in different ways before and got shoveled because of the way I said it: None of us know how to farm, not even the chefs who cook for us at a restaurant or fast food joint, but we eat every day and nobody's going around making people feel guilty about not knowing how to till soil and sow seeds.. In programming and other creativity, most people's skills will [have to] change/evolve into managing, directing,…

In which language a string would be a pointer to a pointer to a character? Even in C, string literals are simply a sequence of null-terminated char, no pointer involved.

I'm being pedantic, but JavaScript string is often internally implemented using Ropes, which is arguably a pointer to a pointer to a character.
Post reply on HN