Join 132,672 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,171 people online right now. Registration is fast and FREE... Join Now!
So like the topic says, How did you learn programming? What was your first language? What was the hardest thing to learn? What helped in the learning process?
In my case, i've only programmed for less than a year, and I still find it a bit daunting. I started with VB6 and slowly graduated to VB.NET, C#, and Java. The hardest thing is absolutely the logic. I still struggle with that, so if anyone has reccomendations of learning resources, please share :-) Finally, the biggest help was just constant practice, constant learning, and asking for help whenever i've had a question.
-David
This post has been edited by skyhawk133: 19 Jul, 2007 - 10:46 AM
My 1st real intro to programming was writing batch scripts on dos 3.3 (in 1988), I only wish that I could have gotten my hands on C or Assembly back then! All I had was the pc & the dos 3.3 to learn with, but I built some ASCII menus & such & wrote text junk. In high-school we did some QBasic, but I eventually got a c compiler once I got into Linux. I have not quit learning since.
I was working as a mathematician in a physics lab, and had to design some quick and dirty software to reduce the amount of manual number crunching I was doing...I got the bug, then a Computer Engineering degree.
Started off when I found this Atari cartridge called "BASIC." I was about 8 or 9 and thought it was alame game until I found the instruction manual on how to write some simple programs. They were short though because the Atari had no non-volatile memory, so one the power was killed, your program disappeared. I also played around with batch scripts on DOS in the 80s. Also had to write some simple Apple BASIC programs in school. Had a Turbo Pascal class in college, but that didn't really blow my hair back. When I worked as a Unix admin I wrote lots of shell scripts and that's when I started to really enjoy it. Plus computers were then cheap enough that I could actually buy one, so I was able to branch out into C++.
Great topic! I think I'll feature this on the homepage.
For me, it was when I got in to web development and needed a way to dynamically update pages. In fact, dream.in.code was originally all hand updated and the forums were hosted with a 3rd party and I had never seen a line of code before. I started with server side includes (which isn't really code) and moved to PHP. Ever since, I've been coding for the web and picked up a few offline languages but don't use them often enough to feel comfortable even helping.
I guess I did dabble a little in QBASIC when I discovered it on my commadore 64 and made a couple lottery games, and some annoying apps that made noises.
The main way I learned at first was tutorials, other peoples code, and a PHP bible.
Started in Fall 03' in College.... been missing ;'s ever since! ha Almost finished w/ some degrees @ school and then i can finally get on w/ grad school or pharmacy school.. whichever one hits me 1st. Software Engineer is a somewhat void term since there is no "real" engineering process involved but it will sound impressive i suppose
I started out w/ c++ and some VB and have also done quite a bit assembly language (ewwwwwww).. For me assembly was quite hard but fun at the same time since its such low level.
As for what helped me the most it was practice! the more practice and errors you get the more you are gonna learn not to make those errors and obtain great coding practice. Don't put off projects and always allow more time than you estimate to get stuff done..
and definately stay in school if you are there!
This post has been edited by Topher84: 19 Jul, 2007 - 11:24 AM
I was very lucky. My Dad was a programmer and I grew up with a TRS-80 Model II and then a model IV in the house, so computers never scared me. Fast forward to 1993 and I flunked out of University my first year because I spent too much time drinking and very little on my studies. I was cutting meat in a supermarket with no idea what to do.
So Dad says "You know there's a big Y2K problem coming up, and COBOL programmers are desperately needed..." He spent three nights a week for two years drilling COBOL into me until I could recite code without syntax mistakes. When he was satisfied, he introduced me to the contract recruiters he knew as his "apprentice".
In '97 I was mostly landing QA contracts for Y2K projects and discovered the internet (Dad thought it was a fad), taught myself HTML by 'Viewing Source' and concentrated on learning the back end scripting stuff as much as I could through Web Monkey(RIP) and books.
The hardest concept for me to pick up was arrays, I don't know if it was Dad's explanation or COBOL's implementation but I was baffled for the longest time...
Started with a game that had its documentation in html, I found out how to view source, and taught myself html that way. Then came a short stint with qBasic, then finally a C++ course in highschool. Which gave be time and direction to figure the stuff out on my own, cause we all know that Hanosh didn't really do that stuff well.
Learned the basics from my father starting with the Commodore 64, writing simple programs to display things to the monitor and reading game code. Moved to Basic/Q-Basic when i got my own computer and it has gone from there.
In grade school we had a Apple IIe in the classroom, but of course the students couldn't touch it much without permission which made us all want to touch it more. "Oh look, a star! (aka asterisk but we didn't know that)"
I never took to it very much and it remained largely unexciting to me at the time. Fast forward a few years and my step dad got a computer for xmas one year. I saw him play the old police quests and kings quest games. That peaked my interest and I use to watch him all the time, asking him when he would play next.
In high school I decided to take a class on typing because I got to play on a computer for a change. At that time was the beginnings of word. The game I liked the best, typing to make the little man run track and hop over hurdles. Funny thing was, if you just typed as fast as you could with random letters, he would trip over the hurdles but not slow down. So you could still trip across the finish line first!
But the real moment was during a typing exercise where I was copying a formatted document and suddenly I got some text popping up on my screen saying "hello". Where did it come from? Was my computer talking to me? With a few questions I found out that it was a message sent from a friend across the classroom. He had sent it through the network using a dos prompt. He did this without the teacher knowing and soon the whole class was carrying on conversations during the lesson.
From that day forth I knew computers were my destiny! Shortly after graduation I went to college for a degree in general science, but fell in love with C++ while I was there. I have been eating languages for breakfast ever since. I naturally went from C++ up to VB to web languages and more. The rest is history.
This post has been edited by Martyr2: 19 Jul, 2007 - 12:54 PM
When I was eleven my parents bought me a Texas Instruments 99/4a with a tape drive. I had a few text adventures for it (Pirate Adventure and something else), and loved them, but my parents couldn't find anymore because TI was stopping production of the 99/4a, so I had the Basic cartridge and the manual, and I sat down and taught myself Basic. Within a few months, I had written a simple text parser and wrote a simple text adventure.
From there, I graduated to the Commodore 64 and its basic, then I got a Commodore Amiga 500 when I was thirteen. I got the Lattice C compiler for that on a whim, and learned C over the winter. Then I started taking programming classes in school. Comal, Pascal, and Data structures. Then in college I took Data Structures, Dbase, C, and C++.
In between all this, I taught myself HTML and then Java and then javascript. And I picked up python a few years back from a tutorial. Perl from an O'Reilly book.
Overall, I think OOP changed my programming more than anything, and I think in the OOP paradigm automatically.