I've wanted to start "hacking" for many months now. But I put it off in favor of school and other things. Now, though, I'm free for the summer and want to learn as much as I can. I have a rough idea of what I want to try my hand at, but need some guidance as to what specifically - and how - I should learn.
This is my plan so far:
1) Get good at programming in general.
I plan to read up on how to
think/work like a programmer. I'm
waiting for the Pragmatic Programmer
to arrive, which will be the first
book I read.
Q: What other books/ebooks should I look at? What more can I do here?
2) Learn/Improve at HTML/CSS.
My first project will be to make a
personal website/blog for myself
using HTML and CSS.
----Then I hope to write/design articles like Dustin Curtis.
After I finish this (and learn a programming language) I'll try to create user-based a user-focused website.
Q: It's my understanding that just trying to design/manage websites is a good way to learn/improve at HTML/CSS. Is that all correct?
3) Try music development.
This might be a sort of stretch for stackoverflow, but I'm interested in mixing/making techno songs. (Think Justice, or Daft Punk, or MSTRKRFT.)
Q: I have a Mac. Any ideas on how I could start/learn music making? Any programs I should download, for instance?
4) My main goal: Learning a web development language/framework.
I'm a year into learning/using C++. But what I really want to do is develop websites and web apps. I've searched online, and there seems to be great debate over which language/framework to learn first (and which is best). I think I've narrowed it down to three: Ruby (Rails), Python (Django), and PHP (?).
Q #1: Which should I learn and use first? (Reasons?)
Q #2: One reason I was leaning towards PHP is that I'm taking a PHP development course next semester. Learning it now would make that course easy. If PHP was not the answer to Q #1, is it worth learning both? Or, would it be better to just focus on PHP for this summer and next semester, and then transition thereafter to a better language?
5) iPhone/iPad Programming (Maybe).
I've a number of simple, useful app ideas that I'd like to eventually get too. I just bought a Mac, as well as a few app development books.
Q #1: Am I spreading myself thin trying to learn all of the above, and objective-C?
Q #2: How much harder/easier is objective-C compared to the above languages? Also, how easy is it to learn obj-C after learning a web development language (and some C++)?
Q #3: Yes or no? Should I go for it, or just keeep with #1-4 for now?
Also: If you have any tips on how I should learn (or how you learned to hack), I'm all ears. I'd be especially interested in how you planned out learning: did you just hack whenever you felt like it, or did you "study" the language a few hours a day, or something else?
Thanks so much, guys.