As a co-founder of a startup, I am on the "business" end of things. But I want to start learning how to actually do the tech side as well - obviously, not an easy proposition, but I'd at least like to start learning so that I can be intelligent about what my tech guys are doing.<p>So I know this is a very broad question, but a Google search on this has proven fruitless. If you were starting on Day 1 of your coding journey, what would you learn and where?<p>Thanks in advance.
I asked a similar question a few days ago here: <a href="http://news.ycombinator.com/item?id=3007945" rel="nofollow">http://news.ycombinator.com/item?id=3007945</a> (there are some gems in this thread!). I'm actually on the quest to find out what's the best method to learn programming for non-technical people, but I'm still compiling some learnings.<p>If you're using Ruby on Rails in your startup, start directly with www.railstutorial.org - it's a great introduction to not only programming but all the side things that programmers do (version control, deployment, etc.)<p>If you need a Python or Ruby introduction, Zed Shaw's are very good too!
<a href="http://learncodethehardway.org/" rel="nofollow">http://learncodethehardway.org/</a>
You could start by toying around with Phyzixlabs Software. It is a platform for building and using academic applications based on Javascript and SVG. The motivation for PhyzixLabs is to make it easy to build and use applications such as these: <a href="http://phet.colorado.edu/" rel="nofollow">http://phet.colorado.edu/</a>.<p>It is a cloud based programming environment so you wont have to deal with setting up your own coding environment which is usually the biggest road block to new coders.<p>Below are some live demos of apps built on the platform and a couple of video tours:<p>*Firefox, Chrome,Safari or Opera required.<p>Spring Mechanics:
<a href="http://hadron.phyzixlabs.com/embed/?action=get_main&embed_key=bef824296b9e17ea55855a8da9354c9d&width=500&height=480" rel="nofollow">http://hadron.phyzixlabs.com/embed/?action=get_main&embe...</a><p>Projectile Motion:
<a href="http://hadron.phyzixlabs.com/embed/?action=get_main&embed_key=249fb8e996e2a523f208ca9e95b3b415&width=500&height=480" rel="nofollow">http://hadron.phyzixlabs.com/embed/?action=get_main&embe...</a><p>Here is an example of the above programs embedded in a blog post:
<a href="http://colabopad.blogspot.com/2011/03/public-release-of-simupad.html" rel="nofollow">http://colabopad.blogspot.com/2011/03/public-release-of-simu...</a><p>User Demo : <a href="http://www.youtube.com/watch?v=PhZcIMvejVA" rel="nofollow">http://www.youtube.com/watch?v=PhZcIMvejVA</a><p>Developer Demo: <a href="http://youtu.be/wma9MU2e_U0" rel="nofollow">http://youtu.be/wma9MU2e_U0</a><p>Feel free to contact me with newbie questions!
Ed.
Codecademy is pretty awesome if you really want to start with the very basics. The lessons they have so far cover Javascript, but the features they teach you span most languages.<p><a href="http://codecademy.com" rel="nofollow">http://codecademy.com</a><p>When I started out, though, I had a clear vision of what it was I wanted to do, bought a book, and started hacking away. I learned best by jumping in head first with the hard stuff, but I realize a lot of people learn differently than I do. I would say that if you find the Codecademy courses too easy or boring, you should try my approach instead.<p>As far as what to learn...it kind of depends on what you're trying to build. Back when I was teaching myself, I was using PHP and MySQL, but the world appears to have mostly moved on from the LAMP stack of yesteryear. I'm partial to Python these days, but I've always enjoyed Java as well. Javascript has blown up in a huge way in the past couple of years and platforms like Node.js have only made it that much more practical. If I were to start learning web development today, Javascript is probably where I would start.
Use the search. This question gets asked ALL the time and there's no use rehashing what's been hashed over and over.<p>You'll probably find a lot of references to LPTHW.