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.

How I Learned to Program

171 pointsby b14ckover 13 years ago

17 comments

cletusover 13 years ago
The one point I really disagree on is Linux.<p>Sure learning Linux will most likely teach you something about the platform on which anything you write will probably be deployed but that's really marginal (IMHO).<p>You get things done (programming included) by getting all the roadblocks out of your way. Linux is (IMHO) a roadblock. The OP claims it teaches you researching skills by giving you problems everyday you need to find solutions for. This is true in the same way that refusing to buy food of any kind teaches self-sufficiency.<p>To get things done you need to get in the zone. This means eliminating distractions. Trying to figure out why copy and paste doesn't work (and it turns out that it's because you're using OpenJDK instead of the Sun JDK) very much takes you out of that zone and then wastes time to boot.<p>This might be more useful later on (maybe) but learning to programming? No way.<p>To me, the best development platform is OSX. Why? Because it's (BSD) UNIX that is a pleasure to use that (mostly) doesn't have the aforementioned problems. My only real beef is that if you're used to using a program on Linux or Windows the keyboard shortcuts will generally be different on OSX (due to following the OSX conventions).<p>And as much as people (myself included) like to rag on Windows (in my case: the complexity), the fact is that modern Windows (Win7) is actually a pretty pleasant experience. Some things (eg git) suck but Cygwin can ameliorate a lot of those problems.
评论 #3551590 未加载
评论 #3551686 未加载
评论 #3551162 未加载
评论 #3551439 未加载
评论 #3551790 未加载
评论 #3551496 未加载
评论 #3553005 未加载
评论 #3553312 未加载
KingOfBover 13 years ago
Wow, I never had any post summarize my growth as an engineer so well. Except for the writing and community bit, that's come a bit late.<p>I remember the day I realized that I could have windows and play heretic all day, or install linux and tinker all day. Linux quickly won.<p>The biggest skill I learned from linux is to never expect things to work, and to expect the internet to fix things. My round trip time from not working to google and back to working is by far my most valuable asset as an engineer.<p>And still, almost every day I leave work I think "God that was awesome!". I hope that never goes away.<p>Oh, and so +1 for 2 hour nr epic SC battles! Except it was under wine, and man did it quake!
Luytover 13 years ago
Nice read. Did you also always wanted to open things to see how they work? When I was 6 or so, I asked my mother if I could open our hamster to see 'how it worked inside'. Maybe if I were allowed that, I'd be a surgeon now instead of a software developer!
samaragaover 13 years ago
The author speaks of writing some small scripts. I write some small scripts for my use for small tasks, if I come across any problem. Just in case, does anyone know a place(website,book etc.) where such small task scripts are collated so that anyone can use them like small assignments?<p>Advanced Bash Scripting Guide by Mendel Cooper(<a href="http://tldp.org/LDP/abs/html/" rel="nofollow">http://tldp.org/LDP/abs/html/</a>) has some good scripts which I have come across for some practice but it isn't ordered. Any others ?
评论 #3553811 未加载
评论 #3550700 未加载
评论 #3550738 未加载
评论 #3550714 未加载
spencerfryover 13 years ago
No offense to the author, but I was expecting more of an in-depth process article rather than an overview. Every "How I Learned to Program" article is fluff filled and really only inspiring rather than action orientated. I've never read a truly step-by-step guide on how someone has learned to program. Maybe I'll write it.
评论 #3552121 未加载
polyfractalover 13 years ago
This is probably going to raise some ire, but am I in the minority of people who are tired of "How I learned to program?" type posts showing up on HN?<p>You learned how to code. Great, I am legitimately, truthfully happy for you. It's a very cool skill/career path and a wonderful feeling when you have the ability to create something on your own.<p>But...do we really need to read that on the frontpage? Am I the only one that finds these types of posts uninteresting?<p>It has almost become a cliche to wake up and find a frontpage <i>"How I learned &#60;language&#62; in &#60;time&#62; as a &#60;non-programming profession&#62;"</i>
评论 #3551494 未加载
评论 #3551606 未加载
评论 #3551773 未加载
评论 #3551619 未加载
nazarover 13 years ago
I've been using linux for quite a time, and I personally love it. But I'm afraid average person(non-programmer)reading this blogpost will think that linux is something so fundamentally broken, you need to accomplish such trivial tasks as copy/paste throug hours of pain and suffering. Its not like that. Linux provides both normal and advanced modes of accomplishing stuff, which is an advantage over other OSs like for example windows, which only gives you one way to do stuff (which is almost always rudemtary for a power user).
jthompover 13 years ago
Great article. I especially like the focus on writing. I've been writing for as long as I can remember. I used to spend time between assignments in class and homework writing short stories when I was a kid. That is partially why I became a programmer as well. Started out writing little TI-83 apps and moved on to Windows apps and now I am a full-time web developer (mostly Ruby on Rails stuff) and I absolutely love coding.
rbanffyover 13 years ago
I started with - don't laugh - a TI-55 calculator. It had no conditional jumps (that would be the TI-57) or jumps other than to step 0. It also had, IIRC, 32 steps. I managed to program it to solve second-degree equations.<p>Then I moved on, briefly, to a Sinclair ZX-81 clone and then stayed with an Apple II until the late-80s. I rented an MSX from the phone company as a videotext terminal. It was a steal at about US$ 7/month.
bellbindover 13 years ago
Well, all this is a bit of a fairy tale to me. Sure programming on my free time with friends, always wanting to know more, to go further, that's true it <i>is</i> fun and I'd say it's a way of life. Now consider: process, deadlines, the annoying management guys.. All this is exhausting and boring, it takes away creativity and fun. Not everything is bright and shinny like that article seems to state. The guy actually designing apps is not necessarily the guy who will code them, etc. There's a lot of frustrating realities out there that are better to be known and accepted than ignored.<p>Also, see <a href="http://developers.slashdot.org/story/11/05/11/0358233/is-process-killing-the-software-industry" rel="nofollow">http://developers.slashdot.org/story/11/05/11/0358233/is-pro...</a>
评论 #3550947 未加载
评论 #3550895 未加载
jmsduranover 13 years ago
Nice article, I second that programming is a way of life. Although I'm in my early 20's right out of college, I look forward to how much knowledge &#38; experience I will amass, and the radical transformations this industry will go through, 10 - 20 years down the road.<p>&#62; "On linux, if you want to copy a file from one box to another, you use scp or rsync"<p>No, not really... I just SFTP at the moment simply cause I find it more convenient (granted, I'm not a Linux power user in any way).
评论 #3551277 未加载
fr3ddoover 13 years ago
What about <a href="http://www.codecademy.com" rel="nofollow">http://www.codecademy.com</a> ? Modern day way to learn to program or waste of time?
评论 #3552278 未加载
grokaholicover 13 years ago
Thanks for writing this up. Read the whole thing, took it to heart. Right now I'm making the leap to web developer in a year, without prior experience.<p>Was wondering what milestone achievements I should hit in Linux, given my goals? Goal details here:<p><a href="http://news.ycombinator.com/item?id=3552656" rel="nofollow">http://news.ycombinator.com/item?id=3552656</a>
pooriaazimiover 13 years ago
Completely off-topic: Shouldn't the title be 'How I <i>Learnt</i> to Program'? It's a serious question (I don't live in an English-speaking country and my English is not great).
评论 #3551135 未加载
评论 #3550576 未加载
评论 #3550574 未加载
syntaxfreeover 13 years ago
Ah, to be young and naïve again.
hackermomover 13 years ago
I learned by typing in BASIC program listings from computer magazines on my VIC-20 in the mid 80s. That slowly transitioned to modifying programs to see what would happen. At some blurry point the trial and error shifted to me actually understanding the language - and more importantly, the realization of programming logics - and starting to use it intuitively to write my own programs.
评论 #3551128 未加载
voodoochiloover 13 years ago
i agree, but how can one write passionately about being a programmer and programming without giving due respect to one of the most influental and dedicated programmers of all time - richard matthew stallman - by speaking an entire article only of "Linux" and not of "GNU/Linux"?
评论 #3550845 未加载
评论 #3550539 未加载
评论 #3550561 未加载
评论 #3550580 未加载