Great Programmers answer questions...
I'm not a great programmer, I'd like to think that I'm pretty good at it, but I'm far from great. That being said, for my own ammusement, I'm going to answer these questions as well.
- How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools :) ?
I have a sorted past with school. I was never a good student, and I never went to college. I received some computer training in the Army, but it was pretty much all crap. Some day, I'd like to go back and get a degree, but I don't know how useful the degree itself would be. I learned to program by buying books, lots of books. And just doing it, as much as possible for any reason possible. The key is to be around people that can correct you and can correct you when you hack :)
- What do you think is the most important skill every programmer should posses?
I agree most with James Gosling and Dave Thomas here. Motivation and Passion. Without those it's just a job. Communication skills are what leads you beyond that. You can't lead if nobody understands a damn thing you're saying.
- Do you think mathematics and/or physics are an important skill for a programmer? Why?
Physics? No way. Not unless you work for Blizzard or Id. Math, yes, but again that can be very field dependent. I agree with DHH on his point that most of us work on business problems, not math problems. Though, it wouldn't hurt for me to bump up my math skills they do suck.
- What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?
Who knows. I suppose I'll continue doing what I've always done. Learn what is usefull and interesting. Outside of that, what's the point?
- If you had three months to learn one relativly new technology, which one would You choose?
If I had 3 months to work on anything, it probably means I should be working on my resume.
- What do you think makes some programmers 10 or 100 times more productive than others?Again, Motivition and Passion. I'm always learning, always reading, always on the hunt for something intresting. I'm probably not better than most programmers, I just have more stuff in my head to reference.
- What are your favourite tools (operating system, programming/scripting language, text editor, version control system, shell, database engine, other tools you can’t live without) and why do you like them more than others?
Intellij IDEA. It's simply the best IDE for any language out there.
Ruby is the simplest scripting language I've seen, easy to learn and use.
Well, Java and Ruby are my favorite programming languages. It comes down to using the right tool for the job though.
Operating system, well I'm gonna get burned at the stake for this but I have no problem with Windows XP. It does what I want, it almost always works. And I don't have to edit any f*cking text files to make simple changes.
That being said, I like Ubuntu Linux hehe. I'd love to have a Mac to work on, but I'm simply not willing to buy their hardware. I have PC hardware at home, when I can use that I'm all over it.
- What is your favourite book related to computer programming?
Well, I don't have a personal favorite. I think I'll use the answers as a recommendation list. Except maybe "Gödel, Escher, Bach: an Eternal Golden Braid" as I have no idea what the hell that says.
- What is Your favourite book NOT related to computer programming?
Simply can't answer that one.
- What are your favourite music bands/performers/compositors?
Here's where I look like the white nerd kid from Office Space...
I like Pink Floyd, Zepplin, Korn, Eminiem, 50 Cent, Blues Traveler, Flogging Molly. I've gotten into a bit of classical and soundtracks, they're good for reading. I couldn't name a favorite from those categories though.