4 ms·
I second the advice about setting up an Ubuntu machine. Windows is unnecessarily painful for development in comparison. Although there are "workarounds" around
by ryanbigg 15y ago
I second the advice about setting up an Ubuntu machine. Windows is unnecessarily painful for development in comparison. Although there are "workarounds" around the problem, you'll find things much easier for development on an Ubuntu or Mac computer.
Now for a language recommendation. I am a Ruby programmer, so I've got a pretty heavy lean towards that.
Ruby is an exceptionally easy language to learn. There's a book called Learn to Program written by Chris Pine (http://pine.fm/LearnToProgram/ http://pine.fm/LearnToProgram/) which is an amazing beginning to getting into Ruby.
Past that, there's the Well-Grounded Rubyist by David A. Black (http://manning.com/black2 http://manning.com/black2) which covers all the things from basic Ruby up to medium-advanced levels of Ruby). There's also Programming Ruby 1.9 by the Pragmatic Programmers (http://pragprog.com/titles/ruby3/programming-ruby-1-9 http://pragprog.com/titles/ruby3/programming-ruby-1-9)
If you want to brush up your Ruby skills, the Ruby Koans (http://rubykoans.com/ http://rubykoans.com/) are also pretty good.
If you're looking to get into web development (well, you ARE on the internet!) then I would recommend learning HTML and CSS with a book such as HTML 5 and CSS 3 by Brian Hogan (http://pragprog.com/titles/bhh5/html5-and-css3 http://pragprog.com/titles/bhh5/html5-and-css3). Then a good JavaScript book, perhaps something like JavaScript: The good parts (http://oreilly.com/catalog/9780596517748 http://oreilly.com/catalog/9780596517748).
After learning as much of those as you can, familarize yourself with Git by reading the Pro Git book by Scott Chacon (http://progit.org/ http://progit.org/), or if you choose another version control piece of software (Mercurial, Bazaar are good, SVN isn't and CVS is (I'm pretty sure) the work of demons).
Ah and before I forget, I've got The Developers Code (http://www.thedeveloperscode.com/ http://www.thedeveloperscode.com/) bookmarked for late-night reading and I'm quite enjoying it so far. Quite a lot of lessons in there that I have learned over my brief career, but ones I knew from the beginning.
One more final thing: you are new here and people will treat you like that. Be nice to them and they will be plenty nice back. Respect the fact that they have limited patience and may not wish to answer your questions eternally. They may also have other people asking them questions at the same time you are, or have other things they would like to be doing.
You will get better with practice. You show a keen want to learn, which is a great start. Never give it up. Nothing is "too hard" forever. Persist, and for the love of god, practice.
- bonzoesc 15y ago> If you want to brush up your Ruby skills, the Ruby Koans (http://rubykoans.com/ http://rubykoans.com/) are also pretty good. I've been opening Miami Ruby Brigade meetings with these, recommending them to non-pro-Rubyist friends, and did them myself last week. They're a really great exercise.
- phamilton 15y agoWhile Ruby is a fantastic language and a joy to program in, if you are planning on heavy computation, python is a much better route to go. While everything can be tweaked and optimized in both languages, python is generally favored for performance and ruby for flexibility. Numpy and Scipy are both quite efficient and provide lots of functionality needed in scientific computation. Down the road, if you have a script that takes days, weeks, or even months to complete, python allows you to refactor the bottlenecks in your code into C without too much difficulty. I spent a year working in high performance computing at a university and so much ugly and inefficient code was written in matlab. Had they written it in python, it would have been much easier to optimize and their research would have been much more productive.
- troels 15y agoI don't think the raw computing power is that important in this case. And if it was, there are better alternatives than Python. However, I would suggest that Python is probably a better beginner/learning language than Ruby. There are many odd ends in the Ruby language that might easily trip an inexperienced coder up.