Share your coding story.

Started by
28 comments, last by latch 10 years, 8 months ago

Here's mine:

I started coding when I was 11 an a wire wrap computer my dad built that only had a calculator screen. We just had a keypad an had to code in machine language(there wasn't even assembly language on this z80 computer- all hex) Later I received a Timex Sinclair 1000 to program on and it had a membrane keyboard that hurt my fingers after hours of programming so I bought a keyboard from Radio Shack, modified its circuitry to make it compatible and screwed it and the motherboard to some plywood and soldered them together. At school, we used Apple IIs and I always wowed my teachers. A friend in my electronics class loaned me his Apple IIc and I coded on that quit a bit all BASIC. One Christmas, I received an Atari 800lx which I coded like a fiend on mostly BASIC and some Assembly because I had a cartridge for that!

I then got away from computers for a long time- like 10 years. I got back in to them in 1999 when I first got on the internet. I promptly earned an Associate's Degree in computer science(the college paid me to tutor Visual Basic) and became an A+ Certified computer repair technician. I struck out on my own and have been self employed for 8 years now. Most of my coding has been geared toward robotics and interfacing the real world though I have accomplished mostly nothing in that endeavour other than exposure to several languages. I have dabbled in the following languages in order of time used each: Basic, Visual Basic, Python, B4A, C, WXEuphoria, PHP, java, C++.

2010 I was heavy into Python and thereafter made the transition over to Linux where I ported several of my VB and Python programs over to C. Most of that was just playing but some things have the potential to be pretty useful. I wrote a program that read the webcam, picks out the edges on the image and differentiates the vertical lines from everything else(robot eyes that can see doorways and wall edges) in both VB and C(actually this was a mixture of Linux command line programming and my C code and a few utilities- I like to tech chain stuff together).

Last year I wrote FlaTank(based on a game I wrote in college in VB and Atari's Combat and Bally's Tron tank game) for Android and released it on BlackBerry PlayBook also. Now I have 30 apps on BB(I wrote or ported these for the port a thons for a paltry $3000)- some useless and some excellent and I have ~20 published on Google Play. It's finally starting to pay a little.

I'm currently learning HTML5 and SEO and am working on a nongame app which I will keep to myself for the time being.

Whats your story?

Advertisement

... Now that is old school. ohmy.png

First lines of code I wrote were back in 1992 using Qbasic ( in Jr High School ).

Really didn't do much coding after that until I picked up ZZT, ( 1993 ish ) than I became obsessed with writing my own game scripts in ZZT-oop .

That was fun for a while, but eventually coding my own ZZT games became boring ( no internet to share files ), so I stopped.

Fast forward to 1998, when I found the INTERNET and many interesting things to do. Not long after I found Active Worlds, and with that AW-SDK . That really didn't interest me too muck, however the object scripting language AW Code did. Even to this day I play with it ( Link Here ).

Around the same time, I was also building my own web pages with HTML .

Some time in mid 2004 I found "Second Life", and with it LSL .

From there I started dabbling in other languages. It's hard to remember the exact dates, but the ones I used the most often were

Python, Java, C++, Visual Basic, PHP-Javascript-HTML .

Last couple years I have been getting certifications in specialized programming and calibration for instrumentation and sensors for wide range of uses. The languages are specific to the manufacturer (most of the time), with some of them in pure machine code.

Now all I need to do is FIND a job doing what I am certified in. sad.png

I cannot remember the books I've read any more than the meals I have eaten; even so, they have made me.

~ Ralph Waldo Emerson

Very impressive. I always wondered what could have been of me if I started to code when I was 14 or so.

Anyway, my story is pretty simple:

The first "coding-like" experience I had was back in 2007, I was 15, and had TES 4 Oblivion. The game literally blew my mind and I still love to look at that pre-rendered video with Uriel talking in the background. Back then my english wasn't that good but I still got around mostly.

I discovered that the game could be edited with an official editor, the Construction Set, where I could write in a pretty simple scripting language. While I messed with the CS a lot, I didn't scripted that much, just made your typical "Press activator. Ask what you want. Deduct 10 coins and add the item to your inventory". With Fallout 3 GECK was pretty much the same. I couldn't get around scripting since it sounded VERY obscure at the time. I saw a 100 hundred line long script and thought "OMG SO COMPLEX". I barely had a notion of what a control structure is for example.

That was all my experience in coding before I got into university when I was 18 :D There I coded on paper with a pseudolanguage for over a year. In my second year started to code with Ada, (specifically, Ada 95, this was year 2011 mind you), using cool stuff like generics but avoiding everything OOP related.

For a few reasons while I did pass the Algorithms and Data Structures course (Ada), I couldn't get in the Object Oriented Programming course in the second half of the year. So I was left without programming courses to do. I read about C++ for a while, not coding much at all (making small 50 line test stuff) but still reading about the syntax, STL, etc.

With that I got a grasp on the basics of OOP, which was crazy compared to what I've seen with Ada. I learnt about classes, visibility, inheritance, multiple inheritance, virtual methods, friend classes, etc. At the same time, while I was reading about C++, I also got into OpenGL 3.3 (yes, I probably hadn't even 2k lines of code under my belt by that time). It was hard, read a lot, again and again, until some things sunk in and I could start actually learning.

