DaemonForums  

Go Back   DaemonForums > Miscellaneous > Off-Topic

Off-Topic Everything else.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 22nd June 2008
TerryP's Avatar
TerryP TerryP is offline
Arp Constable
 
Join Date: May 2008
Location: USofA
Posts: 1,547
Thanked 112 Times in 104 Posts
Default How did you learn to program?

How did you learn to program?


Perhaps a stupid question but one I wonder about since I'm one of few people in my area that took it up. For me, I have no true idea of why I started to learn programming but this November it will be three years since and two since I've considered myself capable of doing anything worth while...


I started out on the tutorial at cplusplus.com with no prior experience. Managed to figure out a starting IDE/Compiler from cprogramming.com (Dev-C++ / MinGW). I read an article called teach yourself to program in 10 years. I figured, this stuff is rocket science compared to what I knew already, so taking 15-20 years to learn wouldn't be too far fetched for me.


One day I found a tutorial on Perl and got bored after the second section or so and dumped it. I ended up using the manual pages the first time I had to use Perl for a task, although later I would check-out the llama book last year when I wanted to make a new friend of it.

One of the books I bought at a library book sale was the old Java Sourcebook by Ed Anuff, which I enjoyed reading about the language and OOP but it made me realize I didn't want to actually write Java code >_>

I've never considered myself talented at programming, starting with C++ was probably a bad idea to say the least. Like chess... Something I enjoy more then excelled at.

At various times, I did a few small programs in C++ to test my understanding of basic things, stuff like an Integer Calculator that must be implemented such and such way, etc.


One day I was coming off a web search and found a thing about using the compiler directly instead of the IDE, and I found it was part of a C Tutorial and read on.

I had always been curious about what C would look like, having been playing with C++ already. The first time I had ever seen some form of C, was the Win32 API -- which had me raising my hands in disgust in nanoseconds. So it was really strange to see that tutorial and I never again looked at the windows api's (and hope to keep it that way).


The authors sense of humor in that C tutorial managed to keep me entertained and I started learning more, C eventually became my primary language.

Learning the syntax of a few languages was easy, actually creating programs was a bit harder. So I concentrated more so on reading and understanding rather then being told off by gcc.


By the time I started to use FreeBSD, I also was scouring Wikipedia as I always do, reading everything of interest (especially computer related). I got curious about how the various programs I was using in /bin:/usr/bin worked. So when I got /usr/src cvsuped, I started to read.

Analyzing bits and pieces of small programs, sometimes copying them to my home directory and fiddling around, recompiling and seeing what happened. I read and read, poking around the source tree -- seeing what was done by people that actually (or hopefully) knew what the frig they were doing.

One day, I started to write a small program after hours that satisfied my opinion that cat is for concatenating files not viewing one file without using a pager/editor. To make it more interesting, I made it able to skim off the top and the bottom of files similar to head and tail.

That's how I learned to use a debugger lol.


Eventually as things happened out, a group I'm involved with ousted their lead admin for misconduct and a friend of mine took over as webmaster. Being the only other person with some programming experience this side of QBasic other then the old admin. I got asked to work on some of the PHP code, a language I never learned or used +S.



Fast forward almost 3-4 years, a several more languages, many more implementing "Hmm, I wonder if ..." programs, and a lot of reading and writing code later and I've learned enough to get my tasks done.


Repetitive tasks usually get handed off to Bourne, quickies to Perl, web pages on first come first serve, and Qt makes me glad that I learned about C++, since I needed it when I learned Python in order to use PyQt lol.


And now that I'm in my friends webmasters boots, if I ever bump into our collective predecessors that did most of the original web work, I would like to shove their collage educations up their hindquarters one line of code at a time :-P


So for me, learning really has been a couple of years of reading and writing code. No teacher, no collage, no courses, just tutorials, documentation, and source code.
__________________
My Journal

Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.

