Poll: Was one of your parents a programmer?
I first learned to program from my father when I was about 5 years old, so it's hard for me to imagine learning to program without someone nearby to answer all the incidental questions we have when we are first learning.
I am wondering if most people here had a parent or another immediate family member who introduced them to programming. If not, how did you get started?
67 comments
[ 4.8 ms ] story [ 48.1 ms ] threadI taught myself Z80 code from a book (someone Rodney, or something), then wrote a compiler from a limited subset of BASIC to Z80 machine code. No assembler, no linker, no loader, just a straight conversion from BASIC source to Z80 machine code residing in memory.
Added in edit: Radnay Zaks, "Programming the Z80", first published 1979.
The subset of BASIC was enough to actually write the compiler, and I remember adding the DATA and READ statements to the compiler, then using them, and the net result was smaller. The DATA and READ statements allowed data-driven techniques, so code generation became simpler. It was an interesting insight - a more powerful program was sometimes actually smaller, implemented in less code.
And all this was mentor-less, as I knew no one who could program. It was 1979, and I was 17 (although I turned 18 a few months later).
I didn't receive any tutoring in programming until to the age of 22.
Back then there was no internet and tutoring in IT was unthinkable in schools. Barely anybody had a computer in the first place, something which just a short while after changed quickly.
I'll never forget all that my grandfather taught me, even though it was taught posthumously.
Which probably explains why my dad is a systems programmer writing drivers for Windows and I'm using Haskell on Linux to do programming language stuff with a healthy dose of PL theory. Hard to imagine any way to be so different while staying in the same field.
For some reason when I was growing up, programming wasn't ever discussed as a thing I might want to do, so came to it myself much later on.
I did pair with a same aged friend. We co-learned BASIC and Z80 assembler at the age of 12.
I've watched some people trying to learn programming, who get lost in all the little details that we have sorted out a long time ago. A mentor, or just someone knowledgeable that you can ask simple questions from on a regular basis, still seems pretty helpful.
My mentor was my father, a chemist. He showed me how to program BASIC on the lab computer that he sometimes brought home at weekends. That was a Commodore Pet, I was about 8 at the time.
My Dad is a programmer, but I and my two elder brothers all developed the curiosity for such matters and learned programming on our own with no assistance from our Dad or each other (my eldest brother began at about seven, my elder brother and I following suit at a slightly earlier age; I was five or six when I began). But I suppose it was Dad who ensured that there were a couple of books on BASIC for us to learn from.
So I can answer:
- One of my parents was a programmer.
- Another close family member was a programmer.
- No one person mentored me as I learned to program.
- And, of course, that term which ever eludes accurate definition: "Other".
I think that my first experience was messing around with VRML, learning the mathematical ideas necessary for 3D world manipulation. Once my father saw that I was interested, he showed me some tutorials and documentation (downloaded onto the computer as the internet connection was horrendous), and I gradually learnt to create worlds. The programming part of VRML was the ECMAScript that one could use to control the objects, with which I was able to create and control a Rubik's cube, plot the solar system and stars from star catalogues, and generate patterns using L-Systems. From there, I was introduced to Basic4GL, and then was able to access various programs in some of my father's old fractal books, with explanations from him when needed. The beauty of recursion followed!
I experienced MATLAB, Java, and my favourite, C, at university. All of which was was too newfangled for my father to know anything about. But without his guiding hand when I was younger, I would never have discovered the ever-linked joys and frustrations of programming, and taken the courses that I did later on in life. I count myself lucky that I had someone available to answer my questions and keep me interested, otherwise I would probably have got bored and annoyed far too soon and quit before I'd really got started!
As it turns out, he was not an elite hacker, and I wasn't going to become one by learning VB.
That said, it set me on a path (and maybe pattern) of self-learning that I think only the internet made possible. My real programming mentors were some cool folks on some online bulletin boards, who helped out serious n00bs like me along the way.
My parents were computer illiterate (I must have been the last kid in my 'hood to get a computer), and they never thought my little programming hobby would develop into anything of use!
Now I'm 27, have had a fun ride so far, and have to credit it to some power users on, wait for it, extremevisualbasicforum.com
PS: Of course, I moved away from that and like most at HN, do back-end/front-end of webapps now.
However, I do think I ended up with some kind of "origin bonus" because I grew up in Redmond Washington surrounded by programmers. That gave me a mindset and style of problem solving very conducive to programming I think.
I imagine that in a different place and time he'd have been a steam engineer. In yet another time and place: a computer engineer. But he was born when radio was king, before electrical engineering was a university-degree bearing profession instead of a trade.
I started programming when I was around 12 to script computer games. I struggled with the scripting environment of one of them, misunderstood the mention that it had a "c-like syntax", bought my first book about C and the rest is history ;)
When I was 15 I got a job at a gas station and built a service reminder system for them, based on some software my dad wrote. I had to replace about half of his code, so it probably would have been faster to start from scratch but I didn't have the confidence to do that at that time. I got a little help from my dad, but not much.
Most of my friends were geeks (we played D&D at lunch in the math wing of our high school, and most of us were in the band) but only one of them became a programmer as a career.
In fact, if being a programmer was his job, I'd probably be turned off by it. I remember a friend of mine had a dad who was a programmer, but while the kids were all pretty good with the computer I never remember him teaching them things as such - in fact, I turned this friend on to a lot of game creation engines, etc. myself.