DevChix

search blogs

posts on this page

archive

RSS 2.0 | Atom 1.0 | CDF

Sign In

# Monday, June 09, 2008
Monday, June 09, 2008 4:40:38 PM (Eastern Standard Time, UTC-05:00) ( programming | languages | history )

Michael Eaton has requested developers to share stories of how they got started in programming.  I started programming in the dark ages which many of you will not be able to relate to, so bear with me.

First of all, when I was a child no one had computers in their homes.  The only computers I knew about were at the universities and the government.  When I was in junior high, my school decided that it needed to give more focus on math and reading so it established a new format for Fridays.  Half the day was for math and half was for reading - this was set up to ensure everyone knew the basics.  Well those of us who were advanced past the basics got to hang out with the social studies teacher and learn fun things; I think there were about 10 of us.  He taught us Algebra and Geometry, we put on a play, learned about Fibonacci and many other cool things. 

Best of all he had access to a computer as he was taking graduate school classes at the nearby university.  He taught us the BASIC instruction set and had us write out programs on loose leaf.  At night he would go to the computer lab, type in each of our programs and bring us back the results.  This was the most fun I can remember from grade school.  Math was always my favorite subject and I loved puzzles and problem solving.  I don't remember too many specifics about the programs except I recall something with biorhythms and calculating things like how many days we had been alive.

My high school had a teleprinter with a tape in our math center.   I never had a chance to learn how to use it.  I envied my older sister who took an independent study class and got to (that she had a programmable TI calculator is another story).

My chance to program for real was in college.  I majored in Math and started taking computer science classes right away for a minor (at the time the college did not offer a major in CS).  We did not have our own computer, instead we had time-sharing with the mainframes at the University of Maryland. I learned assembler, Fortran, COBOL and Pascal.  Assembler and Fortran were coded with a line editor on a teleprinter; COBOL required punch cards and by the time I took Pascal we had CRT's - The summer before my senior year I had a mathematics summer internship at COMSAT Laboratory where my job was to write a program in Pascal to compute an algorithm for a mathematician.  The first day he gave me a 23 page hand written integral which was my assignment for the summer.  COMSAT was exciting - this is the first place I had ever seen real computers, plus they had a huge (satellite-sized) anechoic chamber, earth stations, library, and tons of special purpose electronics and engineering systems. 

The important things that happened that summer were I discovered that the mathematicians did not use computers at all, there was a lot of money to be made writing software and I met my future husband who was a RF Engineering Co-op.  The first didn't end up being true but the other two were good.

Once I graduated, I started job hunting.  I had success at my first job fair.  I walked around the room and talked to all the men and one asked me if I knew assembler.  I said yes I knew Univac Assembler, he smiled, gave me a business card and set up an interview for me.  I looked up and saw that the company he worked for was Sperry Univac.  I started work right away.  We were a subcontractor for Ford Aerospace on a NASA contract.  I worked on a 16 bit (hex) mini-computer with ASCII and two's complement arithmetic and communicated with a 36 bit (used octal) mainframe that used 6 bit Fieldata and one's complement arithmetic.  Needless to say I learned a ton, met great people and saw a successful large project installation.

The most fun I had at that job was testing in the lab with the mini-computer.  I loved being able to toggle switches to set a breakpoint and look at indicator lights (the only UI) to read the register contents and memory, following along with a printout of the assembler code with addresses and the op-codes.  I liked making up  and applying patches on the fly when I found a bug. A also liked getting a memory dump of the processor and searching through the buffer pool looking for buffers that hadn't been returned and ones that overwrote their boundaries.  I had full control of the machine and yes I am a geek.  I still eally like debugging - yes I know 'm a geek.

At the same job the boss felt it was important not to work through lunch so we played bridge, then when Trivial Pursuit became popular and we had more people we played that.  Some days we just hung out at the terminals and played zork.

Ok, enough with history and back to the questions.

What languages have you used since you started programming?

At least 5 assembler languages, BASIC, meta-assembler, Fortran, Pascal, Smalltalk, Prolog, Lisp, C, Cocoa, Java, C#, and C++.

If you knew then what you know now, would you have started programming?

Absolutely.

If there is one thing you learned along the way that you would tell new developers, what would it be? 

Don't stay at a job you hate with people you don't admire.  You want to be in a group where learning and communications are encouraged and required.

 

maggie++

Monday, June 09, 2008 10:12:24 PM (Eastern Standard Time, UTC-05:00)
Great post, Maggie! Sounds like a fantastic career so far.
Tuesday, June 10, 2008 10:16:11 AM (Eastern Standard Time, UTC-05:00)
Great post! Kudos on the blog, expect to see my post in a couple days.. :)
Tuesday, June 10, 2008 12:35:15 PM (Eastern Standard Time, UTC-05:00)
Great job! Please don't take this the wrong way but... you may be the Grace Hopper of CINNUG! :)
Matt Brewer
Tuesday, June 10, 2008 3:23:36 PM (Eastern Standard Time, UTC-05:00)
Thanks for the encouragement.

Matt, I am honored that you think so but I'm nothing like Grace Hopper. She was a real pioneer and I have worked on technologies others invented; I just happen to be female.

Maggie++
Maggie++
Tuesday, June 10, 2008 4:51:06 PM (Eastern Standard Time, UTC-05:00)
You were jealous of my TI? Sorry. This is the first I've heard about what happened in jr high after I left. That sounds cool. I am also surprised you never used that punch tape machine in high school. You would have smoked on it.

Truth is, I loathe programming, just don't get it. But here you are successful and compared to Grace Hopper and I just blog about my knitting and tutor kids in math. And when they pull out their graphing calculators with their quadratic formulas programmed in and I try to tell them about in my day we had to factor polynomials by hand, they just look at me blankly.

Friday, June 13, 2008 9:30:44 PM (Eastern Standard Time, UTC-05:00)
My rendition of: How I Got Started In Software Development;. Thanks for the inspiration! :)
Monday, July 14, 2008 7:27:50 PM (Eastern Standard Time, UTC-05:00)
Great blog, but I must defer to the nitpicker's corner, and mention that Cocoa isn't a *language*, it's a *framework*. Objective-C is though :)
Comments are closed.