How did you learn programming? How long did getting good take?
Kliment: I first played around with DOS on an 8088 back at school. I'd edit batch files and make it print out amusing things. Made a text adventure, self-replicating files etc. I then tried editing an exe file to change it, and realized it wasn't quite that simple. Later on, I found QBASIC and used it to write "real" programs, such as little animations and an alarm clock using the PC speaker. I learned some Pascal at school, which is where I found out about flow control structures and functions. Later on, as a teen, I played around a lot with Delphi, finally getting over the disappointment of not being able to edit .exe files that I had as a child. I made a lot of one-off programs I'd put on CDs with autorun as greeting cards and personal messages to friends. I later did a couple of months of VB at school, but didn't learn anything new compared to what I could already di with Delphi. I sneaked into the high school Java classes when I was in 8th grade, and thanks to a particularly tolerant teacher got to unofficially participate. I learned Java and C basics at university classes I took as part of a cooperation agreement between my high school and the local university. Later, officially in university, I took more Java classes and learned what I could of C++ on my own. I was fairly comfortable with C, but C++ was frustrating, because a lot of the complexity felt unnecessary. I stuck with Java for the most part. I wrote C++ and Java at a number of research assistant jobs, and learned bash script and awk on the side for one-off tasks. my first exposure to Python was when a student at a course I was TAing asked if they could submit work in Python. I accepted that, and learned a fair bit from dissecting that program. I didn't touch Python for a while after that. Later, at another job, I did C# one-off programs for psychological experiments. On the side, I was playing around with virtual reality and used Vizard, which is a 3d visualization package built on Python. I started playing around with Python seriously at that point. I now write mostly in Python, except for C and C++ bits for performance-dependent stuff and hardware interfacing (which I use from Python with ctypes.)How long did getting good take? It's hard to say. I feel I've learned something from each of those experiences, and gotten better in the process. I'd say I've gotten to the level where I'm confident in my skills as a programmer within the last couple years, as I've seen meaningful things done with my code.