I started early but slow - a friend had a Commodore 64 and we were writing simple BASIC programs at about 7, and another friend had an MS-DOS system with QBASIC. Slightly after then, my family got a Windows 3.1 based home computer, and I used to log on to BBSes and download other people's QBASIC code as well as writing simple (non-graphical) menu systems and the like. I then learned x86 assembler and began writing programs that combined QBASIC and x86 assembler. I also had some exposure to C via the compiler built into a 2D DOS-based graphics package my father used for work.
Around 1996, the family computer got Windows 95, and HotJava came out, and I got hold of the JDK (a very big download on a modem - I had to wait all night), and I learned Java and made a few applets. I also got a Visual Basic CD that came with a book about it. About a year later, I was able to set it up as a dual boot system, and installed Linux, giving me easier access to gcc, and I learned C. I also learned to audit code for security bugs and found a few in popular IRC daemons - after reporting them to the developers, I ended up becoming a regular contributor to the development of several ircds.
I got my first paid programming job on my 15th birthday (after applying to lots of places), for a lawyer who was running a software business on the side, developing native Windows apps.
Around 1996, the family computer got Windows 95, and HotJava came out, and I got hold of the JDK (a very big download on a modem - I had to wait all night), and I learned Java and made a few applets. I also got a Visual Basic CD that came with a book about it. About a year later, I was able to set it up as a dual boot system, and installed Linux, giving me easier access to gcc, and I learned C. I also learned to audit code for security bugs and found a few in popular IRC daemons - after reporting them to the developers, I ended up becoming a regular contributor to the development of several ircds.
I got my first paid programming job on my 15th birthday (after applying to lots of places), for a lawyer who was running a software business on the side, developing native Windows apps.