II2II 9 hours ago

These books shouldn't be dismissed since they provide people with a foundation for further learning. They also offer a friendly introduction to programming, rather than imposing an intimidating wall that will keep people away. It is also important to note that these books break the learning into 24 one hour modules, or something similar, so they can have reasonable coverage of a programming language.

If these books have a failing, it has little to do with the concept and everything to do with being poorly written.

  • SL61 6 hours ago

    Yes, the biggest fault of those books was that the titles were a cheap gimmick. The implication that you could blow through the book in a day and know the language is kind of a lose-lose, because it undersells the difficulty of the lessons to newcomers and sounds patently ridiculous to professionals. Realistically, someone who has no prior programming experience would take more than an hour per lesson, and would probably take a month or two to get through the book, like any other first-time programming tutorial.

    My first exposure to programming was Sam's Teach Yourself C++ In 24 Hours from a used bookstore in my early teens. I didn't stick with it for more than a couple chapters but compiling a program that printed "Hello world" was a magical experience.

coldcode 10 hours ago

I've been doing it for 52 years (with a gap during the late 70s) and still teaching myself new things.

  • nchmy 8 hours ago

    At what point would you say that you became "good" at programming?

    • dotancohen 6 hours ago

      You never say that you become good at programming.

      You let other people in the field say it. And that happens when it becomes accountable. For some it happens early in their career. For others, entire careers end and the words have never been said.

    • dabbz 6 hours ago

      Anyone who claims they're good at programming is still learning. We're all just, more comfortable with nuances but still really bad at it. Programming rocks to do things correctly is hard.

    • nurettin 4 hours ago

      If you've been finding elegant solutions to complex problems for a while and you feel like everything kinda repeats itself. (I'm not that good, still encountering completely new problems)

    • MangoToupe 6 hours ago

      When it puts food on the table.

      • OldfieldFund an hour ago

        You can put food with barely any knowledge, just automating a few things. More true now with vibe coding, not sure in 3-4 years.

      • Arisaka1 4 hours ago

        That's an awfully profit-scoped way to frame human competence and assumes profit as the end goal. What about hobbyists?

        • MangoToupe 3 hours ago

          My point is not to presume the competence of others (which, frankly, I don't care about outside of like Knuth and "are you making my life harder at work"), but to point out we should establish our own view of whether we're competent enough based on what our goals are. People tell me I'm a good programmer; I don't really see it. This used to bother me. It doesn't anymore because I've found other things to enjoy in life.

neilv 8 hours ago

> In 2001, Norvig published a short article titled Teach Yourself Programming in Ten Years,[20] arguing against the fashionable introductory programming textbooks that purported to teach programming in days or weeks. The article was widely shared and discussed, and has attracted contributed translations to over 20 languages.[20]

Anyone who followed this article would've greatly threatened their chances of being hired by Google, since they would've spent their time on things other than rehearsing for the interviews.

  • zer0tonin 28 minutes ago

    Getting hired by Google isn't the end-goal of learning programming.

  • begueradj 6 hours ago

    No, the book is not about rehearsing you for interviews. In contrary, the book emphasizes on the mastery of your tech which books rehearsing you for interviews neither claim nor can do.

    The whole idea of the book is to get deep insight into your tech following the 10 000 hours rule which one might achieve within 10 years of practice.

    It was published against the mainstream idea of that time advertised under the name "Teach Yourself Something In 24 Hours". This book is a call for hard work, mastery and is against rushing when learning.

    • wiseowise 5 hours ago

      Op means that if they followed Norvig’s advice they wouldn’t be hired by Google, because they’d be studying actual programming instead of rehearsing Leetcode for interviews.

      • Sesse__ 27 minutes ago

        As someone who's been hired by Google twice, I'm very happy that I spent 99% of my time actually programming. (I did a day or two of Leetcode before the second time, just to make sure I was appropriately calibrated. It didn't exist before the first time.)

      • begueradj 4 hours ago

        You are right. Thank you.

        On the other hand, mastery through 10 years of practice means and leads to a good knowledge of data structures and algorithms.

        • TheCowboy 4 hours ago

          I don't think it necessarily leads to a of mastery of data structures and algorithms in the context of leetcode/modern coding interviews. One can do a lot of coding, and even be paid for it, for years and just not even encounter a lot of this material. Though one will have developed much of the same intuition that you typically acquire in a data structures class, it doesn't necessarily mean you're prepared to code mergesort on a whiteboard.

jaimebuelta 3 hours ago

Very confusing to read the article labelled as 1998 and have references for newer stuff (e.g. Ratatouile). The biggest one for me is to recommend a bunch of 98-propiate languages (C++) and then recommend Go! I guess that the article has been slightly updated, but it felt weird. In another language I checked the references are older.

aizk 7 hours ago

I'm a zoomer dev and I have a question. The article here linked to google groups - https://groups.google.com/g/alt.fan.jwz "Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable." I've never even heard of google groups, and it's crazy to read conversations nearly as old as me.

What is/was UseNet? Was that the precursor to php bulletin boards in way / the forums of the 90s - 2000s? Would the zoomer equivalent be discord for my generation?

  • jcranmer 7 hours ago

    Probably the closest modern equivalent to Usenet is Reddit--each newsgroup is roughly kind of like a subreddit, and, like Reddit, threading is quite the norm in newsgroups. The main difference is that Usenet wasn't centrally organized, messages tended to be rather longer than Reddit posts, and it's possible to cross-post on Usenet (post to multiple newsgroups with one message) in a way that it isn't on Reddit.

    (The pre-web antecedent of Discord would be IRC, latterly stuff like AOL chat rooms.)

    And if you think it's weird to read conversations nearly as old as you, I'm a millennial and I've read Usenet conversations older than I.

    • dotancohen 6 hours ago

        > And if you think it's weird to read conversations nearly as old as you, I'm a millennial and I've read Usenet conversations older than I.
      
      I first read the Apollo transcripts when I was maybe 8 or 10 years old - this was deep into the 1980s but the Apollo missions were still before my time. Reading such material at 8 or 10 didn't feel unusual.

      Now, rereading as I near 50, they are surreal. The conversations, and the moon itself, have not changed one bit. But myself and the world around me are unrecognisable to the 10 year old me still reading over my shoulder.

  • kragen 3 hours ago

    Usenet was a decentralized forum where anybody could participate and nobody could be banned. Despite this, the quality of discussion was usually very high. The user interfaces supported rather comprehensive threading and filtering capabilities, so you could block the people you wished you could ban. It was sort of destroyed by spam (since spammers couldn't be banned) but doesn't have much spam anymore because it's too obscure for spammers to bother with.

    There isn't a Zoomer equivalent, because the internet has been locked down since then, and anyone who attempts to offer an uncensored and uncensorable forum gets brigaded and maybe swatted, then cut off from the banking system.

    But Usenet still exists.

  • TrueDuality 7 hours ago

    Usenet is still around and still fairly active, though by volume its probably more commonly used as the originating source for anything torrented nowadays. PHP bulletin boards is a good approximation if you squint. If you imagine being on a large number of topical mailing lists all filtered into their own inboxes you wouldn't be far off.

  • bionsystem 7 hours ago

    "Usenet" has a wikipedia page which describes the network quite well. I used it in the late 2000s, not just for discussion as some groups were also hosting warez. Pretty sure you can still go there although it's unclear you'll get the post quality of the 80s-90s (back when I read discussions it was already a lot of trolling).

  • dartharva 6 hours ago

    For programming-specific contexts I think StackOverflow might be the better equivalent.

megamix 4 hours ago

The joy of seeing Times New Roman, HTML and CSS.

I'll finish the article in 24 hrs - 10 years approx.

intellectronica 4 hours ago

I've been at it for over 30 years. Still learning.

You can learn fast today, and then continue tomorrow, and next month, and next year, and if you remain curious, half a lifetime later you are still learning.

kocial 6 hours ago

I have seen book teaching programming in 21 days and few YouTubers in 1 hour of video.

tomhow 8 hours ago

Previously:

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=39001755 - Jan 2024 (302 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=33287618 - Oct 2022 (112 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=27411276 - June 2021 (115 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=20543495 - July 2019 (87 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=16574248 - March 2018 (51 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=9395284 - April 2015 (61 comments)

Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=5519158 - April 2013 (86 comments)

Teach Yourself Programming in Ten Years by Peter Norvig (2001) - https://news.ycombinator.com/item?id=3439772 - Jan 2012 (29 comments)

Teach Yourself Programming in Ten Years - https://news.ycombinator.com/item?id=191235 - May 2008 (19 comments)

Norvig: Teach Yourself Programming in Ten Years - https://news.ycombinator.com/item?id=43243 - Aug 2007 (7 comments)

coolThingsFirst 3 hours ago

Actually harmful advice.

Dont post this garbage again.

There’s ageism in tech and starting career earlier is better.

  • isaacremuant 2 hours ago

    Calling Norvig's insights garbage says a lot about you. How did you ever come with that strawman?

    > If you want, put in four years at a college (or more at a graduate school). This will give you access to some jobs that require credentials, and it will give you a deeper understanding of the field, but if you don't enjoy school, you can (with some dedication) get similar experience on your own or on the job. In any case, book learning alone won't be enough

    Where exactly does Norvig advocate not to have a career earlier?

ryandv 7 hours ago

Ah yes, but of course Norvig never had access to current generation LLMs, which do let you learn C++ in 24 hours! No need to understand the memory hierarchy, the LLM will produce perfectly performant code right out of the box.

With LLMs you can iterate through a hundred thousand software development lifecycles in a month, vastly increasing your rate of project experience gain.

This article is so obsolete, it's literally from the previous century.

  • theBaus an hour ago

    Heh, no wonder you are getting downvoted. Did you actually learn anything this way? This post is about learning and not how fast you can generate code, generating with LLM's is not learning. Then when you have not learnt anything but you generate LLM code that looks great but you cannot debug it because you never learnt programming and have to rely on the LLM, you have problems. Much like the CEO who vibe coded on replit and lost his production DB.