From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fc89c,97188312486d4578 X-Google-Attributes: gidfc89c,public X-Google-Thread: 109fba,baaf5f793d03d420 X-Google-Attributes: gid109fba,public X-Google-Thread: 103376,97188312486d4578 X-Google-Attributes: gid103376,public X-Google-Thread: 1014db,6154de2e240de72a X-Google-Attributes: gid1014db,public From: garyg@southeast.net (Gary M. Greenberg) Subject: Re: What's the best language to start with? [was: Re: Should I learn C or Pascal?] Date: 1996/08/02 Message-ID: #1/1 X-Deja-AN: 171693458 references: <01bb7da1$323102a0$96ee6fcf@timhome2> <4ttdlg$2pr@news.ida.org> <4ttksk$9lt@solutions.solon.com> organization: /* NOTREACHED */ newsgroups: comp.lang.c,comp.lang.c++,comp.unix.programmer,comp.lang.ada Date: 1996-08-02T00:00:00+00:00 List-Id: In article <4ttksk$9lt@solutions.solon.com>, seebs@solon.com wrote: ["Far snip;" ... is that the right `model' for that cut ;p] > The newbie uses a machine, and to the newbie, that is all machines; the > newbie's code runs only on that machine. Whoa, vast generalization. Slow down. I've been at C* a bit over a year; I'm still quite the neophyte. I _know_** what is ANSI-C and what isn't. I know that what runs on my machine using extensions isn't what runs everywhere. * My first computer language. ** there are many things about ANSI-C I still don't know, but what I know, I can distinguish between Standard and non-standard. >From day one, the code I wrote was keyed in one of three machines, then copied to each of the other two to learn if and what made a difference. The three OS'es are quite different: (1) Macintosh; (2) BSD on an 386, since upgraded to an OS/2 box; and (3) a Sun Sparc 20 running Solaris 2.4, recently upgraded to an Ultra running Solaris 2.5 Guess what. Today, there is a unix compressed tar archive of source code for a GIS application I wrote sitting at: ftp://users.southeast.net/private/garyg It's called mapbook. The code was originally written on the Mac, tested on the BSD box, downloaded to the Sun, now Ultra and recompiled without changing one line of code. The program writes a program. I venture to say that it will download and compile on _any_ platform (excepting that it is _no respecter_ of the 8.3 filename constraint). This is just to say that there are some of us who can learn properly. There are some of us who don't care about the machine, per se. I had a task I wanted to automate; I figured out the steps to automate it. I wrote the code within the contraints provided by the language that I was learning to use. Over time, I added more and more error checking, to protect the user from their own mistakes, but I did it all by staying strictly conforming. [snip] > The experienced programmer's code runs on several machines. > The true programmer uses no machines, and uses the specifications > granted by the language. The true programmer's code runs on any > machine. And, sometimes the apprentice's code does too. We ain't all ijits. > [snip] a portable C program *can not use any of them*. That's a key to reuse too. [snip] > Many programmers seem to be able to push that number down, > by finding more and more ways to depend on things they don't need. > This is stupid. Bingo! Every problem that needs to be handled by the application should be evalutated with regard to the Standard library, and the functions provided within. If it's in the library, use it rather than an extension provided with the tools dejour. And, new programmers should check each function they use, to be sure they are using one that is, in fact, in the standard as opposed to an extension. Given a choice, use the Standard library functions. [much to agree with clipped] > -- > Peter Seebach - seebs@solon.com FWIW: There is an awful lot of chaff to sift thru in c.l.c. Some of us, while new to the language, have seen which shoulders to stand on, yours included. Glad there are a few beacons out there. Cheers, gary /* the Sorcerer's Apprentice */ Contribute to the Randal Schwartz Legal Defense Fund. This URL hosts the C Programmers' Reference: http://users.southeast.net/~garyg/main_page.html