7 ms·
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 ?
- nahlyee 15y agoChoosing a programming language is really a matter of personal preference. Where to start first also depends on what to expect to accomplish. If you want to understand the basics of programming quickly, I'd recommend http://learnpythonthehardway.org/static/LearnPythonTheHardWay.pdf http://learnpythonthehardway.org/static/LearnPythonTheHardWa... It's well written and the instructions are easy to follow. If you're looking to dive right in to making web applications, you may want to try http://www.railstutorial.org/book http://www.railstutorial.org/book There is a slightly steeper learning curve, but the author does a great job of not assuming that you know Ruby. The instructions will show how to build a "twitter-like" application.
- wyclif 15y agoIf you're really starting from zero, I'd recommend Python. The first book I'd recommend would be Zed Shaw's Learning Python the Hard Way. Again, this is for a raw beginner; if you've already written some rudimentary code and know how to use a text editor, the first half of the book will drive you crazy because of the drilling. If you can skip to the end of that book and you're not challenged, try How To Think Like a Computer Scientist (the Python edition). Both of these books are free online. 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.
- BrainScraps 15y agoI'm doing Python the Hard Way and I think it's a great book. Dive into Python is good as well. 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!
- wyclif 15y agoI really miss _why, especially his blog.
- Animus7 15y agoThere are as many kinds of programming as there are kinds of engineering. Want to build web sites? Administrate corporate databases? Program robots? 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.
- wyclif 15y agoThat's true, and it's why I mentioned HTML/CSS/JavaScript. Those are general-purpose foundational languages that will stand anyone in good stead no matter what branch of programming they wind up in.
- code 15y agoIn this order... HTML, CSS, Javascript, XML, Ajax, Python, MySQL If you're adventureous, try HTML5 and CSS3 afterwards. Also look into jQuery and Django afterwards.
- noob513 15y agoWhy do you recommend this sequence ? Most likely I'd probably follow this sequence, but is there a particular rationale behind this ?
- code 15y agoIt makes the most sense. If you want to do web development and know absolutely nothing, HTML is the starting point. I wouldn't necessarily call it a programming language but it is a markup language in which is heavily used along with everything else and is the easiest to pick up. 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.
- willgodfrey 15y agoI asked something similar a few weeks ago here: http://news.ycombinator.com/item?id=2289974 http://news.ycombinator.com/item?id=2289974 Take a look at the comment I got, some good suggestions in there. 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 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!