Ask HN: Starting with programming?
I have zero programming experience. I did a bit of matlab in college, but that didn't teach me anything [maybe a basic understanding of for / while / if / statements].
I was wondering what I should start with to reach the basic proficiency within the next 6-8 months so that I could [if i wanted] be able to get a job as a starting /entry level programmer ? I am a mechanical engineer otherwise.
Also, I was wondering whether you would say what exactly I should be starting with ?
A] python or ruby or
B] html & css [with js later on?] or
C] something completely different ?
(
11 comments
| 7 points
| on HN
)
We are in similar boats, I am a structural engineer by day and have a tad of programming experience, mostly with Matlab and some VBA stuff. I wanted to start basic and proceed as necessary, skipping if I felt the material was too rudimentary.
Per the comments I got, I started with Zed Shaw's Learning Python the hard way (http://learnpythonthehardway.org/index). It's great so far. As wyclif mentions elsewhere here, the first half is incredibly simple, to the point that its nearly ridiculous. I've found myself performing the exercises quickly and moving on, if nothing else it's just plain good practice of the simple mechanics of writing code, even if the code I'm writing is rudimentary.
Also per the comments from that post, I registered and started a personal weblog using a wordpress template. It's given me my fair share of HTML work, which has also been helpful.
Good luck, enjoy the ride!
This question (or a variation of it) has been asked before on Ask HN, so do a search and read those archived posts.
My best advice is to get some HTML, CSS, and JavaScript under your belt. That will give you a good foundation. Then move on to a good, dynamic functional language like Python or Ruby.
If you're slightly off-kilter like I am, you might enjoy a delicious combination of Why's Poignant guide to Ruby and Rails for Zombies. Good stuff, although Rails for Zombies can be a bit maddening if you're a beginner.
Cheers!
While a few concepts carry over, the tools and workflows in the different branches of programming can be worlds apart. You probably want to get some direction re: where you want to go with programming before you dive into something specific like a language.
HTML, CSS, Javascript, XML, Ajax, Python, MySQL
If you're adventureous, try HTML5 and CSS3 afterwards. Also look into jQuery and Django afterwards.
From there, everything else is a building block. Think of it like math. You'd take transitional math before pre-algebra, pre-algebra before algebra, etc... Same thing.