From: lowen@lorc.UUCP (Lamar Owen)
Newsgroups: alt.folklore.computers
Subject: Re: The need for an assembler (was: Favorite CPU)
Date: 2 Sep 92 13:45:37 GMT
Organization: LORC Enterprises

lasner@watsun.cc.columbia.edu (Charles Lasner) writes:
> *ALL* compilers used to be smart, but the tendency today is to write "cheap"
> compilers.  IF you can bend the spec of the language so the compiler can do
> it in one pass (or less passes) you make the programmer work harder.  This
> is the current philosophy, used to be quite different :-(.

Also, especially with MickeySoft languages, the linker is quite dumb in that
it can't seem to link in libriaries properly.  I did some development in MS's
Professional BASIC (Oxymoron??) for GE.  The reason it was BASIC was simple:
the libraries for the data acquisition board we used only came in three
flavors: QuickBASIC, QuickC, and PBASIC.  We have all three, but the original
development was all in GW-BASIC (yetchss...), and there was a large amount of 
pressure to use the existing code.  So, I translate the bugger.  No big deal,
compiles clean on the third edit, and runs fine.  So, I have a 75K source file
that compiles to a 30K .obj.  No problem so far.  The problem was the libraries.
When I linked the fool thing together, the entire 256K library for the ADC
board was linked in, when I was only using three routines!  Stupid linker! So,
I kluged: I split the supplied library, and built a custom lib with the
required routines.  Alot of work to kluge around a bad linker.

Even though I personally like BASIC for stuff like that, MS's implementation, 
although making BASIC workable, also leaves alot to be desired.

> requirements or programmer's preference, etc.  BTW, MASM is written in C.

Now, to the meat of my message: I keep seeing alot of potshots being taken
at C here.  I'm hearing this (of course, my hearing is far from perfect, but
that is a whole other flamefest...): "C is the worst possible language to
do any serious development in.  It produces inherently buggy code, and is only
useful for minor projects that are not critical."  Now, that may not accurately
reflect your true position, but that is sure the _impression_ I am getting.
Yes, I have read and reread the whole thread, as I am archiving a.f.c.

No, C is not a panacea.  No language is, or can ever be.  Just like every man
has a different taste in women, programmers (software engineers for those
who are upitty) have their preferences.  But, C has a fine purpose: to
provide a portable assembly-type language.  For this purpose, it is a
wonderful tool. Without C's portability, Unix would not be the success today
that it is. Of course, some folks see that one thing as enough cause to hate
C :-).

I tend to agree with what I perceive is your main point behind this whole
thread: that HLL's are not the end-all, and that assembler is necessary for
some uses.  In the process of this thread, however, certain people have 
assertted that you then feel that assembler is the "language of choice".  I
don't believe you are forwarding that position at all.  I agree with you: when
portablility is not of importance, then assembler has its niches that cannot
be filled by any existing HLL's or MLL's such as C.  I personally prefer to
code in Z80.  Of course, the preference is not greatly exercised due to the
lack of demand for Z80 programs.

For public information, lorc.UUCP is archiving this thread, and a.f.c, for
the duration of this discussion and possibly beyond.  I am still working out
the logistics of actually serving as an archive for this, but I can probably
provide specific articles in a.f.c for those who need. E-mail 
postmaster@lorc.UUCP for details.

> cjl (MS-DOS development without the benefit of Microsoft: DR-DOS and Borland
> languages)

Tell me something: what language are Borland products primarily written in? I
would hazard to guess C++.  I also guess that DR-DOS has some sections written
in C as well.  Hooray for MS-free development tools and OS's.... But I still
prefer Linux on my 486SX. And, I still prefer C to any other HLL.  It almost
brings to the assembler level, but still allows me to code with utter
disregard as to which of my many machines I am on.  (Of course, you view this
as a disadvantage.  I see it as a significant advantage because I value
portability.)


--

Lamar Owen, Systems Consultant, GE Lighting Systems, Hendersonville, NC
***********************************************************************
 Opinions expressed herein are the author's and do not reflect policy
   or opinions of the General Electric Company or its subsidiaries.
***********************************************************************
Xref: sparky alt.folklore.computers:13659 comp.unix.xenix.misc:185