8 ms·
Teach Yourself Programming in Ten Years (1998)
- gabrielsroka 1y ago1998 https://hn.algolia.com/?query=Teach%20Yourself%20Programming%20in%20Ten%20Years&type=story&dateRange=all&sort=byDate&storyText=false&prefix&page=0 https://hn.algolia.com/?query=Teach%20Yourself%20Programming...
- coldcode 1y agoI've been doing it for 52 years (with a gap during the late 70s) and still teaching myself new things.
- nchmy 1y agoAt what point would you say that you became "good" at programming?
- dotancohen 1y agoYou 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.
- nchmy 1y agoHumility and a desire to continually improve is, of course, essential in everything in life. But false humility - eg spending 52 years doing something and refusing to recognize some degree of skill - is just as bad as the lack of it. (I'm not saying the original commenter said this, but rather the people who responded in this vein) And I say this while thoroughly enjoying a quote by one of the comedy greats, George Carlin, where he was quoted a legendary cellist, Pablo Casals, who kept practicing daily into his 90s, saying "I'm beginning to notice some improvement". Recognizing your skill while also recognizing (perhaps even immense) potential for improvement are not mutually exclusive.
- cindyllm 1y ago[dead]
- dabbz 1y agoAnyone 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 1y agoI 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.
- nchmy 1y agoYeah, my question was are you "good", not are you the "greatest" programmer. Humility is absolutely necessary in any skill development (and in general), but false humility - such as has been on display by various responses - is just as bad as the lack of it.
- MangoToupe 1y agoWhen it puts food on the table.
- Arisaka1 1y agoThat's an awfully profit-scoped way to frame human competence and assumes profit as the end goal. What about hobbyists?
- MangoToupe 1y agoMy 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.
- OldfieldFund 1y agoYou can put food with barely any knowledge, just automating a few things. More true now with vibe coding, not sure in 3-4 years.
- MangoToupe 1y agoMore of an "ai operation" skill than being a good programmer, but yea that works
- amelius 1y agoDoes ramen 7 days/wk count as food on the table?
- MangoToupe 1y agoAbsolutely.
- nurettin 1y agoIf 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)
- deleted 1y ago[deleted]
- einpoklum 1y agoYou become good at learning what you need; and also become a bit humble and avoid presuming you know best just because you've learened some things.
- sim7c00 1y agonever though id be good at programming. doing it for 20+ years now, not fulltime. still feel like that lil kid. other ppls program humble me and teach me how little i know. sure i understand more than i did when i started, but theres various reasons you're never 'there', and to me, i wonder if feeling you are good would even benefit you. sure, you can still program C like in the 90s. Still write python like its on v2, or html and CSS like its 1999, but in reality to tap into the systems and their potential you need to constantly keep up. and i think its pretty much impossible to keep up with everything. there is so much, and more and more every day... im a bad programmer. my bugs sometimes compute stuff!
- kmoser 1y agoHow do you define "good" at programming? Better than you were yesterday? Able to write code without looking up anything? More capable than a newbie?
- wglb 1y agoOne test is that you build a system that works and solves some problem, and that it keeps working.
- deleted 1y ago[deleted]
- johnisgood 1y agoNot parent, but after a couple of "finished", functioning projects. I still do not consider myself "good", I lack self-esteem, severely so. I believe everyone is better than I am, even if I am told otherwise. Unfortunately no matter who praises me, that praise has no effect on me. It is really debilitating though, as it stops me from having a job I would be good at, and that pays well, which I really do need as I have MS so my options are severely limited and the expenses keep piling up due to my illness.
- business_liveit 1y ago[dead]
- II2II 1y agoThese 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 1y agoYes, 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.
- reactordev 1y agoThere was a time in the 90s when you actually could breeze through a book and know the language. Not Perl, obviously ;) I won’t attest to the quality of your mental software architecture, but you’ll know the language… It was around the time C++03 came that things no longer fit in a single book and you need a bookshelf of books to know a thing. The web circa 2001 was easy enough to build entire sites from scratch in a week with no frameworks. The web circa 2021 was a complicated mess of frameworks on frameworks rediscovering server side rendering (the OG method) again. I’m a fan of the books that take you through a project start to finish and not chunk it up into mini exercises.
- mnahkies 1y agoHa, I got that same book from the public library in my early teens. I never completed it at the time either, though it created a foundation that enabled me to learn action script (Adobe flash) with relative ease and ultimately go on to complete a computer science degree despite pressure from my high school teachers to go into mechanical engineering or similar. On balance I got to pursue something that genuinely interested me and happened to pay well and I'll always have a fond memory of the Sam's book, as well as the free Ubuntu CDs that got me onto Linux years before we got broadband Edit: it wasn't teach yourself in 24 hours, it was the 21 days version (https://www.amazon.co.uk/Sams-Teach-Yourself-21-Days/dp/0672327112 https://www.amazon.co.uk/Sams-Teach-Yourself-21-Days/dp/0672...)
- busymom0 1y agoDiscussion from 2007: https://news.ycombinator.com/item?id=43243 https://news.ycombinator.com/item?id=43243
- neilv 1y 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.
- begueradj 1y agoNo, 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 1y agoOp 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.
- begueradj 1y agoYou 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 1y agoI 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.
- tomhow 1y agoPreviously: Teach Yourself Programming in Ten Years (1998) - https://news.ycombinator.com/item?id=39001755 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 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 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 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 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 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 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 https://news.ycombinator.com/item?id=3439772 - Jan 2012 (29 comments) Teach Yourself Programming in Ten Years - https://news.ycombinator.com/item?id=191235 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 https://news.ycombinator.com/item?id=43243 - Aug 2007 (7 comments)
- ryandv 1y agoAh 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 1y agoHeh, 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.
- ryandv 1y agoMy point is that most of that learning is not necessary! Does a JavaScript bootcamp developer know what the fuck a memory hierarchy is? malloc? No! Do they need to? Also no! This ignorance stops absolutely nobody from identifying as a Senior Staff Architect with 16 weeks of experience, closing Jiras at 10x the velocity as these fools with crippling debt and a computer science degree.
- deleted 1y ago[deleted]
- ethan_smith 1y agoLLMs are tools that can accelerate learning, but they don't replace the deep understanding and pattern recognition that comes from years of solving real problems and making mistakes.
- ashton314 1y agoYou don’t learn C++ in 24 hours. An LLM merely allows you to produce code at a higher complexity much sooner. This is a death sentence for a novice’s understanding.
- aizk 1y agoI'm a zoomer dev and I have a question. The article here linked to google groups - https://groups.google.com/g/alt.fan.jwz 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?
- bionsystem 1y 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).
- jcranmer 1y agoProbably 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 1y 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.
- meta-level 1y agohttps://devhumor.com/media/how-to-teach-yourself-c-in-21-days https://devhumor.com/media/how-to-teach-yourself-c-in-21-day...
- dotancohen 1y agoThe comic might have been insightful had it stopped at the third panel.
- kocial 1y agoI have seen book teaching programming in 21 days and few YouTubers in 1 hour of video.
- intellectronica 1y agoI'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.
- megamix 1y agoThe joy of seeing Times New Roman, HTML and CSS. I'll finish the article in 24 hrs - 10 years approx.
- jaimebuelta 1y agoVery 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.
- jason_oster 1y agoThe copyright notice in the footer has the year range 2001-2014. Presumably the timespan that the essay went through various edits.
- coolThingsFirst 1y ago[flagged]
- isaacremuant 1y agoCalling 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?
- tomhow 1y ago> ... says a lot about you. How did you ever come with that strawman? Please don't include personal swipes like this in comments on HN. The parent's comment was needlessly dismissive, but someone else's bad comment does not justify a bad comment in reply.
- isaacremuant 1y agoTo be honest, I've lost faith in HN not being reddit like because I've seen the similar hive mind mass labeling of "wrongthink", specially when it came to covid policies, US/NATO warmongering, and advocating for what once was standard hacker culture around freedom and equality of individuals. I expect you'd propose that this is still a place where we can have the civil discussions and should not get in these flame wars so I'll try it your way for a while and see how it goes.
- coolThingsFirst 1y agoYou pointed exactly at the garbage. A MAANG company refused to give me an interview because ‘this position is for people with bsc degrees’ when i had an associate’s. Degree is mandatory unless its Stanford at which point you can enjoy VC money hacking on the next AI slop generator. Don't believe me, take a look at [1], minimum qualification is a BsC degree for a Google SWE job. He is implying rushing is bad, it’s not. Tech industry is so enamored with young people that learning Next.js and making a dog app is deemed superior than really getting into the nitty gritty. It’s a career track based on hype cycles and ageism. My ability to get interviews at 22 even without a degree was orders of magnitude higher than it is now despite being 20x more competent. [1]: https://www.google.com/about/careers/applications/jobs/results#!t=jo&jid=127025001& https://www.google.com/about/careers/applications/jobs/resul...
- la_fayette 1y agoDoes anyone know how Norvig thinks about the use of LLMs for programming?
- kevindamm 1y agoI was curious about this too, so I went looking. I found this video from about a year ago. He seems cautiously optimistic. The second half is a Q&A and he directly addresses this: in the presence of errors he finds more faults in the way the prompt was worded than in how the LLM answers, and figures that LLMs are better than the alternative approaches to programming if used well. https://youtube.com/watch?v=ia6aJIplmtc https://youtube.com/watch?v=ia6aJIplmtc
- WillAdams 1y agoAre there mechanisms which make learning programming significantly easier which don't have marked limitations? (e.g., the limitations of BASIC (esp. early imprlementations) vs. C) I find it striking that this article references Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19. but doesn't cite one of the more notable responses: https://drdobbs.com/there-is-a-silver-bullet/184407534/ https://drdobbs.com/there-is-a-silver-bullet/184407534/ where that language (Objective C) coupled with the NeXT libraries/objects made possible Steve Jobs' "5-minute Word Processor Demo" Do Swift (and SwiftUI) change this calculus?
- kmoser 1y agoIt seems you're conflating "easy to write complex software" with "easy to learn how to program." Just because you're using a language/environment that offers more powerful, high-level features doesn't mean you're learning more. If anything, being forced to learn the low-level stuff probably gives you a deeper understanding of programming, even if your output is lower in the beginning.
- wglb 1y agoAfter all this time, I am not all that convinced that Object Oriented Programming was all that much of a sliver bullet. Its impact is less that Cox claimed, in my opinion.
- mosferatu 1y ago[dead]
- 486sx33 1y ago[dead]