New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. AI models need more data about biology, and OpenAI is paying to create it(technologyreview.com ↗)
    discuss
  2. Show HN: Omastorm – Live NEXRAD weather radar for Omarchy(github.com/wesleygrimes ↗)
    discuss
  3. Apodex – FrontierAgent(github.com/apodexai ↗)
    discuss
  4. Internal Tool Delegation for Agents vs. External Payment Auth(skyfire.xyz ↗)
    discuss
  5. Ask HN: What is the most career altering course or book you have gone through?
    1comments
  6. China's open-weight AI models are now just 4 months behind frontier US offerings(tomshardware.com ↗)
    discuss
  7. What writing for the Washington Post taught me about standup comedy(pammoore.substack.com ↗)
    discuss
  8. Mythos 5 Transcript Release(github.com/anthropics ↗)
    discuss
  9. HP ZBook Ultra G3a 16 Preview: 192GB Unified Memory Aims for Top Local AI Laptop(storagereview.com ↗)
    discuss
  10. Show HN: IndexLaunch – free indexability checker and IndexNow submission queue(indexlaunch.site ↗)
    discuss
  11. The New Chinese Way of Cyberwar(foreignaffairs.com ↗)
    discuss
  12. Show HN: Gescom MiniDisc Runner – 88 tracks, 88! possible orders(github.com/ei3lh ↗)
    discuss
  13. The End of EWS in Mail and AppleScript in Outlook(mjtsai.com ↗)
    discuss
  14. When Software Becomes Cheap, Trust Becomes Expensive(medium.com/hbbio ↗)
    discuss
  15. Ask HN: Can LLMs be used to invent a new human language?
    2comments
  16. Turn a musician's photo and video archive into a social content calendar(wdstck.co ↗)
    1comments
  17. Cartman, Kenny, Stan and Kyle Are Back as South America Season 29 Premieres(cc.com ↗)
    discuss
  18. EU chief wants Canada to become the bloc's first associate member(apnews.com ↗)
    discuss
  19. PCBSchemaGen: Reward-Guided LLM Code Synthesis for PCB Schematic Design(github.com/hzou9 ↗)
    discuss
  20. Show HN: Tray indicator for WSL2: on/off, CPU and memory, one-click shutdown(github.com/ideaconnect ↗)
    discuss
  21. Is it hypocritical to criticize AI slop while promoting vibecoding tools?(wuemeli.com ↗)
    discuss
  22. Some things Veloren does differently(jsbarretto.com ↗)
    discuss
  23. Termiclanker: Script a Robot with Bash(cli-games.com ↗)
    1comments
  24. FluxVLA now supports GPT-6 Astra on LIBERO through the OpenAI Responses API(github.com/fluxvla ↗)
    discuss
  25. macOS 27 Ends Time Machine Backups to Time Capsule(macrumors.com ↗)
    discuss
  26. Show HN: Modern RSS reader with social capabilities based on AT Proto(sunred.app ↗)
    discuss
  27. Age Limits for Social Media Outlined by European Union(nytimes.com ↗)
    discuss
  28. Buncefield 20 years on: Turning lessons into safer industry practices(hse.gov.uk ↗)
    discuss
  29. Accelerating Large-Scale Test Migration with LLMs(airbnb.tech ↗)
    discuss
  30. Salesforce Global Outage(salesforce.com ↗)
    discuss

Learning Programming in an Age of LLMs

52 pointsby 1h agoblog.ploeh.dk
32 comments
1h agoHN ↗

IMHO, I think that it could be better if the question about how to learn programming in the age of LLMs were asked to someone who is learning now by using LLMs. Someone who learned programming thirty years ago can perhaps give you only one side of the coin, whereas someone learning today from scratch using LLMs could give you good advice on what the real difficulties are and where the main drawbacks lie. Combining both views would give a better idea of the landscape.

55m agoHN ↗