So when I started OOP course the next year (2012), which works with Java, I was aware of many things already so I learned fast many of the concepts. It was some very good luck since I had seen other people who came directly from Ada 95 and got their minds literally broken :D

In that course I learned about Java, managed languages, more concepts like design patterns, accessors and mutators, making GUIs with Swing, exceptions, did a 2.5k line long final assignment (a totally badly implemented 4 in line game with a MVC pattern) which was by that time like the triple of my previous biggest program, then found out that there are OpenGL bindings for Java (LWJGL) and started to work with that.

Made a simple renderer where you could walk around in a heightmap in the summer with shaders and all that, though it was a good learning experience since I had to implement all the math functions myself, learnt to get used to the FloatBuffers and such.

Made a perlin noise heightmap generator (80% of the work made by Perlin himself thanks to his Java reference implementation). And my last project is on my journal. A terrain generator which derived from my search for LOD algorithms for big terrains (read quite a few papers about it, stumbled on terrain generation papers every now and then so I got interested in that).

So I've touched so far a grand amount of 3 languages so far: Ada95, very little C++ and Java... And whatever Beth called that scripting language that existed before Papyrus came with Skyrim.

I like the progress I'm making, considering that 3 years ago I didn't knew how to code, that's why I wonder what would I know now if I started at a young(er) age :D

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

My journals: dustArtemis ECS framework and Making a Terrain Generator

I started on my first year on CS college (2003/2004) with C in the Turbo C editor (or IDE if we can call that way). I've learned the paradigms and control structures, data structures... the regular stuff. Later on the course went into software engineering, C++, Java.

I've worked for almost two years as a game developer using Unity3D but I had to leave the studio for a better opportunity (short story: had a son, needed the extra money).

Today I work as a mobile software developer (regular stuff, not games) with Objective C and hobbyist game developer on my spare time (which isn't much nowadays).

Started out around 2004 when I was 11 or 12 (don't remember) with Delphi - or generally Object Pascal - and learnt most of what I know about programming in that language over the next 2-3 years or so (I don't know what I would be today if it didn't have pointers, I shiver at just contemplating the idea). Then after a while I naturally fanned out to Python, then C, followed by C#, Java and C++ (and a couple others I can't remember the name of). I don't consider myself a guru in any of these languages, but I range from "I know the syntax and the standard library" to "I can do pretty cool stuff". I've always been a rather "low level" type of person, trying to get to the bottom of things first before using pre-existing libraries (or reinventing the wheel if it's fun enough)

I am almost completely self-taught, though I honestly believe the trick is to learn how to search for information (and how to teach yourself) which is an incredibly valuable skill that a lot of people seem to somehow not have developed. That said the problem with being self-taught is you end up glossing over the boring yet important aspects of development, so your knowledge, while overall solid, has quite a few holes that need to be patched, so I'm definitely finding use in the comp sci courses I'm enrolled in (even though I don't really like Java much, I have to say there are some issues I never thought of before that I find quite interesting)

I'm currently working towards a computer science + math major, and while I haven't actually earned a single dollar yet, I've been looking more closely at casual freelancing in my free time, though I have hobby projects of my own to pursue. My portfolio ranges from small but actually useful tools to medium-sized proofs of concept (probably unfinished, because I'm just lazy, after all, my "projects" folder is a graveyard) and other stuff I wrote as a compilation of everything I learnt on a given topic. As a wise person once said, "you don't really understand it till you implement it". I also place very high value in accessible documentation and presentation, because your code is useless if nobody can learn from it or even just decipher it.

I definitely would do it all over again if I had to, and I'm looking forward to the next few years. I also want to find time to really learn functional programming, damn it! And perhaps some web development as well.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Once upon a time (mid 80s), there was this girl I had a crush on in grade 5. She seemed to like this other guy that was doing some extra credit programming for science class (ask a bunch of 'yes' or 'no' questions, get input from user, display result ). Clearly this meant that I had to learn to program so that the girl would like me too "(hey, I was like 10, what do you expect). So, I went to the school library and found the only programming book it had which was this pocket-sized thing that was only really a list of syntax for the Apple IIe. I practiced programming after school on a computer that was sitting out in the hallway. I had no floppy disks to save my work on, and there was no hard drive either, so I typed in whatever I was working on from scratch each night. But alas, a hallway is no place for a hi-tech piece of equipment like an Apple IIe and after a few weeks it was locked in a classroom I didn't have access to. The coolest thing I wrote I think was a thing where you could move around a "high-rez" pixel with the keyboard and basically set the pen down or up to draw in whatever colours were available (didn't know how to save the result and without a disk couldn't have anyways if I even figured it out). I ended up continuing to write programs in pen in a notebook I kept until my next opportunity arose. Simple little text adventure and board games if I'm not mistaken (it was a good while before I ever heard of D&D or played Bard's Tale). Wish I still had the book.

I was too shy to ever approach the girl.

I didn't consider myself a programmer or programming until I started with C# in 2010. Seeing how that was really only when I started enjoying doing things.

Most of my ermm 'problem solving' came from Excel, since 1997 to like 2010 I was heavily using Excel and making macros too, I suppose Visual Basic in Excel could be considered programming but I don't treat it that way. Needless to say I dedicated an enormous amount of time to Excel / Macro scripting etc.

I don't consider my PHP years (or year rather, since I spent very little time working) programming either, but this was simply because I hated the language. I did some work with ActionScript before C#, it was ok but Flex would bug out a lot if Eclipse was installed, it was really strange hahaha and sadly due to issues with MySQL I moved onto SQL Server and eventually C#

From a learning point of view, programming wise I learnt all my stuff from C# / C++, Excel / VisualBasic may have helped me with organising and managing data with a generous amount of scripting but I don't consider myself programming then.

Anyway C++ (though much hated most of my programming life) from May last year entered my comfort zone, I have a lot of respect for the language but I use C# principles and conventions in C++ too with respect of necessary security considerations in C++

Right now I am focusing on many areas, from DB work (<3 SQL Server) to Web Work to Graphics and maths. One thing I will say is, from 1997 all non-physical tasks of mine were done or simplified on a computer for me, ofc it was excel then, now it is C# (WPF to be precise) I even made a self hypnosis app in WPF a few weeks ago ;) it was pretty cool and even though it used DirectX for graphics (and sound) it was not what you would consider ermm something I could publish on a gaming site XD sadly this seems to be the case for a lot of my work, though I heavily use DirectX, nothing I am making atm is even remotely considered a game despite focusing on core areas you would while making a game, AI is probably the only area I haven't really done anything in (as it isn't needed) although I make use of expression / binary trees often so I guess that counts.

It goes back to 1990 when I first played my PC game. I thought it was cool, and the game sparked the desire within me to create my own games. It was then when I purchased my first programming book, which obviously titled "Make your own video games!". The book used BASIC, and I owned the PC that boots to BASIC if you didn't put the OS disk (that was cool!). I didn't understand much what the book was trying to teach, simply because making your own games require more fundamentals and knowledge that a 9-year-old child would have. I copied the source code without knowing what it's doing. I could only make useless programs (such as a program that draws a tank out of rectangles). Regardless, I still thought making the computers to do things as you instructed was a cool thing.

Four to five years later, my school introduced programming classes in which I learned Pascal (which I didn't like). The classes didn't serve me much other than showing off my skills to my peers. Then, in high school, VB was getting popular, and naturally, I picked that language as my second. This was the beginning of my career as a game programmer. It was the first time I was actually able to code a video game from scratch, on my own, using my own logic.

Much fun I had with Visual Basic. I made games and small utility apps here and there. One thing still bothered me was that I still had no idea how to code in C/C++, and many game developers job postings require that skill. Many attempts to learn C++ from the then-much-younger Internet tutorials, including from the old GameDev.net, were met with failures.

After I started college, I found a book that teaches you C from the school library. At that time, I thought C++ was the superior language. After all, GameDev.net forum posters were saying things like "C++ is a superset of C", and that "you can code in C if you can code in C++." Finding a book that teaches you C, rather than C++, I thought was like driving a car stuck in second gear. However, it was better than nothing, and I picked that up.

The book turned out to be much of a tremendous help to me in understanding the C language constructs and grammars. Unbeknownst to me, understanding C helped me a lot in understanding C++. The tutorials that were once so difficult to grasp, became so easy to learn, and also, I started to see why those tutorials were hard to understand in the first place. They were poorly written and lacked of the explanations that I needed. It only took me two weeks to learn C, wrote my own app, and sold it for $12.

C++ became my primary language in college. From C to C++, from text-based apps to Win32 (gasp!), OpenGL, and DirectX. I had much fun with pointers, twiddling bits, and all those access violations errors. I wrote a couple more games on my own and as part of school assignments. I was glad my university was using C++ as the primary programming language, rather than Java.

So now, roughly 7-8 years since graduation. I have learned many more languages, Java, Ruby, Python, to name a few, because it's a job requirement. It's been fun and it will continue to be so.

In 1998/99 I bought a mech sim game called StarSiege (from the guys who later made the Torque Engine/garagegames.com I think) along with Civilization: Call to Power. I enjoyed StarSiege but scratched the Civilization disk and couldn't play it much. I had some question about the game and found the game forum. That was my first forum and I stayed in the community. Back then the StarSiege franchise was owned by Dynamix. StarSiege was originally EarthSiege 3 and the people on the forum wanted a sequel for the game but the company wouldn't make it. They petitioned players to sign on to ask the company to develop a sequel. I played around with the game scripting language, trying to make my own scripted maps and stuff. My mom was learning to be a programmer or analyst or something and had books on C/C++ that I learned from. There was a really easy book she had for C/C++. There were efforts by the community around 2000 to try to make a sequel themselves and that is when I went out to Chapters and bought my first books on game programming by Andre LaMothe (Tricks of the Game Programming Gurus) and later the Prima game programming series written by gamedev.net staff. I learned HTML for making a website for my clan.

In 2001 we moved to Vancouver and that is the time I was posting on the forum from a public computer at an internet cafe/laundromat (because I didn't have internet at the new place for a while) asking for people to compile my source code (I was writing it on paper) for the sequel. Needless to say this was futile and I was just a noob. Some time after I started wrangling with Visual Studio 6 and slowly, painfully learning. In secondary school I made programmer buddies, one who programmed in Delphi and another who knew assembler. I wanted to make a game with the Delphi programmer by writing DLL's in our own languages but he said it would be too buggy. We argued a lot about languages. He argued that Delphi wasn't inferior to C/C++ because it was higher level and that it was a layer on top of C/C++ and that C/C++ was more popular didn't mean it was better. I was in a web development mini class where I worked with a grade 12 student using PERL on the school website/forum. By this time I had already learned from NeHe to make a simple OpenGL app that rendered a mesh of a building I hard coded in OpenGL commands.

At some point Dynamix had gone bankrupt and the franchise became the property of the parent company, Sierra. Then something happened to Sierra too and the franchise became the property of Vivendi Universal. At some point the ClanCore group got official permission from the company to make a sequel using its intellectual property (StarSiege 2845). They started using the Unreal Engine and then I don't remember if they switched to Torque. It went on for a few years but eventually they failed.

I learned Java from a book somewhere at this point in a few days while on a trip to an semi-isolated cabin in the woods. Later I got an XPS laptop.

Around or after grade 9 I started going to a computer arcade/internet cafe that people were going to and discovered Counter-Strike 1.6 and Half-Life. A long time later I only got a copy of CS after somebody told about Steam in its early days. While visiting my cousin in Calgary we saw Land of the Dead and I got ideas for a zombie shooter. I don't remember if it was before or after the zombie mod in CS 1.6 appeared. I played it all the time during grade 11-12 (my homeschool/distance ed years when I became socially withdrawn). Later I got CS: Source though the zombie mod experience wasn't as good. It had realistic physics and barricades though. I had gone through several computers at this point.

At this point I bought the tutorials from gametutorials.com.

Next, university (2007). I went into general science and used my XPS laptop for reading course material before philosophy class. During summer 2008 visiting my brother in Regina I had a 2-month job as a web developer at the university Student Connections organization for one client. My work could've continued but I had university.

I learned about Quake 3 BSP from the tutorials I had bought and was working on my zombie shooter engine.

I had problems with 2nd/3rd year chemistry and after retrying 2 times I had to quit in 2010. At this point I had gotten my XPS laptop's motherboard replaced because the power port got loose from constantly propping the connector against something. Eventually my video card or something broke and I couldn't use it anymore and had to rely on my older desktop (a newer Dell one I got sometime in the 2000's). I was able to use it again for a brief period after I discovered I could use the desktop's as an external monitor but I spilled coffee over it and at that point they said it would've been too expensive to replace instead of getting a new one and I got the harddrive converted into an external harddrive to save all my files and got a Lenovo workstation-class W520.

Later I also got a MacBook Pro for developing for my iPhone. Sometime in 2012/2013 our house got robbed while we were out and my 2 laptops were stolen. We later replaced them with a newer Lenovo W530 and MacBook Pro. Since getting them I've finally published 3 apps to the iTunes App Store and gotten an android phone and published 2 apps to Google Play. First is a math game that made some money and surprisingly continues to be bought every few days on iTunes. Next is a zombie shooter that sold a lot on its first few days and made some money but stopped selling some time after. I am waiting for Apple to approve my last app, an economic RTS, the first in a series that I later hope to expand on in the coming years for PC and then maybe mobile again when I want to turn it persistent multiplayer.

Wow! You guys are nerds! Oh wait, that includes me. Ok lemmie ask this question:

Would you say that it's common to feel frustrated with the fact there is not time to learn everything you want to or does that not plague you?

This topic is closed to new replies.

Advertisement