From: ········@bayou.uh.edu
Subject: Re: Language wars (again, <sob>), was re: What is wrong with OO ?
Date: 
Message-ID: <5db7u8$1d3@Masala.CC.UH.EDU>
Smalltalk newsgroup snipped.  This has nothing to do with the
good people there.


Graham Hughes (·············@resnet.ucsb.edu) wrote:
: -----BEGIN PGP SIGNED MESSAGE-----

: [Followups trimmed; I'm not sure the Smalltalk people really want to
: hear about this...]

: Speaking of flame bait...

Flame bait indeed.  You take a topic initiated by another, move it
to an entirely different thread, and in an attempt to insure a
language religious war you rename it so everyone knows where to
look.

Why didn't you just post this on Yahoo while you were at it?



: ········@Bayou.UH.EDU (········@bayou.uh.edu) writes:

: >He said "master", not "understand".  Understanding C++ is one thing,
: >but mastering it is another.  There are so many nuances and
: >pathological horrors that await you in the bowels of this, the
: >most overrated of languages, that you will be befuddled time
: >and again, and turn your tear stained faced up towards the heavens
: >and cry "Why me Lord, why hath thou forsaken me?!?!?".

: Have you used the language, or do you base your ranting on second hand
: information?

I've used the language quite a bit -- too much.  I don't know about
you, but I dont speak about things unless I have first hand experience.


