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 · 6h 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 · 10h ago
I've been doing it for 52 years (with a gap during the late 70s) and still teaching myself new things.
nchmy · 8h ago
At what point would you say that you became "good" at programming?
dotancohen · 6h 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 · 6h 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.
strken · 3m ago
I think it's fine to be "good at programming" given a specific context. If your neighbour says "Hey, my daughter likes computers and thinks she might want to program them as a career, are you any good at that?" then sure, whatever, you're good at programming and can send her some links to get started. If your coworker asks if you're any good with databases and you know he's learning SQL for the first time, then sure, whatever, you're good with databases and can teach him about CTEs.
I get that humility is a virtue, but at some point you have to admit that you're capable of doing a piece of work.
nurettin · 4h 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 · 6h ago
When it puts food on the table.
OldfieldFund · 1h 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 · 4h ago
That's an awfully profit-scoped way to frame human competence and assumes profit as the end goal. What about hobbyists?
MangoToupe · 3h 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 · 8h 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.
alt187 · 19m ago
It seems the irony has been mostly lost. Gave me a chuckle. :)
zer0tonin · 1h ago
Getting hired by Google isn't the end-goal of learning programming.
begueradj · 6h 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 · 5h 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__ · 1h 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 · 4h 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 · 4h 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.
megamix · 4h ago
The joy of seeing Times New Roman, HTML and CSS.
I'll finish the article in 24 hrs - 10 years approx.
jaimebuelta · 3h 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 · 7h 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?
ChrisMarshallNY · 26m ago
A classic interaction from Usenet (I suspect the Reddit comparison is apt), was someone coming upon a really nasty fight between a couple of trol- er, users.
They expressed horror, and said something to the effect of “My god! I came to discuss cats!”.
Another user commented something along the lines of “You have mistaken this forum for a place to exchange information. It is not. It is a public toilet. Jump on in.”
jcranmer · 7h 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 · 6h 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 · 4h 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 · 7h 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 · 7h 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).
The comic might have been insightful had it stopped at the third panel.
intellectronica · 4h 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.
There’s ageism in tech and starting career earlier is better.
isaacremuant · 2h 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 · 7h 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 · 1h 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.
If these books have a failing, it has little to do with the concept and everything to do with being poorly written.
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.
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.
I get that humility is a virtue, but at some point you have to admit that you're capable of doing a piece of work.
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.
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.
On the other hand, mastery through 10 years of practice means and leads to a good knowledge of data structures and algorithms.
I'll finish the article in 24 hrs - 10 years approx.
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?
They expressed horror, and said something to the effect of “My god! I came to discuss cats!”.
Another user commented something along the lines of “You have mistaken this forum for a place to exchange information. It is not. It is a public toilet. Jump on in.”
(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.
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.
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.
https://en.wikipedia.org/wiki/Usenet
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.
https://hn.algolia.com/?query=Teach%20Yourself%20Programming...
https://news.ycombinator.com/item?id=43243
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)
Dont post this garbage again.
There’s ageism in tech and starting career earlier is better.
> 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?
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.