TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Teach Yourself Programming in Ten Years (1998)

253 pointsby MindGodsalmost 4 years ago

23 comments

CraigJPerryalmost 4 years ago
&gt;&gt; Learn at least a half dozen programming languages<p>I&#x27;m always surprised by how many people disagree with this; they&#x27;re on the search for that one language they can use for every task. Or even worse, they think they&#x27;ve found it and their search is over, that&#x27;s a tragic situation given how spoiled we are for great languages today.<p>Clojure (STM &#x2F; refs, vars, atoms &amp; agents), kdb&#x2F;q (non-loopy array code), Rust (ownership), Go (async done better, although i also really like core.async in clojure too), Python (trio nursery), C++ (asan, msan, tsan).<p>There&#x27;s some blogs continually give me good food for thought in this space, all signal no noise:<p>Eli Bendersky, (every language under the sun) e.g. <a href="https:&#x2F;&#x2F;eli.thegreenplace.net&#x2F;2016&#x2F;the-expression-problem-and-its-solutions&#x2F;" rel="nofollow">https:&#x2F;&#x2F;eli.thegreenplace.net&#x2F;2016&#x2F;the-expression-problem-an...</a><p>Fasterthanli.me (Go, Rust, others) e.g. <a href="https:&#x2F;&#x2F;fasterthanli.me&#x2F;articles&#x2F;so-you-want-to-live-reload-rust" rel="nofollow">https:&#x2F;&#x2F;fasterthanli.me&#x2F;articles&#x2F;so-you-want-to-live-reload-...</a><p>Mechanical Sympathy (Java), defunct but still worth visiting <a href="https:&#x2F;&#x2F;mechanical-sympathy.blogspot.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mechanical-sympathy.blogspot.com&#x2F;</a>
评论 #27412676 未加载
评论 #27412588 未加载
评论 #27412611 未加载
评论 #27413923 未加载
评论 #27412220 未加载
评论 #27412735 未加载
评论 #27412159 未加载
评论 #27414246 未加载
评论 #27414853 未加载
BossingAroundalmost 4 years ago
The title is a bit misleading to me.<p>10 years is not to &quot;teach yourself programming,&quot; it&#x27;s to &quot;become an expert in programming.&quot;<p>Most people do not want to learn programming to become experts, most people want to learn programming to get a job. After getting a job, some will plateau right away, others will plateau after some time, and others still will keep learning even after years and years.<p>The problem is &quot;how long until I become employable,&quot; not &quot;how long until I become an expert&quot;.<p>The answer to the former is months of deliberate practice. The answer to the latter is [tens of] years of deliberate practice.<p>Books with titles like &quot;learn C++ in 24 hours&quot; target the former. And, I would say that the number of jobs that require the mastery of the craft is not large.
评论 #27412348 未加载
评论 #27412491 未加载
评论 #27412099 未加载
评论 #27412644 未加载
评论 #27412037 未加载
评论 #27412103 未加载
评论 #27413782 未加载
评论 #27412338 未加载
tchallaalmost 4 years ago
The power of compounding which comes from discipline is one of the most underrated concepts. There&#x27;s one caveat to &quot;keep at it for x years&quot;; deliberate practice. You have to work towards being aware of gaps, identifying them and improving them. In addition, the amount of effort required to go from 0-40 is different from the one required to go from 50-70 or 80-95. The recognition and acceptance that a 100m sprint is different for Usain Bolt than it is for you could give you inner peace and focus.
评论 #27411969 未加载
评论 #27411888 未加载
tempodoxalmost 4 years ago
I agree with the article, ~10 yrs will give you a good start if you stay with it.<p>When asked by others how much it would take, I try to avoid giving a number like that because it might discourage them. Who knows, had I heard or read that number early in my involvement, it might have discouraged me. However, my innate curiosity and fascination for the field made the time fly by without me noticing it. If you&#x27;re in doubt, you might take that as encouragement. Programming is a field where the learning never stops, and if that&#x27;s your thing, the time required will become secondary at most.
评论 #27411891 未加载
PinkPigeonalmost 4 years ago
I really like the advice in this.<p>At the same time, I often find it dispiriting to hear &quot;it takes x amount of time&quot;, be that 10 years, 10,000 hours or a lifetime.<p>While I understand that it is important to have these metrics precisely to dispel the idea that anyone can learn c++ in any meaningful way in 24h, at the same time I find it harder to start something when I am constantly reminded of the fact that nothing I produce will be worth anything compared to those with a giant head start (yes, yes, never compare yourself to others, just to yourself from x time ago).<p>The 10 year thing means I can meaningfully learn, what, 70 thing in life if I am not spending the vast majority of my time at a full time job? So, that makes it 3-4 things?<p>How depressing.<p>Admittedly, I feel I have almost never studied deliberately. I happen to have learned about 3 things to reasonable expertise in my 30 ish years. All three just happened. It was effortless to learn, as it was interesting to learn.<p>I simply cannot imagine what it would mean to have to dedicate 10 years or 10,000 hours of practice to something I am not interested in. In my own experience I would go so far as to say that I either love something enough to want to do it 8h a day, or not at all.<p>I wonder if I&#x27;ll ever find a 4th thing, later in life. I really want to learn more things, but the rule of x hours is discouraging to think about when I have 30 something years less left on this planet than when I started.
评论 #27411772 未加载
评论 #27412997 未加载
评论 #27412195 未加载
评论 #27412816 未加载
LoveMortuusalmost 4 years ago
That&#x27;s a trick title, because a big flag of someone still learning programming, is when they say that they&#x27;re no longer learning programming.<p>Programming is like life, constant learning, constant mistakes, constant improvements. And that&#x27;s why it&#x27;s so beautiful.<p>A life long partner ^^
TrackerFFalmost 4 years ago
People learn at different speeds, and intelligence + natural talent is a huge factor when it comes to learning this stuff. The two most talented programmers I know have quite different backgrounds: One is your archetypical hacker - started coding as a young child, demo-scene by the time he was 13, and got headhunted before he could enroll college.<p>The other guy didn&#x27;t write a line of code until he was 21, after switching majors from econ to engineering - three years later, he was getting offers from FAANG companies and quant&#x2F;hedge funds.<p>But, I do think that if people consistently work and study programming for 10 years, then most will have a solid grasp afterwards. That means doing actual constructive work almost every day, for 10 years - doing work that either challenges you, or teaches you how to use the tools.<p>Being an expert (or highly competent) programmer is not only about knowing CS-theory at heart, and being able to translate that into working code - it&#x27;s also being fluid with the tools. And, luckily, becoming good with tools doesn&#x27;t take much more than time and effort.<p>You could be the worst programmer in the world, but given enough time, you could learn every nook and cranny of some language and its ecosystem.
lauriegalmost 4 years ago
How long does it take to learn programming is like asking &quot;How long does it take to learn &#x27;sport&#x27;?&quot;.<p>You could learn the basics of football in an afternoon or spend a solid few years getting good. If you started playing futsal, you&#x27;d do ok. Maybe you could hold your own as a sprinter. You&#x27;d probably have a terrible time with a javelin.<p>In the same way, programming experience in one area transfers to others but not completely.
KingOfCodersalmost 4 years ago
I&#x27;ve learned programming as a kid in a department store watching other kids hack in BASIC.<p>Writing code for 40+ years I still make mistakes, don&#x27;t know a lot of things, make the wrong decisions sometimes and learn every day - currently fighting Rust lifetimes.
stickfigurealmost 4 years ago
I&#x27;ve always considered this the most reasonable method to &quot;Teach Yourself C++ In 21 Days&quot;:<p><a href="https:&#x2F;&#x2F;abstrusegoose.com&#x2F;249" rel="nofollow">https:&#x2F;&#x2F;abstrusegoose.com&#x2F;249</a><p>(note: is comic)
cube2222almost 4 years ago
I don&#x27;t think this is (1998) if Clojure (2007) is referenced in it.
评论 #27412325 未加载
snarfyalmost 4 years ago
30 years on, still learning
评论 #27412171 未加载
binbagalmost 4 years ago
It does not take ten years to learn things. It might take 10 years to be good at something. I recently took up lawn bowls. I learned it in about 30 mins. It&#x27;s quite simple. I&#x27;m not any good at it.<p>I used the Learn C++ in 24 Hours book as an undergraduate. It was excellent. It was the book the university recommended, and it was probably the only book I bought as an undergraduate engineer that was actually indispensable. I actually used it, page by page, and during that course I produced a really cool &#x27;moon lander&#x27; game in 3D. Was I an accomplished programmer? Absolutely not. Had I learned the basics? Yeh. Good enough for an undergrad electrical engineer.<p>It feels like you are railing against one premise (a programming language can be learned in 24 Hours) only to propose another similarly bonkers premise (a programming language can&#x27;t be learned in less than 10 years). What&#x27;s the point?
SMAAARTalmost 4 years ago
We love in a world where businesses at large make money by overpromising and underdelivering; people buy these goods&#x2F;services as a &quot;alibi&quot; of some sort, so that they can say &quot;it&#x27;s not my fault, I even tried [insert here alibi product].<p>That&#x27;s what stupid people do.<p>When smart people need to solve a problem, they find a system, they make time to work long and hard, and they keep on going, each and every day, failing often failing fast, and then, little by little, they incorporate the new knowledge, understanding and experience into their life.<p>2-3 years often gives good skills borderline mastery, 3-10 true mastery.<p>It&#x27;s a system, not a goal.
SiliconMagealmost 4 years ago
One of the concepts in the name that tune, errr learn to Code in fewer days than the other brands of books is that each chapter is a Lesson that should be worked on for a while before proceeding to the next lesson.<p>So while it is 24 hours or 7 days or whatever, they are not meant to be a sequential 24 hours, but 24 hours spread over a period of time.<p>I could never interest a publisher in creating a series called &quot;Learn in 23 Hours&quot;, I&#x27;m sure it would have a clear advantage over its slower 24 hour competition. Perhaps 23.99 hours?
thanatos519almost 4 years ago
I started to learn programming when I was 9 and it took about 10 years. About half of his suggestions came after that. Good tips if you&#x27;re starting as an adult I suppose.
rafaelvascoalmost 4 years ago
You can learn to program in a month or less. But it takes 10 years to actually put out quality code that is easy to maintain, readable and efficient in CPU and memory allocation. It took me a little less than that only because I was a code freak for several years and used to code more than go out.
basicplus2almost 4 years ago
From the article..<p><a href="http:&#x2F;&#x2F;abstrusegoose.com&#x2F;249" rel="nofollow">http:&#x2F;&#x2F;abstrusegoose.com&#x2F;249</a>
评论 #27412014 未加载
mehphpalmost 4 years ago
Man, I remember reading this article while I was still getting my bachelors in Mechanical Engineering (a little over 10 years ago) but was tinkering with programming.<p>Made the switch to software and am now a senior software engineer. Didn’t know then that I would somewhat follow the trajectory outlined here.
asicspalmost 4 years ago
Previous discussions: <a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?dateRange=all&amp;page=0&amp;prefix=true&amp;query=norvig.com%2F21-days.html&amp;sort=byDate&amp;type=story" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?dateRange=all&amp;page=0&amp;prefix=true&amp;que...</a>
neilvalmost 4 years ago
&gt; <i>One of the best programmers I ever hired had only a High School degree; he&#x27;s produced a lot of great software, has his own news group, and made enough in stock options to buy his own nightclub.</i><p>How did Norvig interview JWZ?<p>Did he use the whiteboarding rituals promoted by Norvig&#x27;s company?
评论 #27412789 未加载
kenny87almost 4 years ago
Ten years later I still struggle to get involved language standardization effort.
FridayoLearyalmost 4 years ago
Anyone here from the 2008 graduating class?