home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / programm / 2442 < prev    next >
Encoding:
Internet Message Format  |  1992-08-23  |  2.6 KB

  1. Path: sparky!uunet!wupost!sdd.hp.com!caen!destroyer!ncar!noao!amethyst!organpipe.uug.arizona.edu!news
  2. From: dave@cs.arizona.edu (Dave Schaumann)
  3. Newsgroups: comp.programming
  4. Subject: Linking & type safety (was Re: ANSI C, was Re: Teaching the basics)
  5. Message-ID: <1992Aug23.200121.20219@organpipe.uug.arizona.edu>
  6. Date: 23 Aug 92 20:01:21 GMT
  7. References: <1992Aug21.154839.2664@organpipe.uug.arizona.edu> <1992Aug21.232022.28931@prl.dec.com> <1992Aug22.034214.19539@linus.mitre.org> <PRENER.92Aug23032830@prener.watson.ibm.com>
  8. Sender: news@organpipe.uug.arizona.edu
  9. Reply-To: dave@cs.arizona.edu (Dave Schaumann)
  10. Organization: University of Arizona
  11. Lines: 40
  12. In-Reply-To: prener@watson.ibm.com (Dan Prener)
  13.  
  14. >>Now, a type checking loader would be a fine thing.
  15. >>So just what is the problem here?  Why can't I buy one?
  16.  
  17. >You can.  It's called a VAX.
  18.  
  19. Somebody's making a linker called `VAX'?  Just wait'll DEC hears about it...
  20.  
  21. >However, in Unix, ld (the linker) has lost all
  22. >type information by the time the link occurs.
  23.  
  24. That's funny.  When I use g++ on this Unix box, it remembers type information
  25. just fine.
  26.  
  27. The trouble is not "VAX" vs "UNIX" (how could it be?  A VAX is a machine;
  28. UNIX is an OS...).  The trouble is that linker technology remains mired in
  29. the 60's, while computer language has continued to evolve.  So while we
  30. have ANSI giving us prototypes &c for C a few years ago, it also gives us
  31. the "unique in the first 6 characters" rule for external identifiers, and
  32. says nothing at all about type checking at link time.
  33.  
  34. The trouble is that there are too many people out there with a vested interest
  35. in seeing that C doesn't change too much, so that they can still compile their
  36. old applications; too many people who are unwilling or unable to afford hiring
  37. a programmer to write a modern linker for their pet platform.
  38.  
  39. The popularity of C is one of its biggest assets when it comes to portability
  40. issues; but it's also its biggest problem when it comes to encorperating new
  41. language technology.  Of course, C has changed and no doubt will continue to
  42. change in the future.  But you have to accept that you'll never be able to
  43. introduce a radical new change again.  Every change will always be incremental,
  44. with all the old obsolete technology held over for an iteration or so to give
  45. the stragglers a chance to catch up.
  46.  
  47. If you really want to help C, write a system implementation that incorperates
  48. your wonderful new innovation, and then when it comes time to redefine the
  49. standard, you can point to your system and tell ANSI, "See?  Prior art!  Prior
  50. art!".
  51.  
  52. -- 
  53. Dave Schaumann            dave@cs.arizona.edu
  54.