Last edited by TerryP; 2nd November 2008 at 05:17 PM.
Reply With Quote
  #2   (View Single Post)  
Old 22nd June 2008
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is online now
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,068
Thanked 198 Times in 156 Posts
Default

MSX2-BASIC + MSX-DOS (Philips edition) by A. Sickler and A. van Utteren.
It's a 1986 Dutch book about, well, MSX BASIC ... I still have it ... Here's a picture:
http://www.clive.nl/detail/12515/
And my dad is (was) a hobbyist MSX programmer, so he though me a thing or two too.

The first program I wrote was with my dad, it sorted a file alphabetically, it was slow, crappy, and didn't prove very useful in the end.
But it was mine, and it was fun.

It was a terrible programming language, major spaghetti code ... A little example:
Code:
10 PRINT "Hello world!"
20 FOR i=0 TO 500
30 GOTO 10
There are no subroutines/functions (QBasic, which was pretty similar, did have this) and you had to identify chunks of code by the line numbers (which were automatically printed with the AUTO command) and GOTO them...
And you had to PRAY that you never needed to insert more than 9 lines of code between two other lines, because this would require starting a new "subroutine" at line 50000 or something and a GOTO.

There was also no Syntax highlighting or indentation...
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
  #3   (View Single Post)  
Old 22nd June 2008
ai-danno's Avatar
ai-danno ai-danno is offline
Spam Deminer
 
Join Date: May 2008
Location: Boca Raton, Florida
Posts: 284
Thanked 35 Times in 31 Posts
Default

Quote:
Originally Posted by TerryP View Post
So for me, learning really has been a couple of years of reading and writing code. No teacher, no collage, no courses, just tutorials, documentation, and source code.
That's pretty much been my experience as well. I'm only a part-time programmer, using PERL when I need something that's not out there to complete a dirty task (like DNS hosting migrations from one set of servers to another, traffic-counters per second on router interfaces, live/hosted-IP checkers, etc.)

I've always considered those that program in C and do it full time and churn out the 'professional stuff' to be admired- I'm not sure I've got that kind of patience (not that I'm not patient... just not that kind.)

I chose PERL directly out of this lack of programming patience- I wanted a language that I could get productive on in a short space of time. I'm a network manager, and personally I didn't want to become a full-fledged professional programmer simply to accomplish the dirty tasks that hadn't been solved in the greater community. PERL allowed me to quickly understand what was going on, and how to use previous blocks of code quickly to come up with solutions that would allow me to get back to the rest of my life.

I suppose PHP would be similar, but I just fell in love with PERL.
__________________
Network Firefighter
Reply With Quote
  #4   (View Single Post)  
Old 22nd June 2008
ai-danno's Avatar
ai-danno ai-danno is offline
Spam Deminer
 
Join Date: May 2008
Location: Boca Raton, Florida
Posts: 284
Thanked 35 Times in 31 Posts
Default

After reading Carpetsmoker's reply (he replied before I could bang mine out) that I'd be remiss in not mentioning my previous BASIC experience. I started when I was 9 on what I think was a VAX/VMS system in a community college course one summer (talk about intimidating, everyone else was more than twice my age) and then used it on my TI-99 4/A, later on my Apple IIe, and finally on my first PC (an IBM PS/2).

Ah the good old days of BASIC... I really had a lot of fun with that language. It never helped me become a proffesional developer... but it kept my love of computers going, and so I guess it served me well.
__________________
Network Firefighter
Reply With Quote
  #5   (View Single Post)  
Old 22nd June 2008
Oliver_H's Avatar
Oliver_H Oliver_H is offline
Real Name: Oliver Herold
UNIX lover
 
Join Date: May 2008
Location: Germany
Posts: 429
Thanked 26 Times in 22 Posts
Default

I got some ZX81 without any games, back in the early 80s. Well BASIC was my friend and 1kb of memory my dreadful master Later I got some Amiga and bought Matt Dillons (the guy from DragonFlyBSD) DICE compiler as shareware. And there is even a story about Turbo Pascal, dBase etc. ;-) Today I'm using C and try to work with Lisp (out of curiosity) and Python.
__________________
use UNIX or die :-)
Reply With Quote
  #6   (View Single Post)  
Old 22nd June 2008
ua549's Avatar
ua549 ua549 is offline
Port Guard
 
Join Date: Jun 2008
Posts: 22
Thanked 0 Times in 0 Posts
Default

I self taught assembler on a Honeywell mainframe (8k of 6 bit memory) in the mid 1960's.
There was no OS, only a bootstrap loader and lots 'n lots of paper tape.

Later I self taught Algol, Cobol, Fortran and many other languages unique to a given computer brand.

Alas, they are now forgotten. I haven't programmed in decades though I do some scripting as required for my home network.
__________________
`
*nix newbie

Desktop: Dual Xeon E5405 Quads, 16GB Mem, Areca 1210, 4TB Raid 5, Quadro NVS 290, FreeBSD 7.0
Notebook: Core Duo T7200, Seagate 200GB, Quadro NVS 110, Vista Business

Reply With Quote
  #7   (View Single Post)  
Old 22nd June 2008
anomie's Avatar
anomie anomie is offline
Local
 
Join Date: Apr 2008
Location: Texas
Posts: 446
Thanked 69 Times in 46 Posts
Default

Like many of you, I programmed in BASIC as a child. I remember a book I got for xmas that contained a BASIC implementation of the Eliza program. I copied it to my Laser-128 (Apple IIc clone); I remember being impressed with the program's "intelligence" and also wishing that I knew enough to make it smarter.

Anyway, I'm a programmer by uni education and career path. I studied C++, Java, VB, and Cobol in college. Upon graduation in 2001, after the US tech economy meltdown, I managed to find work as a legacy systems (read: IBM mainframe) programmer. I'm still plugging away at it, but for the last couple years I have been picking up sysadmin (FreeBSD / Linux) side projects, and attempting to slowly steer my career in that direction.
__________________
Kill your t.v.
Reply With Quote
  #8   (View Single Post)  
Old 23rd June 2008
cajunman4life cajunman4life is offline
Real Name: Aaron Graves
Package Pilot
 
Join Date: May 2008
Location: Coolidge, Arizona
Posts: 203
Thanked 16 Times in 14 Posts
Default

Quote:
Originally Posted by anomie View Post
I studied C++, Java, VB, and Cobol in college.

...

Upon graduation in 2001, after the US tech economy meltdown, I managed to find work as a legacy systems (read: IBM mainframe) programmer.

...

...but for the last couple years I have been picking up sysadmin (FreeBSD / Linux) side projects, and attempting to slowly steer my career in that direction.
Dude, while I was in Afghanistan the company I work for was bought by an Indian company. We're now in the process of "downsizing" and sending a lot of our jobs to the "Indian HQ". The company is championing this as "globalizing our delivery model" and making it sound good for our customers. But anyway, the point is, the two jobs that they absolutely are not getting rid of are AS/400 administrators, and Mainframe programmers (read: COBOL). There just ain't enough of them here in the US, and apparently there are none in India. Apparently not too many people are interested in COBOL and REXX these days.

Now, back on topic. I learned similar to everyone else... when I was 10 years old using BASIC. I messed around a bit in Pascal, Visual Basic 1 (for DOS), and other things. Didn't really pick up C until I was in High School with a TI-89 graphing calculator. Sure, I could attempt to learn M68k assembly... or I could use TI-GCC, the port of GCC for the TI graphing calculators.

Unfortunately I haven't done much programming since high school (short of helping the Network team write a program to help them automatically scan the logs of the hundreds of routers and thousands of switches we support). And lately all I've been doing is shell scripting. But, I would like to get back into it. If only I had the time...
__________________
I just saved a bunch of money on my car insurance by fleeing the scene of the accident!
Reply With Quote
  #9   (View Single Post)  
Old 23rd June 2008
anomie's Avatar
anomie anomie is offline
Local
 
Join Date: Apr 2008
Location: Texas
Posts: 446
Thanked 69 Times in 46 Posts
Default

Quote:
Originally Posted by cajunman4life
... the two jobs that they absolutely are not getting rid of are AS/400 administrators, and Mainframe programmers (read: COBOL). There just ain't enough of them here in the US, and apparently there are none in India. Apparently not too many people are interested in COBOL and REXX these days.
I keep reading that with the next wave or two of retirements there's going to be a "legacy skills" shortage in the US. Which is interesting, because - as you said - very few folks starting their tech careers want to adopt that skillset.
__________________
Kill your t.v.
Reply With Quote
Old 22nd June 2008
sverreh's Avatar
sverreh sverreh is offline
Real Name: Sverre Hval
Port Guard
 
Join Date: Apr 2008
Location: Norway
Posts: 36
Thanked 6 Times in 5 Posts
Default

I took courses in FORTRAN and ALGOL at the university in the beginning of the seventies (sic!). In the middle of the nineties I was required to do a lot of Bourne shell scripting at work, and picked it up from the excellent book "Unix Power Tools". Around 2000 I got interested in Perl; started with "Learning Perl", and continued with "Programming Perl" and "Perl Cookbook". Nowadays I mostly use Perl, and occasionally Bourne shell scripts.
Reply With Quote
Old 23rd June 2008
roddierod's Avatar
roddierod roddierod is online now
Real Name: Rod Person
VPN Cryptographer
 
Join Date: Apr 2008
Location: Pittsburgh, Pa
Posts: 373
Thanked 13 Times in 13 Posts
Default

When I was 8 or 9 my mom sent me to Computer Camp - up until that point I don't recall ever having an interest in computers or even knowing what one was. The computer camp was at a Radio Shack store and lasted a week, all I really remember from the camp was playing some Oil Well diggin game and really liking it on the Radio Shack CoCo.

That christmas I got a TI 99-4/a. I remember knowing some really dumb BASIC stuff like infinite for loops to print my name. My friend across the street got a Commadore and the he had cool games but the TI didn't have cool games so I started programming in BASIC so I could have cool games like him. The first thing I wrote was Track and Field based on the old Arcade games. I had the Long Jump and the Hurdle events working. I made a one on one Basketball game. Commadore's was call Bird vs. Jordan so I called mine Gerving vs Ewing...it was fun making those.

Then I started learning Assembly because the BASIC graphics where limited to single color sprite animation and I was at least 2 color sprites

I've only ever tanked 3 semesters of programming courses in college which included C, Pascal, Fortran, COBAL and VAX Assembly.
__________________
"The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use the words." -Philip K. Dick
Reply With Quote
Old 23rd June 2008
Oliver_H's Avatar
Oliver_H Oliver_H is offline
Real Name: Oliver Herold
UNIX lover
 
Join Date: May 2008
Location: Germany
Posts: 429
Thanked 26 Times in 22 Posts
Default

I remember knowing some really dumb BASIC stuff like infinite for loops to print my name.

Yeah the first success *g*
__________________
use UNIX or die :-)
Reply With Quote
Old 23rd June 2008
Carpetsmoker's Avatar
Carpetsmoker Carpetsmoker is online now
Real Name: Martin
Old man from scene 24
 
Join Date: Apr 2008
Location: Eindhoven, Netherlands
Posts: 2,068
Thanked 198 Times in 156 Posts
Default

haha, I did that too, and in a pattern too.

That was so cool
__________________
UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things.
Reply With Quote
Old 24th June 2008
TerryP's Avatar
TerryP TerryP is offline
Arp Constable
 
Join Date: May 2008
Location: USofA
Posts: 1,547
Thanked 112 Times in 104 Posts
Default

Who on earth would want to learn COBOL?


Unless you got paid by the line.
__________________
My Journal

Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.
Reply With Quote
Old 26th June 2008
ua549's Avatar
ua549 ua549 is offline
Port Guard
 
Join Date: Jun 2008
Posts: 22
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by TerryP View Post
Who on earth would want to learn COBOL?


Unless you got paid by the line.
Back then (1960's) Basic and C did not exist.

If one wanted to work as a programmer the languages to learn were algol, assembler, cobol and fortran.

Even today most mainframes have some cobol programs running on them.
__________________
`
*nix newbie

Desktop: Dual Xeon E5405 Quads, 16GB Mem, Areca 1210, 4TB Raid 5, Quadro NVS 290, FreeBSD 7.0
Notebook: Core Duo T7200, Seagate 200GB, Quadro NVS 110, Vista Business

Reply With Quote
Old 24th June 2008
dk_netsvil dk_netsvil is offline
Real Name: Devon
Fdisk Soldier
 
Join Date: May 2008
Location: New York
Posts: 75
Thanked 7 Times in 7 Posts
Default

I got started with Basic in gradeschool making what can only be very loosely called "games" and my old man got me an account on the VAX where he worked and I started learning Pascal and, later C. In highschool I learned some python and *cough* Eiffel and in college the required programming course was in VB and Java was the elective language. Perl and shell scripting were both part of the sysadmin portions of the degree program, which kind of fleshed things out.
Reply With Quote
Old 26th June 2008
TerryP's Avatar
TerryP TerryP is offline
Arp Constable
 
Join Date: May 2008
Location: USofA
Posts: 1,547
Thanked 112 Times in 104 Posts
Default

A good point but still, I think I would take the assembler any day... punch cards don't grow on trees ;-)
__________________
My Journal

Thou shalt check the array bounds of all strings (indeed, all arrays), for surely where thou typest ``foo'' someone someday shall type ``supercalifragilisticexpialidocious''.
Reply With Quote
Old 30th June 2008
Business_woman's Avatar
Business_woman Business_woman is offline
lieutenant
 
