comp.lang.ada
 help / color / mirror / Atom feed
From: steve <steve@seasoned-software.com>
To: James Giles <jamesgiles@worldnet.att.net>
Subject: Re: Which language pays most 17457 -- C++ vs. Java?
Date: 1997/12/17
Date: 1997-12-17T00:00:00+00:00	[thread overview]
Message-ID: <3498B5A6.C404C703@seasoned-software.com> (raw)
In-Reply-To: 67comb$94o@bgtnsc03.worldnet.att.net

[-- Attachment #1: Type: text/plain, Size: 5624 bytes --]



James Giles wrote:

> It's not a requirement, but C as a first language often teaches
> quite bad habits and ideas.  I mention three examples below,
> but these are the tip of the Iceburg.  These are merely things
> that I've recently (within the past few weeks) had to explain
> to someone because s/he was not getting the results or
> the speed s/he expected.  Over the years I've noticed that
> the quality of programs (and the quantity and quality of
> errors made) are all worse if the programmer's first language
> was C.  This applies to nearly all aspects of programming,
> from simple character manipulation to sophisticated data
> structures and from easy algorithms to large-scale programs.

I DOUBT this was because C taught them bad habits.

> I was horrified to learn just recently that many textbooks (and
> courses) for beginning C programmers still teach the use of
> gets().  This is a function that, if you mention it to beginners
> at all, you tell them *not* to use it under any circumstances.
> Use fgets() instead, so that you can tell the I/O library how
> large your buffer is and it can prevent it from being overrun.
> (Better yet, use fread() instead and scan for the record mark
> yourself, since fgets() doesn't inform you if you've only
> read a partial record.)  Just in case you think this is only
> a naive beginner's problem, there was a LINUX security
> problem because of exacly this sort of error (an overrun of
> a buffer - though I don't think it was gets() that was used).
> Bad habits and misconceptions resurface even in the code
> of 'gurus' who have presumably learned better -  but lapse
> sometimes.

ACTUALLY, Linux itself, and many programs, are SYSTEMS code!  Some
features can't or shouldn't be used, and it is ALWAYS more prone to
errors.  It surprises me how well Linux generally runs, and rarely
crashes!

> Many C programmers think that a (float ***) is the same
> thing as a multidimensional array - it isn't.  In most
> environments the resulting pointer-to-pointer-to---to float
> is much less efficient than an array and can lead to serious
> and difficult to find errors if you actually manipulate the
> pointers themselves a lot.  I just corresponded with
> someone who was complaining that Fortran couldn't
> remap arrays with pointer-to-pointer... mechanisms
> like C does.  I pointed out that Fortran has more
> efficient ways to reshape arrays (as does C) and that
> he shouldn't be using pointers so much anyway.

You don't do things like this until absolutely necessary.  I think there
is only ONE program I have done this with, and that is because it had to
interface with ANOTHER one that did the same(a run time interface).  NO,
it WASN'T LINUX!

> Indeed, C users tend to vastly overuse pointers in a lot of
> contexts.  If I mention to a group of programmers that I'm
> going to implement a given data set as a list, only the C
> programmers in the group tend to uniformly assume I'm
> going to use a linked list and pointers.  This is in spite of
> the fact that linked lists are almost always the *least*
> efficient way of implementing a list - and are more error
> prone as well.

This is because of the ones you talk to.  Maybe they all went to the
same class! 8-)

> There are actually an enormous number of things of this kind.
> I'm of the opinion that programming with good style can be
> taught regardless of the language used.  But it seems to me
> that C makes this more difficult and the issues involved aren't
> well addressed by the way C usually gets taught.  The above
> misconceptions are something that the C programmer will
> have to unlearn sometime in his(her) career.  This is true
> of a number of other C-isms that are quite common.  It'd
> be better for new programmers not to learn these false
> ideas in the first place.  Languages which tend not to induce
> bad habits (and were designed with teaching in mind) like
> Turing and Pascal would be better first languages (you
> can get bad habits from those as well - but fewer and easier
> to remedy).

To tell you the truth, I only use pointers:

When the amount of data can vary, and is large(if it is only a few dozen
items(maybe a few hundred), I use an array).
When the structure is unknown.
To pass info to/from a function.
When it will make things faster, and I need the speed.

I have converted some programs to DBL(a fortran like language), COBOL,
and C,. and all three look similar.  The C version isn't overrun with
pointers.  Then again, C was like the 9th language I learned.  Sadly, I
have forgotten most of the others. 8-(

> This brings to mind another C-ism (or, it seems to be a C
> programmer's position more than anyone else's): they tend
> not to learn any other languages (except C++ and other C
> derived languages).

I haven't seen that!  HECK, some WRITE new languages.

I have seen the situation you describe more with COBOL than anything
else!

> Indeed, they often come up with the
> most bizarre rationalizations for not bothering to learn other
> languages.  I think that C is so hard to learn to use *well*
> that most C programmers assume that the same is true for
> all other programming languages.

How many C programmers learned ONLY C?  I doubt that it is very many.

>  They, quite naturally,
> hesitate to embark on that path.  Instead they learn all
> the convenient (and usually false) criticisms of the other
> languages.
>
> Is any of this really relevant to comp.lang.(fortran, cobol,
> smalltalk, or ada)?

Probably NOT, but there IS a nice debate on C v. COBOL in the cobol
group! 8-(

>
>
> --
> J. Giles
> Ricercar Software



[-- Attachment #2: Card for steve --]
[-- Type: text/x-vcard, Size: 265 bytes --]

begin:          vcard
fn:             steve
n:              ;steve
org:            SEASONED SOFTWARE
email;internet: steve@seasoned-software.com
note:           notes would be here!
x-mozilla-cpt:  ;0
x-mozilla-html: TRUE
version:        2.1
end:            vcard


  reply	other threads:[~1997-12-17  0:00 UTC|newest]

Thread overview: 245+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <199712121931.LAA25389@sirius.infonex.com>
1997-12-12  0:00 ` Which language pays most 17457 -- C++ vs. Java? Roedy Green
1997-12-17  0:00   ` Wes Groleau
1997-12-16  0:00     ` steve
1997-12-18  0:00       ` Alicia Carla Longstreet
1997-12-17  0:00         ` steve
1997-12-19  0:00           ` Larry Elmore
1997-12-19  0:00             ` James Giles
     [not found]         ` <01bd0c0b$53cc1860$26db45cf@juddesk>
1997-12-17  0:00           ` steve
1997-12-18  0:00           ` Peter Seebach
1997-12-17  0:00             ` steve
1997-12-19  0:00               ` Kaz Kylheku
1997-12-17  0:00                 ` steve
1997-12-22  0:00               ` Lawrence Kirby
1997-12-21  0:00                 ` steve
1997-12-28  0:00                   ` Lawrence Kirby
1997-12-18  0:00             ` James Giles
1997-12-17  0:00               ` steve [this message]
1997-12-19  0:00                 ` James Giles
1997-12-18  0:00                   ` steve
1997-12-19  0:00                     ` James Giles
1997-12-18  0:00                       ` steve
1997-12-19  0:00                         ` James Giles
1997-12-22  0:00                       ` Lawrence Kirby
1997-12-21  0:00                         ` James Giles
1997-12-21  0:00                           ` steve
1997-12-30  0:00                             ` Chris Gray
1997-12-28  0:00                           ` Lawrence Kirby
1997-12-28  0:00                             ` John Winters
1997-12-30  0:00                             ` paulr
1997-12-31  0:00                               ` Which language pays most " arnie sherman
1997-12-30  0:00                                 ` Dann Corbit
1997-12-31  0:00                                 ` John Slaman
     [not found]                                   ` <01bd198f$4050d960$68c8b5cc@dhite.unicomp.net>
1998-01-06  0:00                                     ` Jedi
1998-01-10  0:00                                     ` Highlander Consulting
1998-01-11  0:00                                       ` Patricia Shanahan
1998-01-11  0:00                                         ` Barrabazz
1998-01-11  0:00                                           ` Patricia Shanahan
1998-01-12  0:00                                           ` Ron Peterson
1998-01-14  0:00                                             ` anonymous
1998-01-19  0:00                                               ` Joe Gwinn
     [not found]                                                 ` <01bd2526$66b70fa0$d6d945cf@juddesk>
1998-01-23  0:00                                                   ` dnns
1998-01-23  0:00                                                     ` Philosophers Nick Roberts
1998-01-23  0:00                                                       ` Spam--> was:Re: Philosophers Dann Corbit
1998-01-24  0:00                                                         ` Nick Roberts
1998-01-26  0:00                                                           ` Doug Miller
1998-01-24  0:00                                                       ` Philosophers Mike Whiten
1998-01-24  0:00                                                         ` Philosophers The Goobers
1998-01-25  0:00                                                           ` Philosophers Arnold Trembley
1998-01-25  0:00                                                             ` Philosophers The Goobers
1998-01-26  0:00                                                           ` :-) Philosophers Giovanni Drogo [drogo@rn.bastiani.it]
1998-01-29  0:00                                                           ` Philosophers Steve Dekorte
1998-01-29  0:00                                                             ` Philosophers The Goobers
1998-01-24  0:00                                                       ` Philosophers John G.
     [not found]                                                         ` <Pine.LNX.3.95. <34cd2808.10685219@newsroom.tassie.net.au>
1998-01-28  0:00                                                           ` Philosophers docdwarf
     [not found]                                                             ` <01bd2c40$b62837a0$7261b693@HP5079Q>
1998-01-28  0:00                                                               ` Philosophers The Goobers
1998-02-01  0:00                                                                 ` Philosophers Scott Adams
     [not found]                                                                 ` <01bd2cc0$f0042b70$7261b693@HP5079Q>
1998-02-04  0:00                                                                   ` Philosophers The Goobers
1998-02-10  0:00                                                                 ` Back to the topic of CS students. (was Re: Philosophers) cyanide
1998-02-10  0:00                                                                   ` Nick Roberts
1998-01-30  0:00                                                             ` Philosophers jim
1998-01-30  0:00                                                               ` Philosophers Samuel Mize
1998-01-30  0:00                                                               ` Philosophers docdwarf
1998-01-30  0:00                                                                 ` Philosophers suzie
1998-01-30  0:00                                                                   ` Philosophers docdwarf
1998-01-31  0:00                                                                 ` Philosophers Martin Richardson
1998-01-31  0:00                                                                   ` Philosophers Jeff York
1998-02-01  0:00                                                                     ` Philosophers Martin Richardson
1998-02-02  0:00                                                                       ` Philosophers Pat O'Connell
1998-02-02  0:00                                                                       ` Philosophers Eddie Armstrong
1998-02-03  0:00                                                                         ` Philosophers Nyk Tarr
1998-02-02  0:00                                                                       ` Philosophers Jeff York
1998-02-02  0:00                                                                     ` Philosophers Robert Garskof
1998-02-02  0:00                                                                       ` Philosophers Dave Tholen
1998-02-10  0:00                                                             ` Philosophers cyanide
1998-02-09  0:00                                                               ` Philosophers The Goobers
1998-02-18  0:00                                                             ` Philosophers Mad Hamish
1999-07-29  0:00                                                         ` Philosophers firewind
1998-01-24  0:00                                                           ` Philosophers John G.
1998-02-10  0:00                                                             ` Drifting further off topic cyanide
1998-01-25  0:00                                                           ` Philosophers Jens Schweikhardt
1998-01-28  0:00                                                           ` Philosophers Mad Hamish
1998-01-27  0:00                                                             ` Philosophers Kurt Wall
1998-01-27  0:00                                                     ` Which language pays most -- C++ vs. Java? Robert Garskof
1998-01-28  0:00                                                 ` Steve Dekorte
1998-01-28  0:00                                                   ` Barrabazz
1998-01-28  0:00                                                     ` dogmat
1998-01-29  0:00                                                       ` Joe Gwinn
1998-01-29  0:00                                                         ` Wayne L. Beavers
1998-01-29  0:00                                                           ` Frank A. Adrian
1998-02-03  0:00                                                           ` GLE
1998-02-03  0:00                                                             ` Harold Stevens ** PLEASE SEE SIG **
1998-02-03  0:00                                                             ` The Goobers
1998-01-29  0:00                                                         ` coryb
1998-01-30  0:00                                                         ` Robert S. White
1998-01-30  0:00                                                           ` Patricia Shanahan
1998-01-31  0:00                                                           ` Paul Van Bellinghen
1998-02-01  0:00                                                             ` Nick Roberts
1998-02-09  0:00                                                         ` cyanide
1998-02-10  0:00                                                           ` Bill Lynch
1998-02-10  0:00                                                             ` Michael Rot13 Klein
1998-02-10  0:00                                                             ` Jeff Knaggs
1998-02-10  0:00                                                           ` dogmat
1998-01-29  0:00                                                       ` Tim Oxler
1998-01-29  0:00                                                       ` Tim Oxler
1998-02-09  0:00                                                       ` cyanide
1998-02-10  0:00                                                         ` dogmat
1999-07-29  0:00                                                       ` Edwin Purvee
     [not found]                                                     ` <01bd2c3c$6726d520$8101b8c7@MIS-RKW95.spartan.com>
1998-02-10  0:00                                                       ` Steve Dekorte
1998-02-10  0:00                                                         ` Bill Lynch
1998-02-11  0:00                                                         ` dogmat
1998-01-29  0:00                                                   ` Joe Gwinn
1998-01-31  0:00                                                 ` Larry Wiggins
1999-07-29  0:00                                                   ` Ben Pfaff
1999-07-29  0:00                                                     ` Kaz Kylheku
1998-02-02  0:00                                                 ` This thread has drifted miles from its subject line Wes Groleau
     [not found]                                                 ` <6alu5l$onm$1@owl.slip <01bd2c3c$6726d520$8101b8c7@MIS-RKW95.spartan.com>
1998-02-02  0:00                                                   ` Which language pays most -- C++ vs. Java? Kaz Kylheku
1998-02-02  0:00                                                     ` Michael C. Kasten
     [not found]                                                 ` <6alu5l$ <34D6243C.2A53@gc057.fw.hac.com>
1998-02-05  0:00                                                   ` This thread has drifted miles from its subject line Paul Osborn
     [not found]                                                 ` <6alu5l$onm$1@owl.slip <34E0D798.E29D6CA0@cableol.co.uk>
1998-02-11  0:00                                                   ` Which language pays most -- C++ vs. Java? Kaz Kylheku
     [not found]                                               ` <gwinn-1901981219520001@dh5055142. <01bd284c$4b0b4fe0$c0f682c1@xhv46.dial.pipex.com>
1998-01-24  0:00                                                 ` Philosophers Kaz Kylheku
     [not found]                                               ` <gwinn-1901981219520001@dh5055142. <34CE059C.634DE881@snet.com>
1998-01-27  0:00                                                 ` Which language pays most -- C++ vs. Java? Kaz Kylheku
1998-01-28  0:00                                                   ` Robert Garskof
     [not found]                                               ` <gwinn-1901981219520001@dh5055142. <34C9F3D0.6B5A@erols.com>
1998-01-28  0:00                                                 ` Philosophers Warren B. Focke
1998-01-29  0:00                                                   ` Philosophers The Goobers
1998-02-05  0:00                                                     ` Philosophers Warren B. Focke
1998-02-05  0:00                                                       ` Philosophers The Goobers
1998-02-06  0:00                                                         ` Philosophers dogmat
1998-02-06  0:00                                                           ` Philosophers docdwarf
1998-02-06  0:00                                                             ` Philosophers dogmat
1998-02-06  0:00                                                               ` Philosophers docdwarf
1998-02-06  0:00                                                       ` Philosophers Harold Stevens ** PLEASE SEE SIG **
1998-02-10  0:00                                                         ` Film "Contact" Nick Roberts
1998-02-09  0:00                                             ` Which language pays most -- C++ vs. Java? cyanide
1998-01-11  0:00                                       ` Kaz Kylheku
1998-01-11  0:00                                         ` Carsten Arnholm
1998-01-15  0:00                                         ` Highlander Consulting
1998-01-16  0:00                                         ` Charles F Hankel
1999-08-09  0:00                                         ` Paul Groves
1999-08-09  0:00                                           ` Kaz Kylheku
1998-01-02  0:00                                 ` Philip Hunt
1997-12-31  0:00                             ` Which language pays most 17457 " Guillermo Schwarz
1997-12-31  0:00                               ` Billy Chambless
1998-01-03  0:00                                 ` Berna L Massingill
1998-01-04  0:00                               ` Lawrence Kirby
1997-12-19  0:00                   ` Peter Seebach
1997-12-19  0:00                     ` James Giles
1997-12-18  0:00                       ` steve
1997-12-23  0:00                       ` Guillermo Schwarz
1997-12-18  0:00         ` John Seitz
1997-12-18  0:00           ` Robert Robbins
1997-12-19  0:00             ` Mark Wilden
1997-12-19  0:00           ` Ian Upright
1997-12-19  0:00             ` William Murray
1997-12-19  0:00               ` steve
1997-12-20  0:00               ` Robert Munck
1997-12-19  0:00         ` Chip Ling
1997-12-17  0:00     ` James Giles
     [not found] ` <349793cb.33600861@news.wxs.nl>
     [not found]   ` <34923264.75B5@netup.cl>
     [not found]     ` <670qio$8a$1@sparcserver.lrz-muenchen.de>
     [not found]       ` <3494B7DA.5463@ici.net>
     [not found]         ` <34958D16.190C@gsg.eds.com>
     [not found]           ` <679807$8gm@ws1.emirates.net.ae>
     [not found]             ` <e9k976.8h3.ln@localhost>
1997-12-18  0:00               ` Klaus-Georg Adams
     [not found]               ` <67bjnv$j35$1@brie.direct.ca>
     [not found]                 ` <349B0417.D4DB6A30@its.cl>
1997-12-20  0:00                   ` Kaz Kylheku
1997-12-20  0:00                     ` William J. Leary Jr.
1997-12-20  0:00                       ` Kurt Watzka
1997-12-20  0:00                         ` William J. Leary Jr.
1997-12-21  0:00                           ` Peter Seebach
1997-12-21  0:00                       ` Peter Seebach
1997-12-21  0:00                         ` William J. Leary Jr.
1997-12-22  0:00                           ` Peter Seebach
1997-12-22  0:00                         ` Lawrence Kirby
1997-12-22  0:00                           ` Kaz Kylheku
1997-12-22  0:00                           ` Kurt Watzka
1997-12-28  0:00                             ` Lawrence Kirby
1997-12-24  0:00                           ` John Porter
1997-12-24  0:00                             ` Kaz Kylheku
1997-12-27  0:00                               ` Which language pays most? Smalltalk, not C++ nor Java Guillermo Schwarz
1997-12-27  0:00                                 ` Robert Dewar
1997-12-29  0:00                                   ` John Porter
1997-12-29  0:00                                     ` Robert Dewar
     [not found]                                       ` <01bd14b4$dc6f6a80$6428b4cf@carla.ici.net>
1997-12-29  0:00                                         ` Robert Dewar
1997-12-30  0:00                                           ` Billy Chambless
1997-12-31  0:00                                         ` David Thornley
1997-12-31  0:00                                           ` Keith G. Murphy
1998-01-01  0:00                                           ` Robert Dewar
1998-01-01  0:00                                             ` Patricia Shanahan
1998-01-02  0:00                                               ` Robert Dewar
1998-01-02  0:00                                                 ` Peter Seebach
1998-01-02  0:00                                                   ` firewind
1998-01-02  0:00                                                     ` Ian Piumarta
1998-01-03  0:00                                                     ` Richard Kenner
1998-01-02  0:00                                                   ` Robert Dewar
1998-01-02  0:00                                           ` Shelly Mujtaba
1998-01-02  0:00                                             ` Guillermo Schwarz
1998-01-03  0:00                                               ` Jacqueline U. Robertson
1998-01-03  0:00                                               ` Dean Roddey
1998-01-03  0:00                                                 ` Jacqueline U. Robertson
1998-01-03  0:00                                                   ` Dean Roddey
1998-01-05  0:00                                                     ` Guillermo Schwarz
1998-01-05  0:00                                                       ` Kaz Kylheku
1998-01-03  0:00                                         ` Lawrence Kirby
1997-12-29  0:00                                     ` Kaz Kylheku
1997-12-29  0:00                                     ` Lawrence Kirby
1997-12-29  0:00                                     ` Patricia Shanahan
     [not found]                                     ` <01bd147e$11496760$6a28b4cf@carla.ici.net>
1997-12-29  0:00                                       ` Billy Chambless
1997-12-30  0:00                                       ` Jeffrey Templon
1997-12-30  0:00                                         ` Patricia Shanahan
1997-12-30  0:00                                           ` Charles R Martin
1998-01-03  0:00                                       ` Lawrence Kirby
1998-01-28  0:00                                     ` SmallTalk Execute files Thaminda Erangane Perera
1998-01-28  0:00                                       ` Dann Corbit
1998-01-29  0:00                                         ` Griff Lewis
1997-12-27  0:00                                 ` Which language pays most? Smalltalk, not C++ nor Java Joshua Waxman
1997-12-27  0:00                                 ` Patricia Shanahan
1997-12-28  0:00                                 ` Kurt Watzka
1997-12-29  0:00                                   ` Kaz Kylheku
1997-12-29  0:00                                   ` Guillermo Schwarz
1997-12-29  0:00                                     ` Kaz Kylheku
1997-12-30  0:00                                     ` Joshua Waxman
1997-12-30  0:00                                       ` Robert Dewar
1997-12-30  0:00                                         ` Kaz Kylheku
1997-12-30  0:00                                       ` Kaz Kylheku
1997-12-30  0:00                                         ` Robert Dewar
1997-12-30  0:00                                           ` Dann Corbit
1997-12-31  0:00                                             ` David Thornley
1997-12-31  0:00                                               ` Robert Dewar
1997-12-31  0:00                                             ` John Porter
1997-12-31  0:00                                               ` Jon S Anthony
1998-01-02  0:00                                                 ` Robert Dewar
1997-12-30  0:00                                         ` Joshua Waxman
1997-12-30  0:00                                       ` firewind
1997-12-30  0:00                                         ` Joshua Waxman
1997-12-31  0:00                                           ` Robert Dewar
1997-12-31  0:00                                         ` Brock
1997-12-31  0:00                                           ` Joshua Waxman
1997-12-31  0:00                                           ` Dann Corbit
1998-01-01  0:00                                           ` firewind
1997-12-30  0:00                                     ` Billy Chambless
1997-12-30  0:00                                     ` Lawrence Kirby
1997-12-30  0:00                                       ` Patricia Shanahan
1998-01-03  0:00                                         ` Lawrence Kirby
1998-01-03  0:00                                           ` Patricia Shanahan
1997-12-30  0:00                                     ` Kaz Kylheku
1997-12-29  0:00                                 ` Kaz Kylheku
1998-01-02  0:00                                 ` Tor Iver Wilhelmsen
1997-12-25  0:00                             ` Which language pays most 17457 -- C++ vs. Java? Kurt Watzka
1997-12-19  0:00 ` Quowong P Liu
1997-12-19  0:00   ` William J. Leary Jr.
1997-12-24  0:00   ` Richard D Riehle
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox