--- Geoff Roberts <geoffrob(a)stmarks.pp.catholic.edu.au> wrote:
----- Original Message -----
From: "Ethan Dicks" <ethan_dicks(a)yahoo.com>
> > I don't have any Uni level CS under my belt, and that seems
> > to be what's needed to comprehend it.
>
> Rubbish.
> I saw that we had a UNIX machine nestled amongst
the VAXen...
You are fortunate in having had access to such systems
early in the piece.
That is true. I was also fortunate enough to sieze the opportunity. Of
the handful of college barely-over-minimum-wage backup operators that
paraded through SRC, only two of us are making a living in IT. Most of
the operators mounted the tapes, printed the labels and read trashy novels
while the TU-78 did its stuff for 6 hours. The other geek and I wrote
programs on one of the other systems while the main system was being backed
up. We both ended up as full-time programmers for the company's VMS and
UNIX products. Several people had access to the programming resources.
Most did nothing with the opportunity.
I never
learned a programming language in school, only by rolling up my
sleeves, going into larval mode once again and banging out a fun project.
Interesting. I got the impression that the knowledgeable C programmers
around either
a) Worked in a professional computing environment and 'worked their way up'
or
b) Went to university and studied CS there.
or
c) Both.
I got my first job writing 6502 assembler for the C-64 in 1982 before I
was old enough to drive. My mother had to drop me off and work and sign
my contracts. I realize this is atypical, but there it is. I did start
off at University with a double CS and EE major. I took one "FORTRAN for
Engineers" class and after two years in the program switched my major and
earned a BA in History (while learning to program in C on the side at work).
So given your above model of the anticipated career paths of C programmers,
I would most closely fall into A). I learned C at work, doing a project
to automate one of my assigned job tasks after having been a professional
assembler programmer for two to three years. I did it by asking the "real"
programmers at work, exploring source code and reading K&R cover to cover
several times. I still tell people to start with that book, BTW. It's
a goldmine of information.
C doesn't strike me as a language that could be
'self taught' without prior
knowledge of a lot of things that you don't see outside that kind of
environment.
I'm not sure I agree here.
All the books I ever saw on C seemed to expect that
you already have a
working knowledge of data structures architecture of the machine etc.
Have you read K&R? It assumes a PDP-11/VAXish machine architecture, but
it covers the basic data structures, linked lists, multi-dimensional arrays,
strings, pointers to arrays of pointers. More than enough stuff to get you
into buckets of trouble.
TP was perhaps just better documented for ignorant
newbies than C is.
I did work with TP at one job. The programmer there would certainly
be described as a newbie. He was a business major, not a geek. I have
no idea how he ever produced that much working code except by pure
force of will. It was extremely inelegant.
That you have 'self taught' on it regardless
indicates otherwise, so I will
revise my opinion. However I must agree that it does seem to (me at least,
and I saw a another response to my original post that agreed) to be a "write
only" language unless it is very well commented.
Again, that depends. I've seen some stuff that was absolutely unintellegible
without comments (and not very understandable even _with_ comments) and other
things that are so idiomatic and commonly used that adding comments disturbs
the flow to the point of hiding what's happening.
There are other languages that are _more_ "write only" (APL comes to mind
immediately), but I do agree that zero comments makes C extremely difficult
to understand.
Er, I should point out that I don't/didn't
intend to start a holy war here...
It tends to happen when anyone makes somewhat broad and somewhat firm
statements about anything in this biz, editors, OSes _and_ languages,
to name a few.
I'm merely relating my experiences. We all seem to
have our favourites, I
guess I like TP because it was the first 'real' language (something compiled,
_That_ is typical in my experience.
=====
Even though my old e-mail address is no longer going to
vanish, please note my new public address: erd(a)iname.com
The original webpage address is still going away. The
permanent home is:
http://penguincentral.com/
See
http://ohio.voyager.net/ for details.
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com