Difficulty is too many technologies available. So a beginner needs something/someone that teaches principles.

I have realized that simplier (boring) is better. E.g. simple html5 css combo is better instead of trying to navigate in JS frameworks.

36m agoHN ↗

simple html5 css combo

HTML is not a programming language IMHO. Javascript running in browser is not very interesting either.

31m agoHN ↗

Javascript running in the browser is an amazing tool to learn programming as everything you need is right there in the program that's already installed anyway.

No True Scotsmanning someone over that (especially someone who wants to learn something new) is a bit weird, IMHO

26m agoHN ↗

Don’t catch me by word :)

Would you prefer starting with compiling a program or running a python script? Imho for beginners it is too heavy, even a python that is so hyped recently.

15m agoHN ↗

As a programming languages researcher I disagree. HTML is not just a programming language (a declarative one), it literally has the word “language” in the name. The world of programming languages is much larger than general purpose languages.

Also, whether JavaScript is interesting is a matter of opinion. Given that for a long time it was the only web language, I’d say that makes it interesting. It’s also in my opinion a poorly designed language but that also makes it “interesting” because its behavior is sometimes hard to predict.

11m agoHN ↗

There is something to this.

But I think at least in front-end engineering, the bigger question is what a new dev values.

LLMs make the browser itself easier to understand in depth, if that's something you want. Building in vanilla-everything, no deps, is now doable at speed and scale for beginners too.

Once you understand the web stack and the principles, you can migrate to any framework and understand their "magic" fast. I think that's not a bad learning path at all, if you use it well, and results in a more competent web-dev than the previous pre-LLM cycle produced.

But if the beginner values output aesthetics and speed more than building their mental model, it is possible to spend years building things without developing any understanding.

For me, at least, the more interesting question is how can we make beginners more interested in the former path than the latter.

6m agoHN ↗

whereas someone learning today from scratch using LLMs could give you good advice on what the real difficulties are

if we're talking about the LLM usage as described in the article, they can't do that by definition because they're not learning. You can replace the word "model" in the article with "guy I hired on fiver" and there would be no difference. They outsourced the building of a product.

If you're having robots lift weights for you at the gym it's a moot point to ask what the real problem with your form is, you don't even have one.

You can use an LLM as a kind of tutor to ask it questions the same way you'd google, but you can't actually substitute the programming if you want to learn programming

58m agoHN ↗

I'm the author of Python Crash Course, and I got this exact same email this week. I was thinking of writing a public response as well, because any attempt to sincerely answer these questions takes something along the lines of a full post. It's also worth a public response because many people who are getting into programming for the first time right now are asking variations of these same questions.

Do I think that AI enables people to develop faster than they can keep up?

Absolutely. That's the core of this person's email, and everyone else who asks similar questions. Just five years ago, the only way to build a working project of moderate complexity was to learn the basic to intermediate concepts required to make an MVP. Now, if you can steer an LLM reasonably well, you can quickly build an MVP that goes well beyond your own understanding of the implementation.

I don't think anyone has clear answers to all the questions brought up in this email. I think people can learn faster than they used to, because they can make connections between different areas faster than they used to. But it requires skill and discipline in how you learn, and how you work. You have to intentionally build your understanding as you build your projects.

23m agoHN ↗

I think people can learn faster than they used to

Agree, but that only applies for people who were experienced developers before AI took over. Let's see in 5-10 years what our caliber looks like when you skip the foundations.

58m agoHN ↗

I think bill gates summarized it pretty well in a recent letter [1]. There are pro's and con's to every new technology. Learning can be greatly accelerated with the use of llm's but you have to use them the right way. Just like calculators help further down the line, they do not help you when you are still trying to learn the basic concepts of arithmetic. I personally think I have found a way of working with llms that really accelerates getting stuff done while i am still able to learn. It means reading more, and (although I hate this in part) reading generated text. What is infuriating is when I suspect people writing to me with generated text, it is insulting and should be banned. Makes me want to spend more time offline (probably a good thing in my case).

