The C programming language

From: Ethan Dicks <ethan_dicks_at_yahoo.com>
Date: Sat Mar 11 02:05:42 2000

--- Geoff Roberts <geoffrob_at_stmarks.pp.catholic.edu.au> wrote:
> ----- Original Message -----
> From: "Ethan Dicks" <ethan_dicks_at_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_at_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
Received on Sat Mar 11 2000 - 02:05:42 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:33:05 BST