: I'm not sure I've mastered the language yet; I'm not sure anyone really
: has, as the draft standard is still in flux.  But I don't need to, any
: more than I need to master Perl.  No language lacks faults, and LISP and
: Smalltalk are certainly no exceptions here.  Neither is C++.  I know
: enough to get by (although for a library developer, that's a fair bit)
: and that's good enough.

Of course no language lacks faults, even my beloved Haskell has its 
faults, however the question isn't whether or not a language has
faults, but whether or not it has an excessive number of faults which
turn it into a burden rather than a tool of productivity.  C and
its hideously deformed cousin, C++ have crossed that line.  They
are archaic tools of an earlier era, which by some catastrophic
blunder, are being used today.

It has been said that C has set the programming industry back by
a decade.  I agree fully with that statement.  Even C's creator
acknowledges that C is being used for things it was never
intended to be used for.



: >First, you have the miserable failings of C to contend with, and
: >then you have the extra horrors that C++ decided to throw in for
: >good measure.  Object oriented extensions slapped on top of an
: >inadequate, archaic, low level language, a programming experience
: >do not make.

: `inadequate, archaic, low level language'; one would even think you have
: an axe to grind.  Are you trying to sell me something?  Don't insult the
: language; it is certainly very good compared to the utter crap being
: passed around as systems programming languages.  (Remember Pascal's
: heyday, when every compiler compiled a different superset of Wirth's
: original intention?)

My axe to grind is that quite simply, I am a programmer and am forced
to use that which is popular.  C and C++ translate into losses.
Losses of productivity, losses of enjoyment of programming, and
losses of hair.  I am forced to live with these shoddy languages
and the equally shoddy legacy they left behind, so you can bet
that I have an axe to grind.  Furthermore comparing C to
Pascal is like comparing a dung beetle to a maggot infested
carcass.  Pascal is the whipping boy of the programming community.
Standard Pascal was completely useless, and laughable and even
Basic looked good compared to that.


: C++ has its faults, and a great many of them are inherited from C.  Once
: you move past the lower level stuff like char * pointers (which the new
: standard library helps immensely with), it's even pleasant to use.  And
: it's *efficient*; Borland and Microsoft to the contrary, C++ compilers
: generate code on par with the C compilers they supplant, which (along
: with their FORTRAN counterparts) generate code well enough to have
: doomed assembler programming on all but 80x86 machines.

C++ *IS* a fault.  It is fundamentally flawed.  You don't go about
grafting high level concepts onto a low level language, the result
is a horror far greater than anything Dr. Frankenstein pieced
together.  As for efficiency, remember the 90/10 rule. 90%
of the speed hinges on 10% of the code (some would prefer 80/20).
The fact is that you need only optimize a relatively small
portion of your code to see big improvements, and given the
power of computers nowadays, there's no reason to write
an application solely in one language simply for speed.


: >That depends on what you define as "return on investment".  If
: >by "return on investment" you mean better job opportunities, then
: >yes C++ sure does have a higher return on investment.  But if
: >you mean the ability to produce reliable, maintainable code, then
: >C++ is a complete failure in this regard and gives you zero return
: >on investment.

: Again, have you used the language?  When?  Which compiler?

Yes I have used the language, and asking which compiler is a 
completely irrelevent question (I shall list them anyhow,
I used a few).  C++ is compiler independent.  You see the
language, you use the language, and you make your determination
based upon that language.  

Now here are the C++ compilers I used:
	1) GNU
	2) DJGPP (GNU Port)
	3) Borland Turbo C++
	4) MS VC++

For C, add in MS QuickC.


: People generate reliable, maintainable code in C++ every day.  Much more
: than LISPers generate (although this is because of volume).  My code in
: particular has been ported from my box to a machine with a different OS
: and CPU with no changes.  I have to do this, because it's required to
: run on this other machine.  I can't actually *do* this with LISP,
: because the other machine has no LISP interpreter/compiler.

Gee, I wish you'd tell this to the multitudes who are producing
utter crap, thanks largely to C++.  Where I work I see the bugs
that C++ lets slip.  Ever spend days debugging an application 
only to find out that whoever wrote the code let a NULL pointer
slip through?  Ever try debugging an application with 
Friend functions left and right, wreaking havoc with what
encapsulation you had?  How about name mangling?  I've seen
the battlefield first hand.


: >Kindly leave some of your belligerence at home.  This is a public
: >forum where many different opinions and facts are discussed, and
: >your attitude does little to promote intelligent discourse.  

: How ironic that *you* should mention this, given your incendiary
: remarks.

How interesting that you snipped everything I was responding to.
One would think you had something to hide.  The post I responded
to (and my original response) is available in the thread
"What is Wrong with OO?", since our friend here is obviously
scared of others seeing it, it might be worth a glance if
anyone reading this hasn't seen it already.


: <snip>

: >Lisp, while not my favorite language, is a language that is
: >leaps and bounds ahead of C and it's inbred cousin, C++.
: >The fact that in Lisp you can worry about coding the problem
: >at hand, rather than playing with copy constructors, assignment
: >overloading, pointers, and destructors speaks for itself.

: Yeah, then you can worry about it running when you get it past the
: compiler.  My quibble with LISP derives from its dynamic typing (which I
: beg people *not* to turn into a flame war *again*).  Copy constructors,
: assignment overloading, pointers and destructors all serve valuable
: purposes, and that you cannot recognize this implies you have never
: tried.

Copy constructors and assignment overloading exist mainly because of
C's flaws (they are one of the hacks you have to resort to in
C++ to have truly generic template functions that need to use
assignment).  Pointers can be done without, and even if used
can be used in a much safer manner (see Ada for some prime
examples of this).  Constructors and destructors, while having
their uses, also have the dubious distinction of implicitly executing 
code (and when you get into inheritance, you get functions
invoked left and right propagating right up the chain).

The fact that you cannot recognize these problems means that your
experience in C and C++ is negligible.


: Step out of your shell; there *is* a world beyond LISP.  If you decide
: to go back to LISP after looking elsewhere, that's your business; I did
: something analogous with C++.  But at least taste what the alternatives
: have to offer, eh?

I've programmed in C and C++ for quite a few years.  C more than
C++ of course.  I've seen what's out there, from Basic to Pascal
to C to C++ to Forth to Perl to Haskell to Lisp to Prolog to Python
and so on.  I *KNOW* what's out there, and from your naive comments
I suspect you don't.


: I'll disregard the rest of your posting; it mostly contains pointless
: remarks apparently designed to reaffirm your own ego.

Oh you don't want to start a flame war, but you purposefully
snip out relevant text, hide information, and hurl snide
remarks?  Can you say two-faced?  In any case your posting stands
as both a testament to your trolling, and as a testament to your
lack of knowledge about that which you purport to speak of.


: Oh, and please listen to the man:

: >: Please send hate mail to me, rather than pollute the newsgroups with a
: >: language war.
: >: ·······@SolutionsIQ.com

: I make the same request.  I will continue this debate with those
: interested privately via email.  I would like to avoid spamming the
: language newsgroups *again*.  I just hate seeing hubris go by
: unanswered...

If you don't know the difference between dissenting opinion and
hate mail, then you have even more of my pity.  In any case you
may back out, but this post will remain.  I don't leave challenges
to my posts unanswered.  


: - -- 
: Graham Hughes (·············@resnet.ucsb.edu)
: http://A-abe.resnet.ucsb.edu/~graham/ -- MIME & PGP mail OK.
: "Never attribute to malice that which can be adequately explained by 
: 	stupidity." -- Hanlon's Razor

: -----BEGIN PGP SIGNATURE-----
: Version: 2.6.3
: Charset: noconv

: iQCVAwUBMvf3WiqNPSINiVE5AQFpvwP9EdbGhORVhCy1l8mkgPkueEN2CsZz1Zuw
: u6IhCqGCtkPyIJ+uVSCU/nJbiVJUnTcu3lBm8TIouEy39S0LknxcE3OaWngofw++
: E8fs1nzOfdP6Fm8QUEjEa3dVoP+z/AHBRphLlQ4tCNtugMfkvcCU0Q/l/ztjSLQi
: 3IvHe1qCeiM=
: =089x
: -----END PGP SIGNATURE-----

--
Cya,
Ahmed

Sneaking in the backdoor with dirty magazines,
So your mother wants to know what are all those stains on your jeans.
	"Orgasm Addict" by the Buzzcocks