I recently learned from "Stiff asks, great programmers answer" that Peter Norvig Director of Research at Google has Lisp as one of his favorite languages. Linus Torvalds (behind Linux) also comments how "Visual Basic" did more for programming than "Object-Oriented Languages" did.
The questions he asked where the following and for the fun of it and for your curiosity I added my answers too.
- How did you learn programming? Were any schools of any use? Or maybe you didn’t even bother with ending any schools :) ?
I learned programming using a Sinclair ZX81 in the early 80:ies. I got an extra 16KB RAM pack (the base system only had 1024 bytes RAM). I used the black and white TV as screen as well as an old tape recorder to save my programs on magnetic audio tapes. The language used was ZX Assembler and BASIC and I had a lot of fun creating games, logical, math and graphic programs.
10 PRINT "Hello world!"
Then I used computers in school as much as I could. From computers like ABC80 and ABC800 to Compis (based on the Intel 80186 CPU and with CP/M-86 as the operating system in ROM). I used Compis from 1986-1988 and did my special school work programming in Comal and Pascal. I reverse engineered a database format and provided a user interface to work with the demographic data in it.
- What do you think is the most important skill every programmer should posses?
Be open and flexible to use the tool or method that is best for the specific case. That's anyway one important skill even though I don't think there is only one that is most important.
- Do you think mathematics and/or physics are an important skill for a programmer? Why?
It all depends but if you learn math and physics it might help. I have done several programs that has required both math and/or physic skills.
- What do you think will be the next big thing in computer programming? X-oriented programming, y language, quantum computers, what?
I have no idea.
- If you had three months to learn one relatively new technology, which one would You choose?
Web 2.0 and the like.
- What do you think makes some programmers 10 or 100 times more productive than others?
Concentration and focus does a lot. Some are more "into" programming than others, love programming, logic thinking, problem solvers.
- What are your favorite 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?
I use whatever needed to do the job done and sometimes I use the tools that I use the most. Right now it's Windows OS, Visual Studio 2005 and VB.NET, VBScript, AutoLISP, SQL Server and Access. One language that I don't use now but I loved to use was Modula-2. Lisp is really a favorite language.
- What is your favorite book related to computer programming?
Don't have any but one good one is Applying Domain-Driven Design and Patterns by Jimmy Nilsson with a lot of .NET focus.
- What is Your favorite book NOT related to computer programming?
Being a CAD related blog I appreciated reading The Autodesk File. "The history of Autodesk and AutoCAD told through contemporary documents, edited and annotated by Autodesk founder John Walker."
- What are your favorite music bands/performers/compositors?
Level42 / Bryan Adams / Benny Andersson just to mention some that have made a lot of great music.