home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / lang / c / 13507 < prev    next >
Encoding:
Internet Message Format  |  1992-09-10  |  2.6 KB

  1. Path: sparky!uunet!munnari.oz.au!bruce.cs.monash.edu.au!goanna!ok
  2. From: ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: EASY C
  5. Message-ID: <14481@goanna.cs.rmit.oz.au>
  6. Date: 11 Sep 92 08:32:00 GMT
  7. References: <faivre.716116245@cst02> <1992Sep10.102835.20738@newshub.ccs.yorku.ca> <faivre.716143938@cst02>
  8. Organization: Comp Sci, RMIT, Melbourne, Australia
  9. Lines: 52
  10.  
  11. In article <faivre.716143938@cst02>, faivre@cst02.segin.com (Denis Faivre) writes:
  12. > This is definitely no joke. I know someone seriously considering to "adapt" C
  13. > (for COBOL programmers, as you guessed it in your second message) by such a
  14. > technique as EASY C.
  15.  
  16. I've had to deal with code which used
  17.     #define or else if
  18. I am not kidding about that, and I was not at all pleased about it either.
  19. One of my reactions was "why aren't these cowboys willing to write in C?"
  20.  
  21. The effect of using an idiosyncratic language loosely based on C (which is
  22. what a set of macros like EASY C is) is to
  23.     - make sure that people who learn this language will have a hard time
  24.       with C
  25.     - make sure that people who know C will have a hard time with this
  26.       language
  27.     - confuse the heck out of support tools like `indent', `ctags',
  28.       `cflow', `calls', `cxref', ...
  29.     - seriously perturb the electric-C-modes provided by several editors 
  30.     - lose you a lot of friends (especially people who have to maintain
  31.       the code afterward).
  32.  
  33. Let's face it, the syntax is the EASIEST part of C to master.
  34. I just spent 3 hours yesterday and another 3 hours today helping a student
  35. with a C program.  Her mastery of the _syntax_ was complete, but she didn't
  36. understand things like
  37.     - how to read words from a file?
  38.     while (fscanf(infile, "%80s", word) == 1) { process(word); }
  39.     - how to build a linked list by inserting things at the end?
  40.       typedef struct ListNode *ListPtr;
  41.       struct ListNode { ListPtr next; SomeType item; };
  42.       ListPtr result, *tail = &result, new;
  43.       ...
  44.     new = (ListPtr)emalloc(sizeof *new);
  45.     new->item = something;
  46.     *tail = new;
  47.     tail = &(new->next);
  48.       ...
  49.       *tail = NULL;
  50.     - what can cause a segmentation fault?
  51.       in this case, using fopen() and not checking the result.
  52.     - what is the difference between strcpy() and strncpy()?
  53.     - how can I maintain a key->value mapping on disc?
  54.        use ndbm(3) or sdbm(3L)
  55.     - how do I debug a C program?
  56.        [actually, she knew a pretty good method:  ask a lecturer...
  57.         We did try dbx, but it crashed...]
  58. and a whole bunch of stuff at that level.
  59.  
  60.  
  61. -- 
  62. You can lie with statistics ... but not to a statistician.
  63.