From: "Elias Salomão Helou Neto" <eshneto@gmail.com>
Subject: Re: Fun with C
Date: Mon, 18 Apr 2011 19:06:30 -0700 (PDT)
Date: 2011-04-18T19:06:30-07:00 [thread overview]
Message-ID: <2693b280-bbe2-45ea-8355-e96ccbc381f9@a26g2000vbo.googlegroups.com> (raw)
In-Reply-To: fff5bc7b-01b9-4ced-a958-299584db19dc@cu4g2000vbb.googlegroups.com
On Apr 18, 10:22 pm, "George P." <george.p...@gmail.com> wrote:
> On Apr 18, 3:24 pm, Elias Salomão Helou Neto <eshn...@gmail.com>
> wrote:
>
>
>
>
>
>
>
>
>
> > On Apr 17, 9:12 pm, "George P." <george.p...@gmail.com> wrote:
>
> > > On Apr 17, 3:35 pm, Elias Salomão Helou Neto <eshn...@gmail.com>
> > > wrote:
>
> > > > On Apr 17, 1:15 pm, KK6GM <mjsi...@scriptoriumdesigns.com> wrote:
>
> > > > > On Apr 16, 11:59 pm, Georg Bauhaus <rm.dash-bauh...@futureapps.de>
> > > > > wrote:
>
> > > > > > On 4/17/11 8:26 AM, KK6GM wrote:
>
> > > > > > > Wow and wow. I've been writing C all my adult life and I didn't
> > > > > > > realize this could or would happen. I would have said that the
> > > > > > > unsigned would be promoted to signed.
>
> > > > > > > I'm going to include this example in my push to use Ada in our next
> > > > > > > project.
>
> > > > > > Be careful that there are no C savvy people around.
> > > > > > You are demonstrating a lack of understanding of C basics!
> > > > > > ("Stupid!")
> > > > > > That lack is not (in their view, and it's their view that counts)
> > > > > > a good start for asking for a different language.
>
> > > > > > Had you read section 2.7 of K&R (or A.6), you'd have expected
> > > > > > the result you got: arithmetic operators will convert their
> > > > > > arguments following the rules of the C language definition.
>
> > > > > Yes, I understand how the "stupid" argument works in the C community.
> > > > > I'm going to ask some other programmers tomorrow and see how many of
> > > > > them get this right. I'm guessing our situation will be similar to
> > > > > the situation at the OP's workplace, where presumably competent
> > > > > programmers still got clobbered by this language-legal insanity.
>
> > > > Most programmers are competent in their views. Few really are and it
> > > > does not matter what is the actual language. For example, looks like
> > > > you feel you are competent in C, but are you?
>
> > > > "I would expect unsigned to int conversion" is just unacceptable!
> > > > Someone has written a line of code without knowing what it does. Is it
> > > > a language problem? Not that C is spectacular, but blaming the
> > > > language here is not fair. Minimally competent C programmers do know
> > > > about such conversions. If you don't you suck as a C programmer. If
> > > > you suck as a C programmer, please do not try to advocate any other
> > > > language over it, this _is_ stupid!
>
> > > > Maybe Ada over C is a smart choice, but advocating it without having a
> > > > strong knowledge of both is unacceptable.- Hide quoted text -
>
> > > > - Show quoted text -
>
> > > Seems that someone never worked on projects of more then few thousand
> > > lines of code, supports multiple hardware platforms and yes after
> > > programming for 30+ years in it can tell C sucks.
>
> > > Wonder if sudden acceleration in Toyota cars was not caused by
> > > "intuitive" C typing conversions.
>
> > Now you're making hypothesis. I don't even know the problem the, less
> > so the language of the code, but rest assured that it was a
> > programmer's fault. Or a compiler bug. One thing that can't be the
> > cause is the language. Maybe lack of knowledge of it, but not the
> > language per se.
>
> > And nobody said type promotion rules in C are intuitive. They are what
> > they are, they won't change, is it smart to keep complaining instead
> > of go read a book?
>
> > You say C sucks, ok it is an opinion. I would say someone who doesn't
> > know type promotion rules and considers himself competent in C sucks
> > far more.
>
> > Elias.- Hide quoted text -
>
> > - Show quoted text -
>
> Oh really? So C is the language of cyborgs that never have bad days,
> never argue with their girlfriends and never go late night drinking?
> And sure none of such people should be allowed to design embedded
> systems :-)
No, not cyborgs, it is the language of nerds. They don't drink and
about girlfriends, you've gotta be kidding! Also all of their days are
bad, so they're used to it.
:-)
Now, seriously, what I meant is that bashing C without knowing the
basics doesn't make anyone look smart. It is quite the opposite. And I
repeat, whining is not the way to go here. Yes, C is dangerous, unsafe
and difficult to master, but let us be men and use it well if
required.
I believe making assumptions about language behavior is danger. There
are historical reasons why C is the way it is. Some of them were
wrong, now we know, but it won't change - mainly because of the huge
codebase. So, let's have fun with C, why not? I have fun with C, C++,
TeX, Lisp, Pascal, Matlab, etc. Right now I am trying to find time to
study Ada - more fun! I am sure I will share you guys' view about how
Ada is good and safe, but it is really unlikely that I am going to
become such a sissy and fill this newsgroups with foolish complaints.
And as a side note, even sober, I have recently written a heavily
templated C++ ray tracer which I instantiated with unsigneds as
indices and signeds as difference types. There was a mixed expression
that gave me some trouble, and I do understand the problem people
mention in this thread. What I do not understand is how people can
show pride in not knowing the language! And I can't see me whining
that much because of something that won't (because it can't) change -
the C language.
next prev parent reply other threads:[~2011-04-19 2:06 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-16 17:02 Fun with C George P.
2011-04-16 20:04 ` Nasser M. Abbasi
2011-04-16 21:12 ` Ludovic Brenta
2011-04-16 21:42 ` jimmaureenrogers
2011-04-17 7:17 ` Georg Bauhaus
2011-04-17 8:29 ` Martin
2011-04-17 18:19 ` George P.
2011-04-17 8:40 ` Georg Bauhaus
2011-04-18 1:04 ` Peter C. Chapin
2011-04-18 2:14 ` George P.
2011-04-16 22:03 ` George P.
2011-04-17 6:26 ` KK6GM
2011-04-17 6:59 ` Georg Bauhaus
2011-04-17 16:15 ` KK6GM
2011-04-17 19:35 ` Elias Salomão Helou Neto
2011-04-17 20:18 ` KK6GM
2011-04-18 19:47 ` Elias Salomão Helou Neto
2011-04-18 22:11 ` Peter C. Chapin
2011-04-17 22:26 ` Georg Bauhaus
2011-04-18 19:12 ` Elias Salomão Helou Neto
2011-04-18 20:56 ` KK6GM
2011-04-18 21:01 ` Georg Bauhaus
2011-04-18 21:20 ` Nasser M. Abbasi
2011-04-19 2:43 ` George P.
2011-04-19 18:05 ` Vinzent Hoefler
2011-04-19 19:34 ` George P.
2011-04-19 20:08 ` Georg Bauhaus
2011-04-19 1:10 ` Elias Salomão Helou Neto
2011-04-19 14:28 ` Georg Bauhaus
2011-04-19 17:40 ` Jeffrey Carter
2011-04-21 14:52 ` Elias Salomão Helou Neto
2011-04-21 18:58 ` Georg Bauhaus
2011-04-21 19:27 ` Hyman Rosen
2011-04-28 5:13 ` David Thompson
2011-04-28 13:41 ` Hyman Rosen
2011-05-05 8:39 ` David Thompson
2011-04-25 11:06 ` Paul Colin Gloster
2011-04-25 11:00 ` Georg Bauhaus
2011-04-25 12:12 ` Martin
2011-04-25 18:39 ` Paul Colin Gloster
2011-05-08 23:41 ` wilso
2011-05-20 10:41 ` Yannick Duchêne (Hibou57)
2011-05-20 16:04 ` Yannick Duchêne (Hibou57)
2011-04-18 0:12 ` George P.
2011-04-18 19:24 ` Elias Salomão Helou Neto
2011-04-19 1:22 ` George P.
2011-04-19 2:06 ` Elias Salomão Helou Neto [this message]
2011-04-19 2:37 ` Bill Findlay
2011-04-19 3:00 ` George P.
2011-04-17 19:19 ` Elias Salomão Helou Neto
2011-04-17 23:26 ` Gautier write-only
2011-04-17 23:43 ` Nasser M. Abbasi
2011-04-18 19:16 ` Elias Salomão Helou Neto
2011-04-18 23:10 ` Randy Brukardt
2011-04-19 1:36 ` Elias Salomão Helou Neto
2011-04-20 23:14 ` Randy Brukardt
2011-04-21 16:19 ` Elias Salomão Helou Neto
2011-04-21 17:36 ` Dmitry A. Kazakov
2011-04-21 17:43 ` Hyman Rosen
2011-04-21 19:44 ` Dmitry A. Kazakov
2011-04-22 6:16 ` Elias Salomão Helou Neto
2011-04-22 9:21 ` Dmitry A. Kazakov
2011-04-22 13:18 ` Hyman Rosen
2011-04-22 15:17 ` Dmitry A. Kazakov
2011-04-23 2:08 ` Elias Salomão Helou Neto
2011-04-23 7:23 ` Dmitry A. Kazakov
2011-04-23 9:42 ` Georg Bauhaus
2011-04-23 10:23 ` Dmitry A. Kazakov
2011-04-23 18:37 ` Elias Salomão Helou Neto
2011-04-23 21:36 ` Dmitry A. Kazakov
2011-04-24 11:27 ` Peter C. Chapin
2011-04-24 13:53 ` Dmitry A. Kazakov
2011-04-24 19:07 ` Nasser M. Abbasi
2011-04-24 19:46 ` Dmitry A. Kazakov
2011-04-24 21:20 ` Nasser M. Abbasi
2011-04-24 22:33 ` Elias Salomão Helou Neto
2011-04-25 7:09 ` Dmitry A. Kazakov
2011-04-25 20:46 ` Maciej Sobczak
2011-04-25 21:19 ` George P.
2011-04-26 6:18 ` Dmitry A. Kazakov
2011-04-26 6:58 ` Nasser M. Abbasi
2011-04-26 8:39 ` Dmitry A. Kazakov
2011-04-26 20:57 ` Maciej Sobczak
2011-04-27 8:00 ` Dmitry A. Kazakov
2011-04-27 8:19 ` Georg Bauhaus
2011-04-27 9:32 ` Dmitry A. Kazakov
2011-04-28 7:02 ` Maciej Sobczak
2011-04-28 7:41 ` Dmitry A. Kazakov
2011-04-28 10:24 ` Peter C. Chapin
2011-04-28 13:56 ` Dmitry A. Kazakov
2011-05-03 1:19 ` Nasser M. Abbasi
2011-05-03 6:05 ` J-P. Rosen
2011-05-03 6:15 ` Ludovic Brenta
2011-05-03 7:43 ` Dmitry A. Kazakov
2011-05-03 15:34 ` Bill Findlay
2011-05-03 7:53 ` Georg Bauhaus
2011-05-03 9:29 ` Simon Wright
2011-04-24 22:23 ` Elias Salomão Helou Neto
2011-04-25 7:10 ` Dmitry A. Kazakov
2011-04-24 20:37 ` Georg Bauhaus
2011-04-23 15:23 ` George P.
2011-04-23 17:28 ` Nasser M. Abbasi
2011-04-23 17:52 ` Dmitry A. Kazakov
2011-04-23 18:11 ` Nasser M. Abbasi
2011-04-23 20:47 ` George P.
2011-04-24 11:36 ` Peter C. Chapin
2011-04-25 11:43 ` Paul Colin Gloster
2011-04-23 16:56 ` Nasser M. Abbasi
2011-04-23 18:45 ` Elias Salomão Helou Neto
2011-04-22 12:15 ` J-P. Rosen
2011-04-22 14:56 ` Niklas Holsti
2011-04-21 23:29 ` Randy Brukardt
2011-04-22 6:29 ` Elias Salomão Helou Neto
2011-04-25 11:22 ` Paul Colin Gloster
2011-04-18 19:13 ` Elias Salomão Helou Neto
2011-04-20 5:11 ` J-P. Rosen
2011-04-20 15:45 ` KK6GM
2011-04-20 19:04 ` Vinzent Hoefler
2011-04-20 21:09 ` Georg Bauhaus
2011-04-20 22:52 ` Vinzent Hoefler
2011-04-21 14:18 ` Elias Salomão Helou Neto
2011-04-21 16:22 ` Vinzent Hoefler
2011-04-21 19:25 ` John B. Matthews
2011-04-23 23:07 ` Gerd
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox