Click to See Complete Forum and Search --> : Your background - how did you come to programming ?


Yves M
October 5th, 2002, 09:19 PM
I would have liked this to be a poll, but I realized that the options are just too numerous to be all listed. I'll just give a list of a few indications, but knowing that nothing is ever that simple, I'm sure you'll add your own ;)


Programming for fun from early age on. Then getting a computer science degree and working in a company and programming.
no knowledge of programming before college. Computer science seemed like a subject with future, got stuck there.
Mathematics - The first programs you wrote were for generating primes and such. You got interested in the way computers could help mathematics to progress
Problem solver - You like algorithms, you always liked the challenge to come up with a program that would solve Freecell for you (or similar ;)) Your knowledge of trees, graphs, dynamic programming and heuristics is more important than knowing how to do XYZ on Windows to displayt a button with a pink border.
Scientist - A bit like the mathematicien. You found how easy it was to solve physics (substitute for some other science) problems on the computer instead of doing all the calculations by hand or on calculator.
Hobbyist - A friend of yours showed you how he could write a program to display a window. You thought how you could write MS Word using this. No formal training, but the only limit to your programs is thw limit of information you can get. You could and *will* write the next killer app.
Coerced - You didn't want to program, but somebody told you that it would be useful. You prefer to get the program done with. You prefer to go with the easy solution instead of the complicated but maybe 50% faster one.
Don't have time - this recups a bit with the last one. It means that programming is only a part of what you are doing. You might be interested in it, but you are sticking to the easy solutions, to have time for other things.


As I said before, this is only a small list of possibilities. ;)

Yves M
October 5th, 2002, 09:23 PM
Now for me, I think I would fall into a, c and d. I started out on BBC Basic, just for fun. I was always kind of a mathematics guy and went on to study that at college. But then, my main interestet in programming has and (I guess ;)) will always be algorithmics.

proxima centaur
October 6th, 2002, 12:25 AM
I'd have to say b) is the closest.

Although a) is somewhat true, either d) or e) is somwhat true nowadays, but change mathematician by engineer and tweak the definition, and of course, f) to a certain degree.

In primary school, Vic 20 and Comodore 64 were common at my friend's home, but I never got one. I was playing with my cogeco or Atari 2600 :p Still, like many did who are my age, we were retranscribing pages of code for Vic 20 or Comodore 64 to RAM (and sometimes, we would even save it on the dataset!) to "program". We didn't understand much, espescially the last pages of code which were usually all the "memory data dump" hehehe. Those were the days!

Computer classes in high school were not common and I prefered to play music in a band anyway, so I didn't take any computer courses back then. I had a computer, a good old Tandy 1000 with 128k RAM which I boosted to its max... 640k :p I was using it mainly to "explore" and play games, also to write papers. I did a little bit of basic, but programming didn't interest me very much at that time.

In college I was doing pure and applied sciences and then again, computer classes were not common. I had the option to take classes in Pascal, but I preferred to take chemistry or calculus instead. Go figure! College was not very time consuming... Basically, you had to study the day before and you ended up getting an half assed but sufficient grade hehe. During that time, I was hanging out with friends who were computer geeks. They had a project of programming a network game using a netware network. This was about a year and a half before the network games started to come out on the market. It was fascinating. I was watching them code (in C) during my free time, which was extensive, and I got some tricks. I started to program in C, but more as a hobby. Nothing spectacular happened then.

When I finished my 2 years of general college, I had to decide what I wanted to do in university. I had no idea whatsoever, because everything, yet nothing interested me. Well, at least I knew I didn't want to be involved in biology, so anything related to medical was out of the question. My mom said something like: "You're good with computers, why don't you go in that field?". Basically, she considered word processors to be "computers" and she probably heard that this was the new hype, therefore, where the jobs would be in a couple of years. Having no argument against that, I started a bachelor in Comp. Sc., and made a career out of it.

I'm now a 5 year graduate. Working in an engineering company, doing C++, software design, math algorithms, windows programming and many other unmentionable things :D.

Right now, I'm in the process of doing my masters degree in the field of computer vision. I guess what I like about computer is what I can achieve by abusing err... using them. But I'm also very interested in efficient software design and how to handle projects in a real life situation. This is, I believe out of necessity. If you don't have a very pragmatic and rigourous approach to project design, code maintenance is more difficult, and I hate to be stuck with bogus designs that get in my way.

So, as you can see, I'm interested in the practical aspect of computers. I've never been a math geek, so I was not like Yves but I've always been interested by math. What I mean is that however I was not super good in math courses, I liked the topics if I could find use for it in a real life situation. I like to apply math. Like an engineer. Give me the **** formula, spare me the unecessary details! :p

Anyway, not very exciting, but that's how my life is :rolleyes:

aio
October 6th, 2002, 01:56 AM
I am quoting myself in this (http://www.codeguru.com/forum/showthread.php?s=&threadid=208672) thread:

... I am not really a programmer by profession. ...

More than 10 years ago, I was forced to learn programming because everytime I have projects then, I often have to explain a lot of things to our SA/Programmers who would often dazzle me with arcane tech words I could hardly understand. And if they can't deliver for me good/friendly programs, would automatically criticize me for "not having able to explain well" my needs.

My first programming languages were MS QBasic, Borland's Turbo Pascal and Turbo C. I also tried Assembly but immediately abandoned it when after a month of reading books, all I was able to achieve was to print the word "Hello World" in the middle of the screen.

Later on, I concentrated only on MS-BASICs (QB, VB1, VB4, VB6, & VBA) because this is the only thing that makes me enjoy solving the real problem and my music without dwelling so deep on technicalities often associated with Cs.

So I guess, I am somewhere in "g" and/or "h".

SolarFlare
October 6th, 2002, 11:11 AM
The closest would be a combination of a, e, and f.

(a) because I program for fun, although I don't have a comp sci degree and have never programmed for a company.

(e) because I love the fact that if you know (1) what you want to do, (2) how to do it, and (3) have the right tools, you can absolutely do it with a computer if you know how to program.

(f) because I have basically no formal training. I was not introduced to programming by a friend, I rather stumbled upon it on my own.

I first programmed games in True Basic- lots of fun! Even my friends said the games were worth playing. Basically, though, computers are the most powerful tool our societies have, and if you know how to utilise them, you have become a better person. You can be more efficient, more knowledgeable, and you can even learn a bit of philosophy through it.

I hate how when you're playing hearts on the computer, the computer always makes a move which destroys your position and you're like, "Are they cheating???" And you can never know. But the solution is: make your own hearts program! Now you can design the computer to behave any way you like. Thanks to programming!

Well that pretty much sums up how I came to the programming world- and why I stayed ;).

:) :D :D ;) :p :p :)

Amn
October 6th, 2002, 11:32 AM
I started with MASM, strangely enought even before i knew c++. That was when i was 15. Then i spend a month trying to tell my friend how the real mode and memory works in PCs. He had hard time grasping it, but eventually he did and began with MASM too. Over years he continud with MASM, while i got really fed up with it(too much repetition, too low-level for me) and started to sort-of look around. By that time, suddenly c++ classes appeared in our school so i signed on right away, while my friend strangely signed on with Pascal in the same school. So it went from there basically, c++ becoming my fav and then i came to Norway where i hone my skills still. BASIC sucked too by the way ;) all i could do there is starfields and text-mode games(with good consiousness).

I own only an IBI certificate that proves my ANSI C++ skills, and nothing else. I am thinking of taking the Brainbench, and attend some serious school of programming.

On Yves' scale it would be as his: a), c), and d)

cup
October 9th, 2002, 06:49 AM
On Yves' scale, it would probably be (b) and (d). I suppose I got interested because
1) In those days, there was very little to remember: very much like Maths. You can do a lot with very little theory and a lot of practice
2) I could touch type (i.e. type without looking at the keyboard or the screen)
3) Analyzing/Debugging badly written programs from the other faculties got me lots of free meals and drinks at the bar.
4) It was a challenge to submit a project that was shorter (number of statements) than everyone else's but did exactly the same thing.

Most of the principles are still the same: compiler design is still the same. The principles of multitasking/locking/unlocking haven't changed either. OS design hasn't changed a lot since the late 70s but it is more configurable nowadays. No more patching binary files in machine code and programming using front panel switches.

Databases have got bigger but there hasn't been anything radically new since B-trees and SQL came out. In fact, many are supplying UIs with the database packages. That is what we used to use Cobol for.

In AI, it is still alpha-beta, minimax, perceptrons and neural nets.

Anyway, I couldn't apply any of the languages I learnt in Uni (Algol60, Algol68, Cobol, Pascal, Lisp, Snobol, Fortran, Ada, GEORGE3). My first job was in Microsoft Basic and DataGeneral's Business Basic. The 2nd and 3rd were in PL/M, 8086 Assembler and C. All later ones were in C/C++ and the numerious script languages. However, the principles are still the same, whatever language you use. I think employers wanting 10 years' C++ experience is just a way of cutting down the number of applicants.

owenrb
October 9th, 2002, 07:25 AM
As I could remember, my first encounter with programming logic is DOS batch file :D
I was amazed with that feature of that departed OS, and decided to do more than that. So, I take B.S ComSci in college. Now, I have job appropriate to my field.

Ungi
October 9th, 2002, 07:25 AM
I dont think that I am one of the types above. My father is working in IT and when I was 14 I had to decide what school I should do now. As luck would have it I discoverd a small technical school (One of two in Austria) that is specialized in software developing. Now the only problem was the hard entrance examination in math and physics. I did it.

In this school we started with old ANSI C and Assembler. Than we had C++, VC++, VB, Java, COBOL, DBase 3/4, SQL (SQL-Server and Oracle, [Access]) and some Languages more (I cant remember all). We also had a buissnes education.

Getting 19 I finished this school as the third best of the class (from about 50).

After military service I started to work.

So I got programmer.

Gabriel Fleseriu
October 9th, 2002, 07:36 AM
Well, for me it's a mixture of a), d) and e). Probably some part of f) applies, too.

a) I am programming from early age on. Did not study CS, but engineering, though.
d) I don't like using other people's stuff. Of course, for production code you do that every day. But I still have to watch my tendency of re-inventing the wheel, which is not very productive, mostly. And pink is not my favorite color :)
e) fully applies to me. I launch Maple for the simplest calculation tasks :)
f) I write code as a hobby, yes. But writing the next *killer* app - I dunno.

Goodz13
October 9th, 2002, 07:42 AM
I got into it at an early age with QBasic. I liked the feeling of control.

dimm_coder
October 9th, 2002, 09:44 AM
At first It's b). Because I had began programming when I was 16. In this time I was 1-st year University student. I saw that many of my co-groupers were more advanced in programming than me. And I said for myself that with time I ' ll become BEST, more advanced than they are.
So it become f ) for me. I spent much time for self education. For ex. I tought VC++ by self, before studding at University. And as result now I know that I more advanced than they are ;) :D
I say d ) to.
I like "System Programming" :cool: and for ex. I don't like programming for Databases :( it's not interesting for me.
I work now at antivirus softaware company.
Also my dream was to see the World. Now I know that with my profession skills I'll do it. :) I hope. :)
Now I am 20 (21 - October 28 :) ) years old, in next year I ' ll end University (now I at 5-th course). I want to enter in aspiranture ( how it by english :confused: ), but after it (3 years) I can get "candidate of science" (science degree).
Then I want to work somewhere abroad. I think it ' ll be possible :) So if U'll need system programmer in that time I'll take your suggestions ;)

Opps.. How many smile faces !

Elrond
October 9th, 2002, 01:42 PM
b) is probably part of it as it's only when I got in college that I discovered I would do programming.
Before that I had some experience programming my pocket calculator, and that was about all.

d) is true as well as I like finding/solving algorithm to do thing. That's what I liked the most at first.

I could be in f) as well as I'd like sometimes to have more time to do some learning at home and some personnal programs, but I seem to never have the time to really work on something outside of work :(

Mick
October 9th, 2002, 02:13 PM
I'd say 'a' but with no college. Started at age 12. And I am writing the next killer app :) I guess the biggest motivation was software games. I wanted to know everything about them. Like how did they do that :)

galathaea
October 11th, 2002, 06:24 PM
I was introduced to programming when I was still young and my school had an Apple IIe with Logo. I fell in love with the turtle and new I would one day grow up and marry it. But soon we had a falling out as I started seeing BASIC on a couple of other systems. When I got a Commodore 128, BASIC 7.0 was beautiful and strong, but I discovered the nasty little assembler in there and began my experimentation years. As I grew older, I found physics and philosophy, which I dual majored in College (we had an open relationship), but I found that what I thought I had loved was just an illusion. My real soulmate was linguistics as the foundations of math and computer science (which became the same thing to me, a generic modelling language for communicating metaphors). I loved reading about the pantheon of objects and their twisting/turning transformations in mathematics and the sciences, and saw before me the whole of evolution as a road map for me to explore the construction of larger and more complex structures, from fundamental particles/strings/branes to entire ecologies and economies. I felt my ego slipping away and feared I had done too many shrooms in college. But then I found myself jobless and starving, and fearing my evolution coming to an end, I got a job as a programmer, where I learned first the Mac Toolbox and then MFC. Somewhere along the lines I had learned the Win32 API somewhat, so the transition was fairly easy, but my new job demanded much from me, so I began to learn the internals of Windows and programming down inside the kernel. Here was a TRON-like kingdom that filled me with a sense of purpose. Finally, as my confidence soared, I became more philanthropic, and felt that the world really needed to have a place online where one could learn everything it wanted to, from toddler to adult, for free, at home with their parents, with multimedia galore. So I began my quest for online education, but have yet to find an employer with such grandiose visions, so I sleep at night with a vacancy in my heart and a longing in my hypothalamus...

Amn
October 11th, 2002, 07:25 PM
Originally posted by galathaea
I was introduced to programming when I was still young and my school had an Apple IIe with Logo. I fell in love with the turtle and new I would one day grow up and marry it. But soon we had a falling out as I started seeing BASIC on a couple of other systems. When I got a Commodore 128, BASIC 7.0 was beautiful and strong, but I discovered the nasty little assembler in there and began my experimentation years. As I grew older, I found physics and philosophy, which I dual majored in College (we had an open relationship), but I found that what I thought I had loved was just an illusion. My real soulmate was linguistics as the foundations of math and computer science (which became the same thing to me, a generic modelling language for communicating metaphors). I loved reading about the pantheon of objects and their twisting/turning transformations in mathematics and the sciences, and saw before me the whole of evolution as a road map for me to explore the construction of larger and more complex structures, from fundamental particles/strings/branes to entire ecologies and economies. I felt my ego slipping away and feared I had done too many shrooms in college. But then I found myself jobless and starving, and fearing my evolution coming to an end, I got a job as a programmer, where I learned first the Mac Toolbox and then MFC. Somewhere along the lines I had learned the Win32 API somewhat, so the transition was fairly easy, but my new job demanded much from me, so I began to learn the internals of Windows and programming down inside the kernel. Here was a TRON-like kingdom that filled me with a sense of purpose. Finally, as my confidence soared, I became more philanthropic, and felt that the world really needed to have a place online where one could learn everything it wanted to, from toddler to adult, for free, at home with their parents, with multimedia galore. So I began my quest for online education, but have yet to find an employer with such grandiose visions, so I sleep at night with a vacancy in my heart and a longing in my hypothalamus...

Not only i assume your great skills, i also think you have talent for good writing ! ;)
By the way, the linguistics and logics are what has drawn me into this too ! i dig to design complex systems, and mimic nature and physics in my programs !