[1]https://www.gatesnotes.com/home/home-page-topic/reader/a-tur...

51m agoHN ↗

I'm sure people said the same thing about fire, some 100s of 1000s of years ago.

54m agoHN ↗

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, dictating, knowing what you want, describing it, and focusing on the end product and iterating,

instead of wrestling with why the f is a string a pointer to a pointer to a character

just like we don't track the phases of the moon and seasonal rainfall before we can have a nice salad to eat.

32m agoHN ↗

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, safety checks in place. When there’s a widespread issue, we have systems in place for recalls. The differences don’t stop there, and you can’t ignore them just because the processes so ingrained and well established that you forget they’re there.

29m agoHN ↗

Yeah but should programming issues become "how can I be more friendly to the waiter so they give me what I want?"

That's not what I want programming to become. I'd choose a different profession then. Maybe I'd become a surgeon because the AI labs haven't cracked robotics yet. And the people in general look up to surgeons and down to IT people, but that's another story.

8m agoHN ↗

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.

6m agoHN ↗

That’s one of the worst analogies I’ve seen lately

44m agoHN ↗

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 your job for you. And the same time, the more you use it as a oracle, the less competent you get. If you are an expert, I would say in any area, you do benefit from using AI as a tool but it easily can become a double edged sword and make you less proficient. For juniors, it can make them rapidly produce stuff that is impressive and works ok for sites and some visual stuff, but it's impossible for a junior to become an expert if they get stuck in the AI using loop. For AI to cause a clean impact, I would say that we would have to live in a world where software engineering didn't matter. That is, the choice of databases, high availability systems, the programming languages themselves.

41m agoHN ↗

"The same kind of argument was used when China was admitted to the World Trade Organization. And indeed, lots of new jobs were created, just not in the Western world."

China's entry into the WTO is really not a good evidentiary example for AI causing mass unemployment. Unemployment in the U.S. had already been increasing at the time, peaked soon after, decreased to well below the point it had been at China's entry, and only went up again during the Great Financial Crisis, which had nothing -- or at least very little -- to do with competition from China. That's not to say that jobs weren't lost, even en masse, but they were replaced, and U.S. unemployment has been near record lows in recent years. China's WTO entry is a supporting point, not a counterpoint, to the idea that jobs lost to AI will be replaced by new ones.

https://fred.stlouisfed.org/series/UNRATE

34m agoHN ↗

I think it's still important for young people to learn coding without the LLM. they need to see the little pieces before they can build big structures. It will be like calculators, just on a bigger scale: you learn how arithmetic works, and then you rely on the calculator when you are multiplying large numbers.

My guess is it will probably take some time to incorporate LLM use into education. People who are graduating right now have a problem, being between two worlds. Those graduating in a few years might have chance to figure out what to do.

I may have built a system that is above my own level of understanding

If I venture into an unknown area, I end up where the letter-writer ends up when he is visiting programming. Suppose I am curious about an advanced math topic, like Navier-Stokes. The LLM's answer to the news about the new advance last week is strewn with words I don't understand. Asking about anything produces another essay with more things, a loop that never closes. If it were my specialist area, I imagine I would eventually hit some point where the explanation connects to something familiar.

I think this is the wall people run into when they don't have the fundamentals. You eventually get to a point where the machine is asking you for decisions that you won't know the consequences of, and when you are trying to clarify, you end up in a massive rabbit hole. It's not that different from asking a real expert about their area, they will eventually ask you to clarify something that means something to them, but not to you.

I learned programming the slow way. I would run into phrases like "memory barrier" or "green thread" and find an article using the keywords, which led to more searches, which led to more...

There are also many false dawns. Early on, after some success writing some trading strategies, I thought I had it, in the sense that I would be able to write any program required. But it wasn't true, I would run into an iceberg from time to time. Huge areas of knowledge that I hadn't come across.

