Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • In ten years. The kids may not believe that, but you could give realistic timeframes without getting hanged for it. In the age of LLMs, if you weren't done yesterday, it takes too long.
  • I went down a five hour rabbit hole learning about jwz as a result of this post. What an interesting guy - if I knew about the DNA lounge a week earlier, I would have visited when I was in the city
  • Why is this marked as 1998 when it references Khan Academy and Go, among other things?
  • I see a reference to Khan Academy, but not Go?
  • On Wayback machine references to this post (a much shorter version though) go back to 1998, this is the oldest reference:

    https://web.archive.org/web/19980206223800/https://www.norvi...

  • When I decided to really learn how to program, after dabbling in very basic C++ from books and using BASIC this article and Eric S. Raymond’s ‘How to Become a Hacker’ [1] (CATB is struggling to load at all these days it seems) were two of the first articles I found. While HtBaH was probably more influential on me immediately, Teach Yourself was a great appetizer for the concept of pacing myself in my learning and in the choices I made.

    With all the “AI” has made coding/learning to code a dead end and unnecessary crud being peddled currently I don’t know if people who want to actually learn to program are going to find resources that can be as motivating as this and other articles from `the before times`. It leaves me slightly bummed out, but in my less pessimistic moments I think motivated learners are going to see through the hype and find these types of resource anyway.

    On a side note, the Norvig’s articles about implementing a Scheme in Python were my first foray into designing and implementing programming languages, compilers, and interpreters which really shaped my interest all the way through to today.

    1) http://www.catb.org/~esr/faqs/hacker-howto.html

  • I totally agree with this when it comes to skill acquisition and deep expertise, which I care about more with skills than whatever rewards I might get for that expertise.

    It's just important not to conflate this deep expertise with the milestone you need to get a job or something. Especially when combined with expertise in other fields, even very little effort can let you advance a lot.

  • From my experience, just to say the thing that many such articles never mentioned, because the author has the innate ability anyway:

    Seek mental stability, or whatever mental state that can push you to programming for 10 years without completely burning you out. If you can’t even do some programming after a relatively easy work day, you are burnt out.

    BTW ^ is my state nowadays.

  • It’s okay to recognise when you’ve had enough. If your workday involves programming, ours pretty normal (for me at least) to not want to do more programming at home. You gotta let yourself miss it a bit if you want to want it.
  • One of may favorite things to do was to spend some time tinkering around to learn a new programming language. I collected quite a few and it was fun to learn new paradigms and how to organize programs. But now since AI… idk I just can’t do it, it seems just completely useless in the age of AI. Like getting better at the technical aspects of programming just doesn’t feel important anymore. I don’t think I’ll ever be able to forgive LLMs for that. It really took away something I enjoyed.
  • I just spent the past three hours debugging a long latent bug from vibe coding a thing. The only way I found it was running a debugger through the C++ code and tracing everything -- Claude was utterly useless until I basically pointed out the problem to it. I don't think understanding technical aspects of programming is a waste of time at all, it's still very necessary. The annoying thing too is that, whatever time I saved having the LLM write it, I pretty much just lost having to debug it. (For what it's worth: the bug it introduced is one I never would have introduced on my own, because it fundamentally misunderstood a key component of the design)
  • > learn a new programming language. I collected quite a few and it was fun to learn new paradigms

    Let's be honest here: how many actually distinct paradigms are we really talking about here? I challenge you to name more than 5 which are not just flavors of the same core approach. Bonus if they are actually all relevant for production software.

  • I really do differentiate between fast & vast changes of commodity code and critical sections. For the latter I’d explore with AI and then rewrite, line by line, with deliberate concern for all aspects relevant.

    This does retain the joy of coding for me and takes away the pain of what is commodity and hard to do without tiresome meetings (mostly UI/UX and API/MCP as my products don’t differentiate on these).

  • I have mixed feelings about this, I hate the loss of slow "discovery" and the warm fuzzy feeling when you understand something that used to be Greek to you (unless of course you are Greek) The piles of programming books, sadly many unread but admired on the shelf from afar. Now I create programs in languages I only vaguely understand and run remote servers without even logging in, it feels slightly shameful but then we are all complicit
  • It's not true at all. I recently vibe coded a REST API in Golang even though I never wrote any production Go code. However, I had to make copious use of my previous experience as an engineer to achieve quality.

    You can see this in the real world. The people who are getting the most out of AI are the ones who already have experience coding without AI.

    CEOs don't want to admit it but AI can't code anything non-trivial on its own.

  • Same here. FWIW, you can still absolutely do it, just like you can weave your own fabric. You probably won't be able to monetize it though, as it won't give you as much edge in the workspace anymore. It's just a thing to do in your spare time.

    Not sure if it helps with the feeling of futility or not. For me, it doesn't really help that much because ultimately I want the skills and knowledge I gathered to benefit me in some way. For example, previously I would be able to better understand computers and software, be an "overall better" programmer, better thinker (in terms of computation). If the results you get are not used in any way, it's on the same level as memorizing rule sets for some obscure game that no one knows or cares about.

    Maybe pivoting to something else like philosophy could make sense as a hobby.

    Of course, there's always going to be some demand for knowing computers, knowing programming languages first-hand, etc. Writing or auditing code for critical systems. Teaching the next generations of people that will do critical systems. Some people are optimistic in that they are going to fall into that demand. I'm not optimistic about myself.

  • I'm curious how many years you were into your career before LLMs took off. Reading and writing code is just another form of literacy, so I don't get this perspective at all.

    I've been a developer for just over a decade and my usage of LLMs is minimal. It takes a similar amount of time to review as it does to just write it myself. How much time do you have for your tasks? I rarely have deadlines quicker than a few days. It wouldn't even matter if I got it done faster since the bottleneck is decisions in the next meeting or waiting to hear back from another team. Dev time was always trivial and irrelevant. Even back in the 2010s, my need for stackoverflow and google had become minimal.

    What else are you doing with your time? How much discussion does your team even have if the nuances of the code aren't important to you?

  • Did AI take it away, or did you give it away?

    Now that you've made the Faustian bargain at this low low introductory price, how long until they start ratcheting up the price? How long will you be able to bear it?

    You're still allowed to do things the old fashioned way you know. Given the rapid skill degradation that results from LLM-driven coding usage, I'd recommend it if you want to retain any skill at all.

  • good thing - these articles keep getting shared so often.

    yeah people's attention might be shot. but it's still a blessing to those who read it the first time, and the ones that re-read it.

    the unfortunate thing in the 'llm' era - we seem hell bent on destroying the foundations of knowledge.

  • > the unfortunate thing in the 'llm' era - we seem hell bent on destroying the foundations of knowledge.

    I disagreee with this. I personally have filled large gaps in my underlying concept knowledge through deep conversations with LLMs. Its so easy to learn huge amounts when you can pull on whatever thread that sparks your imagination. Just being able to keep drilling down into the core of a complex subject without having to stop and manually find the next piece of information is incredibly addictive to me. It gives me hope that LLMs can actually aid humanity instead of detracting from it.

  • When I was 11, I pulled a book off the shelf at the nearby library called "Teach Yourself C++ in 21 Days". I remember thinking the title was clearly nonsense, but if I could even learn a fraction of it, that would be pretty cool. We didn't have a computer at home yet, so I wrote out the exercises by hand.

    I think I got about a third of the way through. I knew (debatably) what inheritance was, that a Dog is an Animal, etc.

    School, university, and 10 years of career later across multiple stacks and companies, there's still a heap I don't know, but you can drop me in a lot of codebases and I'll figure it out.

    > So go ahead and buy that Java/Ruby/Javascript/PHP book; you'll probably get some use out of it. But you won't change your life, or your real overall expertise as a programmer in 24 hours or 21 days.

    True, but it DID change my life.

  • I had this same book, only made it to chapter 3 or so (making an OK button) is how I remember it.

    Ended up in Accounting, dabbled with Python and now back to programming with Cursor/Claude.

    It did get me just far enough so I could see that computers were complicated but not actually magic and like you did change my life.

  • There was a webcomic abtruse goose that made fun of that book by humorously showing what you would have to do to get it done in 21 days.

    https://gabrielcoarna.com/2010/11/05/how-to-teach-yourself-c...

  • The Abstruse Goose comic mentioned: https://archive.is/HEHmt
  • It'd be embarrassing if you have to spend $10 in AI tokens for it to fix one line that you could have fixed quicker yourself for free.

    Not sure if the savings add up enough to offset the investment in learning to program.

    by axus
  • But it took you probably years of knowledge and learning to be able to fix the line. If you start learning that from 0 today, the AI will be cheaper in the long run - because while it cost 10$ today, we know from history that everything computers & electronics gets faster and more efficient, so it will be 1$ or less in a couple of years.
  • I wonder if people writing these comments actually do this hands on.

    That's because I do and a one line fix rarely costs anything but cents. Unless you first need to let it figure out which line it is, but that's not a fair comparison because you'd also first need to find out. And if it takes you an hour then instead paying $10 could be a reasonable price to pay.

  • I worked with mid level devs that would write 5 lines of code (literally) and run it through an llm for validation, so yeah they were spending tokens like crazy. They end up being more expensive to the company with no added benefit
    by witx
  • On the other hand, sometimes the hardest bugs are only a few lines of code and days of debugging. If an LLM can do it in a day, you've saved time.
  • FWIW, Peter Norvig also gave an updated take on what programming will look like with LLMs around 2 years ago. It did give me some hope back then, but with the development of Fables and Kimis and Sols I think it's truly anyone's guess where the art of programming will go.

    https://www.youtube.com/watch?v=ia6aJIplmtc