Poll: Was one of your parents a programmer?
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?
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?
[+] [-] ColinWright|12 years ago|reply
I 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).
[+] [-] rachelandrew|12 years ago|reply
This is the method by which I still learn new things. Get a good book (or online tutorial). Ask questions.
[+] [-] tikhonj|12 years ago|reply
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.
[+] [-] hipsters_unite|12 years ago|reply
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.
[+] [-] tlarkworthy|12 years ago|reply
[+] [-] sklivvz1971|12 years ago|reply
I did pair with a same aged friend. We co-learned BASIC and Z80 assembler at the age of 12.
[+] [-] zapu|12 years ago|reply
[+] [-] michuk|12 years ago|reply
This was early nineties and I had no books, no library, no Internet to learn from (my parents had no programming knowledge either) so I had to hack around. I learned to stop programs just before they finished loading and view the source and learn from it (good old days when no one thought of closed-source and obfuscation).
Soon I started writing my first app in Basic. It was a game where you had to get a dot around a rectangular track. Not a complex one but took me a few days to finish.
Things went fast from then. I learned Pascal and started writing more complex programs on a PC. When choosing a school I didn't even consider anything else than computer science. Got my first programming job in a Warsaw-based software house when 21, while still studying. I learned Java and Linux at that company. Then came a few others and eventually in 2010 I started my own company, a movie analyics startup Filmaster.TV which is all I'm focused on right now.
Spaghetti Monster only knows where would I be now if not for that faulty ZX Spectrum program in my childhood.
[+] [-] stevekemp|12 years ago|reply
I started hacking on a ZX Spectrum, initially via the orange manual, later with books from the library and so on.
After BASIC I jumped to assembly, and kept up on assembly on MS-DOS 3.3, via Ralph Brown's interrupt list. I didn't try pascal, or any other real language, until many years later at university.
[+] [-] tomjakubowski|12 years ago|reply
[+] [-] yoran|12 years ago|reply
[+] [-] mattdoughty|12 years ago|reply
[+] [-] exDM69|12 years ago|reply
[+] [-] jacques_chester|12 years ago|reply
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.
[+] [-] Bzomak|12 years ago|reply
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!
[+] [-] blazerboy65|12 years ago|reply
I'm 18 now and trying to thoroughly learn Python with a few books I've downloaded: A Byte of Python, How to Think Like A Computer Scientist: Learning With Python, Learning Python the Hard Way. Please don't judge me, but I actually printed the entirety of that last book into a PDF; I'll get around to legitimately buying it eventually.
I kind of feel like I'm competing against my best friend to see who can make the coolest stuff, although it's getting hard to rate website stuff versus CS/math stuff. I'm also no longer scared to dive into manuals or look at code from other languages.
TL;DR Starting on the path of programming without ANYONE to explain things to you or that your code really does suck is not easy, but doesn't make learning impossible. It's like being thrown into a pool in order to learn to swim.
[+] [-] Argorak|12 years ago|reply
Yet, I didn't pick up programming before university. Which was good, because I learned Ruby on the side to spice it up a bit. Back then, Rails wasn't released and anyone ever heard of Ruby, which is quite an advantage today.
[+] [-] rhythmvs|12 years ago|reply
When we were kids (in the early 1990s), together we made websites: he did the difficult stuff, I did the graphics (Corel Photopaint back then). When I went to college and ran a philosophical magazine, I had my brother make me two websites, in “dynamic html”, then in Flash — it was the late 1990s, and those were cutting-edge, especially in the arts department. While in college, my brother got hooked on php, while the official curriculum taught Java and mocked at “website scripting“. Meanwhile, I picked up html and css, and kept reading: TUGBoat, Techcrunch, Wikipedia. I became quite knowledgeable about the newer stuff: Javascript MVCs, NoSQL — but, as with TeX, everything purely theoretical.
Two years ago we decided to work together again, with this new stack of Mongo/Meteor/Sass: he still on the back-end, I on the front, although the difference between the two is fading away, especially with Meteor. One learns a lot, mutually, in a common “full stack”…
Most of what we can, is from self-learning. I can imagine my brother’s formal training in CS sets a background for self-learning, but his insights in code organization and architecture is from hands-on experience. Without the help of my experienced bro, I’d have a very hard time while teaching myself to code. I keep being a scholar, read about Lisp, Turing completeness, try to figure out data structures, helping myself out with Wikipedia. I’m amazed how all that fascinating theoretical stuff seems to have been merely noteworthy in the CS classes my brother took. I studied art history and philosophy: formal logic was the nearest thing to algebra I had in years. I can safely say, I guess, for both of us, our education has very little to do with the software we write, love and live today.
Our father claims to have written software, while he did his PhD in biomechanics in the late 1970s. It’s hard for us to believe that: as an old-school mechanical engineer he’s got this habit of looking down a bit on making websites and apps. What really helped us to love computers and learn to program, I guess, is that when we were still in primary school, our father bought a PC, got an early internet connection, and let us play with those, freely and without any restriction.
[+] [-] porlw|12 years ago|reply
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.
[+] [-] k-mcgrady|12 years ago|reply
[+] [-] ACow_Adonis|12 years ago|reply
Most classes I took were on word or excel. Had a bit of side influence from local pc users group and BBS environments. Doom, and subsequently, the doom hackers guide, were probably one of those chief influences that subsequently saw me start to take things apart and realize how they all worked and fit together. Had friends that I got together with over IRC and gamed with. More games followed.
Started IT in university, but dropped out after the first year because using eiffel was the most boring experience I'd ever had, and not what I enjoyed about using computers. Continued tinkering in various tasks/languages as needed over the years, but never really got past the basic ability to use loops/arrays/conditionals, etc.
Things really got serious when I decided to use employment to learn. Figured I might as well get something out of a paid job, and decided I'd challenge myself to program everything I had to do at work, not use any of the pre-prepared solutions. I learnt SQL in which i tried to do everything. Then i moved on to imperative C-style languages, and tried to do everything in that. Then learnt regular expressions. Then used C. All along this time I kept bumping into python because I began to experiment with ubuntu. Lastly, after doing all that, I decided I wanted a language that was compiled, had good performance, was functional, had macros, and was free. I discovered and taught myself lisp.
From the SQL period on, i can't say i ever had anyone else to guide me. I just kept picking up new stuff, and challenging myself to do everything from the ground up. Every time I found something I couldn't do, or something I didn't understand, I kept at it until i did. Somehow, at the end of it all, I'm a guy with qualifications in other fields that really became a programmer anyway...and now knows more than most of the IT guys :(
[+] [-] k-mcgrady|12 years ago|reply
[+] [-] japhyr|12 years ago|reply
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.
[+] [-] spc476|12 years ago|reply
[+] [-] katzgrau|12 years ago|reply
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.
[+] [-] chrismorgan|12 years ago|reply
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".
[+] [-] dferr|12 years ago|reply
I'll never forget all that my grandfather taught me, even though it was taught posthumously.
[+] [-] cupcake-unicorn|12 years ago|reply
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.