Obviously I'm not claiming I finally know everything, but LLMs have arrived at a very convenient time for me. For the things I build, there is rarely anything that I don't understand at a fundamental level. When it asks me something, it's an incidental question: what decision should we make? What are the superficial changes that are needed to fit the architecture to the desired product?

I am essentially using LLM as a very quick junior, who knows how the OS works well enough to compile things and analyze logs. These are things that would take a lot of attention in the old days because they can break on very small errors, but the direction was known from the start, and thus for me (having paid the learning cost already) it is just a matter of waiting for the AI to get the code into the desired state.

I have a somewhat usable experience. I was asked to build a trading system a few years ago, which would connect to certain exchanges and show an orderbook. This kind of thing is bread and butter, but writing it up at a new firm would still take weeks.

In recent engagements, I've simply declaratively told the LLM what properties I wanted to see in the solution, waited, and answered a few questions. Since the architecture is the same, there weren't a lot of real decisions. The time difference is immense.

34m agoHN ↗

> "About a year ago I became fascinated by AI-assisted programming. Despite having no formal CS background, with LLMs I managed to build a fairly large TypeScript/JavaScript system [...] At first it felt almost magical: [...]

It's comical how these people claim first person: "I built". Look: having a LLM shit you some code is in no way different than paying some third world country dude on Upwork 5 bucks to build you "a Facebook clone" or whatever preposterous claim of grand software. In fact at this point it's cheaper to pay that third world country team than a LLM.

And yet before the advent of LLMs noone ordering a job on Upwork was delusional enough to claim "I built it". Although it's the same magical process, like the magic ring in fairy stories. You put the ring on your finger, rotate it and make a wish and the ring makes it appear. Well, for 5 bucks or something.

But nowadays every half witted retard with 50 bucks to spend goes to a LLM and has some "Facebook clone" spitted out and claims "I BUILT THIS!". You haven't built shit, and you know nothing!

Fortunately, reality strikes sooner or later but boy am I tired of Lord of The rings claims.

34m agoHN ↗

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

29m agoHN ↗

I'm curious - how do you explain the fact that as you look all around you, lesser number of devs are having fun?

26m agoHN ↗

Because their job stopped, to a large degree, involving programming.

18m agoHN ↗

Because for a lot of millenials and older developers coding/making thing by hand was the fun part. The endless meetings, scrum rituals, code reviews etc were the annoying parts of the job.

Now they took away coding by hand, so what's there to enjoy? In a field that was already sensitive to burn out and churn taking the joy from the daily routine doesn't help with that.

Only thing you can do is get in build something for 2 years hope you got bought by big tech before the pile of slop code collapses on itself.

11m agoHN ↗

The endless meetings, scrum rituals, code reviews etc were the annoying parts of the job.

Those are all self inflicted and not a necessary part of the job.

13m agoHN ↗

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 experienced people.

30m agoHN ↗

I may have built a system that is above my own level of understanding.

I feel like that about a lot of code i did myself; If you don't structure things very logically and really think about your comments; A few months or years will leave you with a hell of a learning curve to understand what you created.

AI actually helps with this, if you have the right prompt injections. I feel like the correct way to handle AI is to take a step back in abstracting problems.

I'm very use to collapsing subroutines to make things readable, maybe even further back from this though, the issue is words become too vague to be useful at these scales.

19m agoHN ↗

My biggest issue with halting AI progress right now is we are in a dangerous place where AI is only just good enough to be dangerous. So I see an argument to continue development until its competent to depend on.

14m agoHN ↗

I'm doing this. After getting started with LLM coding, I became super interested in learning to code, just out of passion. I walked out of engineering thinking physics was elite, but now I understand how passionate I am about building things, and how boring quantum mechanics was. Better late than never.

6m agoHN ↗

It was much easier in the Age of Empires II Expansion Edition. Miss those times, too... :-/