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)

184 pointsby tinderlikerabout 7 years ago

15 comments

blackSnakeabout 7 years ago
I can relate to it through the lens of Karate. I&#x27;ve been studying just about 10 years and I&#x27;m just beginning to see the depth of the art. Its almost like you spend those 10 years building the foundation before you can start building the house.<p>One of the points in the article really jumps out and again, I use martial arts as a lens for comparison. Talking to other programmers extensively accelerates your growth. If I had tried to piece together the knowledge my Sensei taught me through &quot;Youtube, books, &amp; self-study&quot;, I would have not gotten as far as I have. There&#x27;s something about having a mentor that can warp-speed your progress. Anyone who has mentored under a master in their field would attest to that.<p>The programming culture is one where you&#x27;re encouraged to go out and figure it out. Yes, there are teams and pair programming but I don&#x27;t see most companies emphasizing mentorship as much because its not directly tangible on the books. Its more of a long-term investment and they see employees jumping around every couple of years, so why bother?<p>It would be interesting to see master programmers (30+ years of exp) offer year-long intensives for serious students who wanted to accelerate their growth. I bet you would get some excellent programmers.
评论 #16577060 未加载
评论 #16587243 未加载
评论 #16578885 未加载
评论 #16577188 未加载
评论 #16577229 未加载
评论 #16578521 未加载
评论 #16581378 未加载
评论 #16578067 未加载
评论 #16578077 未加载
bitexploderabout 7 years ago
Old but good. I have been seeing an interesting discussion around project based learning vs. more formal CS type program lately. As a self taught programmer who got started and became passionate about technology because of MUDs I can confirm project based learning worked well for me. It kept me engaged and pushed me to solve hard problems I might not have ever tried to otherwise solve.<p>So, to me, making programming interesting is one of the keys. I know I have a common learning and work style that heavily favors the experiential and interactive. Other promgrammers I have worked with can Zen focus and design for days before touching code. I can&#x27;t. I like to interact, prototype, outline with code, think in smaller bursts, and then iterate. I have learned to be more patient over the years, but that is still my default paradigm.<p>I think I generally agree with Norvig here. Most of the criticism of his article is misplaced. He isn&#x27;t saying you should only learn to program in 10 years, but that it is a hard discipline with immense depth.
bungie4about 7 years ago
According to the owner of this company, it takes at least 3 days for somebody with absolutely no computer skills to learn programming. Apparently its the career path of choice for telephone operators in a call center.<p>What is funny, after programming professionally for about 30 years, Is I want that job in the call center answering telephones. Even more ironic, it takes 1 month of intensive training to do that job.
评论 #16578362 未加载
评论 #16579835 未加载
评论 #16579430 未加载
评论 #16579361 未加载
kelukelugamesabout 7 years ago
I entered the work force in 2009. This year is the first time I feel like I know wtf I am doing.
评论 #16576857 未加载
评论 #16576665 未加载
评论 #16577682 未加载
mseebachabout 7 years ago
Already in the first few lines of the article, there&#x27;s a reference to a post-1998 date, so I started wondering about the veracity of the (1998). There&#x27;s no clear reference to the original publication date, buy plenty of references to dates much later - the copyright notice says 2001-2014.<p>But, lo and behold: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;19980206223800&#x2F;http:&#x2F;&#x2F;norvig.com&#x2F;21-days.html" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;19980206223800&#x2F;http:&#x2F;&#x2F;norvig.com...</a><p>It&#x27;s a very different article, but at the core, it&#x27;s the very same idea. Pretty fascinating that it apparently has been &quot;ghost-edited&quot; to stay current.
mdwhatcottabout 7 years ago
It was about 10 years ago that I read Norvig&#x27;s &quot;10 years&quot; post: <a href="https:&#x2F;&#x2F;michaelwhatcott.com&#x2F;10-years&#x2F;" rel="nofollow">https:&#x2F;&#x2F;michaelwhatcott.com&#x2F;10-years&#x2F;</a>
dangabout 7 years ago
Many previous discussions at <a href="https:&#x2F;&#x2F;hn.algolia.com&#x2F;?query=Teach%20Yourself%20Programming%20in%20Ten%20Years%20points%3E10&amp;sort=byDate&amp;dateRange=all&amp;type=story&amp;storyText=false&amp;prefix=false&amp;page=0" rel="nofollow">https:&#x2F;&#x2F;hn.algolia.com&#x2F;?query=Teach%20Yourself%20Programming...</a>.
SatvikBeriabout 7 years ago
Last year was the first time I managed to write some code that didn&#x27;t obviously suck. It was great! (And about 9 years after I started.)<p>Though still, 95% of the time, I walk away from my check-ins feeling like my code could be a lot better, but not seeing how until much later.
austincheneyabout 7 years ago
How can this be from &#x27;98 when it mentions Malcolm Gladwell and someone&#x27;s death year as 2004?
评论 #16579399 未加载
komali2about 7 years ago
I must be blind, I&#x27;m not seeing where this was written in 1998? I see some couple-year-old comments. I only ask because I was going to express surprise that the Amazon links still work.<p>Does the (1998) in the title maybe not mean it was written in 1998?
评论 #16577318 未加载
nurettinabout 7 years ago
&gt;&gt; branch misprediction: 5 nanosec<p>Turns out it was a lot more than just &quot;5 nanosec&quot;.
alantabout 7 years ago
Old post but a classic one. Reminds me of the 10,000 hour rule of gladwell’s book outliers
voidhorseabout 7 years ago
Great article. I think programming is a discipline that&#x27;s especially susceptible to ineffective learning approaches because it&#x27;s intimately bound up with utility. Part of this stems from the fact that we&#x27;re not yet at the point where it&#x27;s learned ubiquitously at a young age.<p>For example, compare programming pedagogy to the typical way in which children are taught to read. We begin learning to read at such a young age that the actually utility of reading is more or less completely factored out of the equation--we go to school, reading is a part of what we do there, and so we sort of just accept that and spend a great deal of time engaging in the activity intimately--exploring its nooks and crannies, playing with it, joking, discussing it with classmates. In the case of programming on the other hand, a lot of autodidacts have selected the discipline not for any love of the game (of course there are <i>several</i> who do have a genuine love for it) but rather for some perceived use-value it provides. For example, if I learn to program I can get a better job, or I can offload some menial task, or I can ultimately do some other thing that happens to require programming (e.g. making a video game is what I <i>really</i> want to do, and if I have to learn to program to do so, so be it). This sort of utilitarian frame makes it very easy to engage in behavior that frustrates learning--reading for information only, rushing through material, copying and pasting examples, seeking out solutions to exercises when stuck rather than exploring and working through them. In general it&#x27;s much harder to be a good learner if you&#x27;ve attached some ulterior motive to your learning activity.<p>There&#x27;s a lovely German word Mitgefuhl, which is often translated as compassion but literally means &quot;feeling with&quot;. I think it&#x27;s a fundamental concept underlying a great deal of successful human endeavors--just as you need to exercise compassion in order to really understand someone&#x27;s emotions or perspective, I think there&#x27;s a lot of merit to dwelling with, or, as ancient monks practiced, ruminating (chewing the words) intellectual material. Taking one&#x27;s time is important, as is checking in periodically to ensure you&#x27;re still consuming things consciously. When I read a book, no matter its subject, I like to imagine I&#x27;ve signed a lease to rent out an apartment with its author--to really get to know the consciousness behind the words--not in any psychological sense, but in a purely epistemic one, to achieve a better understanding--to learn how myself and this consciousness might live in harmony, to imagine conversations--to &#x27;feel with.&#x27;<p>As someone who is self-taught when it comes to programming myself (and still has an incredible amount to learn) I can say my own experience of learning and the rate at which concepts solidified definitely increased once I broke my interest in the practice free from any concern over utility and decided it was simply something I found <i>interesting</i>--something I valued irrespective of its practical application.
dreamygeekabout 7 years ago
10 years is a bit too much don&#x27;t you think. I mean comparing 24 hours or 21 days with 10 years is highly demotivating. I think 1 year or 6 months would still be an inviting title and it&#x27;s not that farfetched. I&#x27;ve seen people become good with a programming language in lesser times than a year.
评论 #16576682 未加载
评论 #16576853 未加载
评论 #16577448 未加载
评论 #16576594 未加载
评论 #16576412 未加载
评论 #16576470 未加载
评论 #16576749 未加载
zelahabout 7 years ago
good link - thanks