As the subject would state I'm wondering what brought you to this field, be it as a hobby or a career or anywhere in between.
For me it started as an interest in making a game for some story I came up with as a kid. Though I didn't really get into programming till much later. After I got a foothold in the matter I fell in love with the idea of AI development. It quickly became my passion and my favorite field in computer science. Only recently however did I realize why I was drawn to it so quickly. Embarrassing enough it stems from my favorite theme in science fiction; that is to say, the idea of an artificial human.
An insatiable curiosity about how things works. I used to take broken things apart to see how they worked, sometimes managed to fix them. That started me asking questions about what was going on inside the ICs. One day my Dad bought home a user manual for a new CNC machine and later on found me trying to read it. The next thing I know he has bought a ZX-81 and we are learning to program it together. This stayed very much as a hobby for years, as there were no courses at school on ‘computing’. I finally jacked in my job as a luthier and went to university as a mature student.
I couldn't describe it any better.
Before that, though, i played this MMO called Maplestory with a bunch of my friends. I think what set off my interest in computer science and programming was (as silly as it sounds) wanting to be like all the hackers on the game, lmao.
But that grew into a much larger fascination of electronics. I had to know exactly how everything worked.
As for C++, one day i was at a my buds house, and their older brother, who i guess I looked up to because he was a computer repair tech or something (and that's what I saw myself being in the future), i saw him carrying around a book called "C++ for Dummies". It was then that I decided I must learn C++. (:
That was almost 4 years ago. Ahh, good times. *sits back and remembers the script kiddie days*
I was originally brought into the world of computers in 1st or 2nd grade, my aunt had just gotten a windows95 compie, and we played games and shot around on the internet on our dial-up connection... The thing would crash every other minute, what a piece of junk.
My next experience with computers was 5 years later, in middle school. A friend of mine was tossing out some old computers and I really really wanted a computer of my own (my folks had an xp desktop, which I couldn't really use that often) so I took them off his hands. Here's where it got interesting. I had two identical laptops, and neither one was working. A week, 13 missing screws, and piles of missing homework later, I switched the LCDs, the keyboards, the hard drives, the ram, and shoved it all together. As if by some black magic I pushed the power button, expecting nothing, and an unholy glow began emanating from the screen. I'd done it. I proceeded to fill the hard drive with useless junk(wasn't hard, the hard drive was infinitesimal). The following summer, I decided to go to an electronics summer camp. I swear that stupid camp changed my outlook on computers. I learned about transistors, resistors, caps, and holy shining stars: ICs.
I was hooked, I then saved every penny I made for the next birthday/ anytime anyone would give me money. I took a ton of money over to my local radioshack. I spent every single penny on their overpriced stock of electronic components. Breadboards, crappy ICs (mostly 555s), and other components. I spent hours and hours playing with it. I was online at my school a while later and I found out about the arduino microcontroller, oh my I was so excited. I flew home and in a babbling sort of way asked my mom if she would use her credit card to get this thing, of course I'd pay her for it.
My mom, being, well, my mom, agreed, and the 'duino was bought on the spot. I used that thing to it's fullest extent. programming it and making h-bridges with mosfets, and making robots with the combination. It was heaven.
The next year I got a laptop from my brother, an upgrade of about 10x on every front. I know had internet whenever I wanted. But I wanted more. So I proceeded to look up how to "hack" wireless networks. I installed a linux distro, and got all my aircrack stuff set up, got a wireless adapter with the ability to inject packets, and learned. I learned to break any wep in about 10 minutes. WPA, no dice, I never got any good dictionaries, nor did I have room for any rainbow lists. Every forum I would see questions on, the people would basically just say: learn to program newbies, but I thought that was just insane.
Well then a friend of mine mentioned programming, he had just done a little bit (think hello world). I thought, "Whoah man that's heavy, no sane person programs. That's like numbers and stuff right? Waay over my head." But if he could do it, so could I.
Well after he mentioned that I spent the night on google, researching and researching. I learned about IDEs and Compilers, and the different languages. I learned which languages should be learned and such stuff. I was caught between c and c++ a ton of people had said to learn c first. But I didn't heed any such sayings and just went straight to the gold. I programmed and programmed and programmed. In my first month I think the coolest program I wrote was a little program that recorded your mouse and played it back at whatever speed you wanted it to play back at. Lol it was way fun to play around with, at one point I had it go to mspaint and paint a HUGE picture while we all watched. I had a ton of fun with that =]
Well from there it's basically history. I've gone from newbie h4x0r/ fetus programmer, to pretty dang good programmer, and a good enough "hacker" to get by. I am currently working on a LAN game that's fairly hush hush, but it's going to be epic. I finished my first iPhone app, and decided not to release it for some reason. I'm working on my second, much more easily maintainable, application for the iPhone. I have started doing a contract job or two on the side of my main job, and I absolutely love programming. I love the control, and the way I can make any environment that I want and populate it however I want. I feel like I'm making worlds...
In terms of projects, I still have yet to finish anything decent. I've written a few relatively non-trivial programs, but all the more complex things I've written (various disk partitioners, text editors, OS kernels, 2D games/game engines, a web browser, a TeXt editor (a text-editor with two tabs, one displays a TeX-generated .djvu file and the other displays the TeX source), libraries for different things (currently working on "libmath"; I'm only writing an Integer class and a RealNumber class, and then modifying some of the basic stuff I've written already to use those (Angle, Fraction, Vertex and Vector classes), at which point I'll stick it on SourceForge and hope that someone who is actually good at maths contributes to it since I'm mostly using it as a learning project). Most of the code I've written is in the form of various scripts and single-file programs that I use in the shell.
+1 to ultifinitus about the feeling of making worlds. It isn't how I started but it's that feeling that kept me interested once I got off the ground.
As for me, I've always wanted to make video games. I have notebooks from when I was about six years old about ideas for video games. I remeber my father buying me my first book about making them when I was about 12, it was completley worthless. It didn't say one word about actual programming it was all about how to tell stories and get the user involved and how to drop hints about hidden parts of levels without being obvious etc. rather then sitting down and coding. I've never read the whole thing but I think it's cool that he tried, and when he asked me about it, I told him that it didn't actually teach you how to make video games he said something like "Really? Huh, I thought that one was the book about C".
By the time my Uncle heard about my interests the news was watered down to "He's interested in computers and stuff". Being slightly more practical then his brother (my Dad) he bought me an electronics hobby set that taught me everything from Ohm's law to Antenee theory. That was the spark for me, I got into robotics and started taking apart everything I could get my hands on. I remember taking apart my old Gateway computer. It was a Win98 (First Edition) Pentium II 333Mhz Slot A processor (Not a coppermine), 32MB PC66 SDRAM with onboard sound and video. I can't remember why me and my friend took it apart, it was because of something my Dad said (my parents divorced when I was 4 so yeah, it was one of THOSE things). Any way, my Mom was pissed and flipping out because she had just bought it a few weeks before and now it wasn't turning on. So after my friend went home I spent a few hours of fiddling with it and was able to fix the thing.
Flash forward a few months and there was some kind of corruption in the registry for that same system. I was on the phone with either M$ or Gateway (I was no older then 14 at this point) reading probably a hudred registry keys to some some guy who didn't speak english over the phone, and changing a whole bunch of crap by hand. By now I had picked up a few things about computers and asked if there was some kind of automated thing he could send us and he said No (sic). After that was all said and done to their credit they did have me export the registry entries so that we wouldn't have to do that crap ever again. I was talking with my Mom about the whole thing at dinner and she told me that I was a life saver and that she would never have the patience to do that over the phone. This is where I started studying Windows itself I wanted to know why it worked before but didn't work now, what I had done to get it working again and everything in between. This is where I started first seeing the "flaws" in the Windows archetecture, where a "hacker" might get in and what they could do. But back then I remember thinking about what I had found "This isn't real hacking. It looks nothing like this on TV." :p
When I was around 17 a friend of my family gave me a job at his computer store. I mostly worked retail but I learned so much from that place that by the time I hit college I coasted to my degree getting a 3.6 GPA even after failing a class and being accussed of a hate crime (different story). This is when I seriously started studying C++ again. I told the guys in the shop one day about how I knew a little bit, and they immediatly started giving me more technical stuff to do like it was instant credibility or something. I want to say that around then was when I first joined this site under a completley different handle, I wasn't CompuerGeek01 yet. The tutorial here had launched me in the right direction. After literally six books each more then 500 pages and costing as much as $80 about programming in C++, it was this site. A free tutorial on a web page with a name that couldn't be more obvious without physically hitting me over the head.
Now a days I really wish I had more time to program. I get a few hours here and there but it never seems to be when I'm in the right mind set. I've started so many projects and I still have them kicking around but it seems like when I go back to them the next day I want to fix the one little issue by rewriting everything, so nothing ever gets done.
Now that I think about it, it was really this site that was the missing ingredient. Until I joined up, I'd strictly been a console programmer. Which isn't anything bad.. It's just.. very narrow. But that's all the books ever teach, they don't actually go into what other libraries are, etc.
I always just googled when I hit a problem that I couldn't work out for myself, and used forums like these with people who have already solved the same problem.
I'm not sure what made me decide to actually sign up here, but i think it was the incredible itch to have somebody else to talk to about C++, since I didn't know anybody else that was the same magnitude of computer geek as myself.
My first post (i think) was about when I got interested in game-dev. I posted asking about how i should get started on coding Snakes in the console. I think it was Disch that replied telling me that console + game = not the best road to take, and he introduced me to SFML.
At that point my mind was blown. Third party libraries? Incredible! My coding knowledge increased exponentially from then. And that was probably only about 6 months ago. It was one of those things where you just learn so incredibly fast that you sit and look back on the weeks before thinking "Was I really that stupid?" Just like when I couldn't figure out why my internet wasn't working after reformatting my computer (i was 10 at the time), then being like "Oh so that's what drivers are!" after taking my pc to the shop.
Anyway, I feel like this is an appropriate time to say thanks to everyone on the forum. Just for doing what you do. (:
When I was a kid we had a Windows for Workgroups, and computers seemed fascinating.
At school we started learning to use Windows 95 (the taskbar impressed me no end, although confusing at first), and loved the little paper-clip thing in Word (which meant I never learnt to type because I was distracted).
We then got a Windows 98 at home, with a working dial-up, and enjoyed playing fancy games like Midtown-Madness 2 (can I get a hi-five?) and FIFA 04.
All this time, completely obsessed with software (no interest in hardware whatsoever), I learnt alongside this HTML 3 and stuff, but I only really ever wanted to program. This is a sad story, since with literally nobody who knew anything about computers around, my parents not letting me on the PC much, and dial-up, together I had no idea where to start.
Imagination is a funny thing though, I always imagined what programming would be like, and it's the ideology of a computer system that I developed, able to meticulously tackle problems and make sense of things in order to solve problems. When I finally found programming in the form of C++, I struggled greatly at first as I have the memory of a sieve and there is a lot of remembering (like how to spell iostream, for instance). I tried C++, but got bored and went away to learn easier things. It was only when I realised how lazy and short term this was that I decided to go for the full monty and learn C++. Needless to say it was my trepidation for programming that allowed me to quickly excel and get beyond the level of everyone I knew who had the slightest. My lifelong anticipation has paid off and I'm now busily continuing to try and learn C++ whenever I get the chance, there's nothing more fun. I love the OOP ideology, and the way I can synthesize huge complexes and create all sorts of structures to my whim, that control whatever I want.
I've also learnt a hell of a lot about computers and how they work from C++ (and maybe I learnt some assembler to help me with that). More so than a person I know who's spent every day since he was 4 programming and the best language he's ever learnt was Python, which although is a very clever language, doesn't let you on like C++ does (a good thing and a bad thing).
I'm interested in making games, a reason that drove me, but I have more fun programming than I do playing games, I don't know if that's maturity, obsession, or madness. I also get the impression that rather healthfully I will enjoy making games more than I enjoy playing them, so all's well that ends well.
But don't think I'm all about programming, I'm actually all about Maths, but that's another story for a different thread.
I've been fascinated with computers since the early eighties, around 7-8 years old, when a friend was given an Atari "computer". It was really an old cartridge game system that had add ons such as a keyboard and floppy drives (no one had hard drives unless you had $1000.00 to spend) and an MS-DOS floppy. We were able to make some EXTREMELY simple BASIC programs...
10 print hello
20 goto 10
I decided I needed a computer, so I began to irritate my mother for several years until she gave in and I got a Commodore 640 for Christmas. This monster had an 8088 and a separate math co-processor, 640K of non-upgradable RAM, and two 5 in floppy drives. The system also had MS-DOS and BASIC interpreter disks and a manual as thick as my arm and written so technically it might as well have been in Chinese. I did have an uncle who was a sys admin who always said he would teach me, but that never happened. I learned more of system internals from that PC as I took it apart countless times. I didn't get another system until the early nineties which was a Packard Bell, at least at this point the web was starting to expand and I was getting online (although illegally for many years). Still very interested in computers (hardware and software) I delved as deeply into it as possible and was soon answering friends questions, but I still knew nothing. I then became distracted with life, friends and primarily girls and forgot about computers for many years. I didn't get back into it until about 2004 when I decided to stop getting arrested and go back to school. First went the tech route and got A+ and Network+ certified. I found those classes very interesting and wanted to continue at college. Took a few CS courses (VB.net Java and an ASM class) all of which I aced. Then I went and got side tracked again for a couple years had a baby and now Im back in school, for my son's sake I have to finish this time.
I'll keep it short. When I was younger, I thought computers were boring. After so many years, I eventually grew to like computers. Knowing how to use a computer wasn't enough, however. So I looked more in-depth. As time passed, I ran into programming. Programming "hit me around the head", which got my attention. To this day, I still enjoy the art of programming, while also still learning about the "organs" of a computers.