home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / os / vms / 20566 < prev    next >
Encoding:
Internet Message Format  |  1993-01-08  |  3.3 KB

  1. Path: sparky!uunet!spool.mu.edu!agate!ucbvax!KOPC.HHS.DK!ARNE
  2. From: ARNE@KOPC.HHS.DK (Arne Vajhxj)
  3. Newsgroups: comp.os.vms
  4. Subject: Re: VAX c
  5. Message-ID: <01GT9W2PQDHU8WWGNM@kopc.hhs.dk>
  6. Date: 8 Jan 93 10:51:33 GMT
  7. Sender: daemon@ucbvax.BERKELEY.EDU
  8. Distribution: world
  9. Organization: The Internet
  10. Lines: 72
  11.  
  12. > >Gawd, how I *HATE* UNIX!
  13. > But you use C?
  14. > This discussion just reinforces my belief that C is an unacceptable language
  15. > because the run time library has to emulate unix, regardless of the OS. I
  16. > have seen C take over as 'this weeks language' and I just don't understand it.
  17. > Why in hell are so many people using C on VMS? Why would you want to hose your
  18. > performance running through 14 levels of emulation attempting to (and often
  19. > failing) make the rtl conform to every little idiosyncrasy of one particular
  20. > system? I mean, is it a management decree based on 'marketing related
  21. > concerns'? Is it for 'portability' (seems like the typical C program depends on
  22. > such exact unix behavior that this portability is just a myth touted by people
  23. > running unix. Christ, look at the contortions the guy who ported XV had to go
  24. > through)?
  25.  
  26. There are some good reasons for using C:
  27.  
  28.   - It is often the only compiler available at all platforms in a mixed
  29.     environment (f.ex. VMS-machines with FORTRAN,PASCAL and C + UNIX-machines
  30.     with C + DOS-machines with PASCAL and C).
  31.   - The number of extensions to the language available on the different
  32.     platforms are relative low (compared with f.ex. VAX PASCAL and TURBO
  33.     PASCAL) making the code relative easily to port.
  34.   - The language has builtin possibilities for conditional compiling on
  35.     different platforms (#IFDEF's), which makes source-code maintaining
  36.     on different platforms easier.
  37.   - The language itself is good at low-level programming.
  38.   - A lot of things (f.ex. X11) are designed for use in C.
  39.   - Some special utilities (YACC,LEX) are availble for C but not for
  40.     other languages.
  41.  
  42. Also there are some problems using C:
  43.  
  44.   - Some of the RTL-functions are implemented poorly with respect to
  45.     performance.
  46.   - There has been more bugs in VAXCRTL than in most other RTL.
  47.   - C code can get very ugly indeed.
  48.   - C and VMS are not always so compatible in basic structures
  49.     (ex.: C-string versus VMS descriptors).
  50.  
  51. And now for the big point (also called "Arnes rule about compilers"):
  52.  
  53.   There is NO best compiler. There are best compilers for a given
  54.   programming-problem.
  55.  
  56. If you are programming X11-applications,TCP/IP-applications,compilers
  57. or system-programming (and assembler is out of the question), then C
  58. is a good choice !
  59.  
  60. If you are programming numerical-applications, then you will probaly
  61. prefer FORTRAN.
  62.  
  63. If you are programming accounting-systems, then you may prefer COBOL.
  64.  
  65. Etc. etc. etc. ...
  66.  
  67. Compiler languages tend to have some religious overtones, because we
  68. all have some personal preferences due to the fact, that we all do
  69. different kind of programming (and what I think is very important: we
  70. learned the languages at different times in our careers - and we
  71. probably all love our FIRST language most !).
  72.  
  73. OK ?
  74.  
  75.                                                           Arne
  76.  
  77. Arne Vajhxj                             local DECNET:  KO::ARNE
  78. Computer Department                     PSI:           PSI%23831001304030::ARNE
  79. Business School of Southern Denmark     Internet:      ARNE@KO.HHS.DK
  80.  
  81.  
  82.