Join Date: May 2008
Posts: 45
Thanked 2 Times in 2 Posts
Default

Never have and never will.
Probably too stupid to learn to program

sad but true =/
__________________
I like cookies...
Reply With Quote
Old 1st July 2008
tonyex's Avatar
tonyex tonyex is offline
Real Name: Anton
Port Guard
 
Join Date: May 2008
Location: Sweden
Posts: 14
Thanked 0 Times in 0 Posts
Default

I studied physics so Fortran & Turbo Pascal was a necessary to learn then.
When I moved to computers I used to write some scripting code, mostly for administration tasks ( 2 work less and tech surf more). I use to combine several scripting techniques to write WEBmin like tools and then bought some books when Java was on the move like 10 years ago. Got a job as Java (J2EE) programmer during like 1,5 years, got bored and got back to C-like programing languages.
Reg /T

Last edited by tonyex; 1st July 2008 at 01:12 PM.
Reply With Quote
Old 1st July 2008
deemon's Avatar
deemon deemon is offline
Fdisk Soldier
 
Join Date: May 2008
Location: Estonia
Posts: 50
Thanked 6 Times in 5 Posts
Default

I learned to program by modifing password stealing programs and mud/talker codebases in school. Shell script/perl/c stuff.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
learn assembly ephemera Book reviews 5 26th December 2012 06:29 PM
A PDP-11 program card TerryP Programming 0 10th April 2009 05:54 AM
How to learn to program under BSD? Sunnz Programming 5 24th December 2008 11:45 PM
Would BSD be right to learn networking? php111 Off-Topic 17 25th September 2008 07:02 PM
Learn which services are listening on your box anomie Guides 5 14th May 2008 09:59 AM


All times are GMT. The time now is 10:07 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick