C is a crappy

Article: MAQSIP-RT: An HPC Benchmark
By: gallier2 (gallier2.delete@this.gmx.de), July 2, 2010 12:14 am
Room: Moderated Discussions
Michael S (already5chosen@yahoo.com) on 7/1/10 wrote:
---------------------------
>Max (max@a.com) on 7/1/10 wrote:
>---------------------------
>>I didn't really "get" C until I had written a medium size (10K line) program in
>>assembly. At the end I realized that C would have been a better choice...more productive/maintainable,
>>2x larger size code (acceptable), and no material performance difference except for a few critical bits.
>>
>>C is pretty uncontroversial these days. It's hard to even get an argument started
>>since everyone has made their peace with it.
>>
>>Max
>>
>
>There are few bits in 'C' syntax that have absolutely no justification except of
>backward compatibility with [hopefully] very small subset of existing code base.
>They are:
>1. Legality of functions without prototypes.

Agreed, but warnings do mitigate that problem

>2. Legality of strange syntax constructs like 5[x]

It's not strange at all and is a consequence of the pure simplicity (and elegance) of the C pointer concept. The a[b] is only a syntactic variation of *(a+b) and by consequence of the comuutativity property of addition absolutely equivalent to *(b+a) thus also to b[a] . It's imho elegant and pragmatic to not add more code in the compiler to disallow that.

>3. Inconsistency w.r.t. comma-delimited lists. In some contexts (struct/array initialization)
>comma as a terminator is allowed (at least by all compilers I use) while in some
>other contexts (function parameters lists, both in call and in prototype) it is
>not. Not a big deal for human coders, but unnecessary annoyance for code generators.

I don't where the behaviour of the supplemental comma in initializers comes from but it is quite practical when editing. Initializers can sometimes be really big, function parameters are rarely, so it's not an issue when coding manually.

>
>Another syntax ugliness which, if fixed, would break a bit more code, but not that
>much is a requirement to define variables at the beginning of the block. gcc dialect already has it fixed.

ANSI C99 also. This said, from my experience it's not a big deal, lone declarations of variables in the code happen not that often and are not really a good idea in the first place and when it is a good idea to have some more local variables in a narrower scope, it happens that one can put a {} block around without hassle (it's almost always within a loop or an if/else construct, and adding a {} in a switch/case doesn't harm readability). YMMV

>
>And finally the biggest unnecessary problem, which, unfortunately, if fixed, will
>break a lot of legacy code, in particular in mixed C/ASM environments - type-safe
>link. In my book, omission of type safe link alone is big enough reason to never
>use 'C' if C++ is supported by your environment.
>
Never had a problem with that but I can imagine how it can be a problem.
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
New article online: MAQSIP RTDavid Kanter2010/06/21 11:57 AM
  Why no GCC?Rohit2010/06/22 09:25 PM
    Why no GCC?David Kanter2010/06/23 12:45 AM
      sun 's cc better than GCC?Rohit2010/06/23 05:04 AM
        sun 's cc better than GCC?anon2010/06/23 07:49 AM
          Where is the GCC optimization effort directed?Mark Roulo2010/06/23 10:42 AM
            GCC is very ugly bad everywhere in 64 bitsVincent Diepeveen2010/06/23 02:49 PM
              even for 64-bit arch?anon2010/06/23 02:59 PM
              GCC is very ugly bad everywhere in 64 bitsajensen2010/06/23 11:03 PM
                GCC is very ugly bad everywhere in 64 bitsGabriele Svelto2010/06/24 02:33 AM
                  GCC is very ugly bad everywhere in 64 bitsajensen2010/06/24 05:32 AM
                    GCC is very ugly bad everywhere in 64 bitsGabriele Svelto2010/06/24 07:18 AM
                      GCC is very ugly bad everywhere in 64 bitsajensen2010/06/24 09:50 AM
                        Why GCC is big and complicated (my guess)Mark Roulo2010/06/24 12:17 PM
                          Why GCC is big and complicated (my guess)Gabriele Svelto2010/06/28 04:00 AM
                GCC is very ugly bad everywhere in 64 bitsBernd Schmidt2010/06/24 05:46 AM
                  GCC is very ugly bad everywhere in 64 bitsajensen2010/06/24 09:43 AM
                  GCC is very ugly bad everywhere in 64 bitsVincent Diepeveen2010/06/26 02:12 PM
                GCC is very ugly bad everywhere in 64 bitsRob Thorpe2010/06/24 07:47 AM
                  GCC is very ugly bad everywhere in 64 bitsAnon2010/06/24 05:23 PM
            Where is the GCC optimization effort directed?Gabriele Svelto2010/06/23 10:45 PM
              Where is the GCC optimization effort directed??2010/06/24 01:48 AM
                Where is the GCC optimization effort directed?Gabriele Svelto2010/06/24 02:29 AM
                  Where is the GCC optimization effort directed??2010/06/24 03:13 AM
                    Where is the GCC optimization effort directed?Andi Kleen2010/06/24 03:15 AM
                      Where is the GCC optimization effort directed??2010/06/24 04:08 AM
                    Where is the GCC optimization effort directed?Gabriele Svelto2010/06/24 03:54 AM
                      Where is the GCC optimization effort directed??2010/06/24 04:15 AM
                        Where is the GCC optimization effort directed?Gabriele Svelto2010/06/24 07:22 AM
                Where is the GCC optimization effort directed?Rohit2010/06/24 03:04 AM
                  Placebo effect?2010/06/24 06:37 AM
                    Placebo effectRohit2010/06/24 08:45 AM
                    Placebo effectVincent Diepeveen2010/06/26 02:50 PM
                      Compile timeMark Roulo2010/06/26 05:28 PM
                        Compile timeRichard Cownie2010/06/27 04:44 AM
                          Compile timeMark Roulo2010/06/27 10:12 AM
                          Compile timeMark Roulo2010/06/27 10:21 AM
                            Compile timeEduardoS2010/06/27 11:37 AM
                            Compile timeRichard Cownie2010/06/27 04:07 PM
                              Compile time & efficiency?2010/06/28 12:03 AM
                                Compile time & efficiencyMark Christiansen2010/06/28 06:08 AM
                                Compile time & efficiencyLinus Torvalds2010/06/28 07:48 AM
                                  kernel programming languageJohn Simon2010/06/29 06:46 PM
                                Compile time & efficiencyRichard Cownie2010/06/28 09:29 AM
                                  Compile time & efficiencyLinus Torvalds2010/06/28 11:17 AM
                                    Compile time & efficiencyRichard Cownie2010/06/28 02:16 PM
                                      Compile time & efficiencyRichard Cownie2010/06/28 06:23 PM
                                        Compile time & efficiencyMark Roulo2010/06/29 08:31 AM
                                          Compile time & efficiencyRichard Cownie2010/06/29 11:48 AM
                                          Compile time & efficiencyrwessel2010/06/29 12:28 PM
                                            C is a crappydev2010/06/29 07:12 PM
                                              C is a crappy, but only when you push it out of it's nicheRohit2010/06/30 02:11 AM
                                              C is a crappyanon2010/06/30 02:17 AM
                                                C is a crappydev2010/06/30 07:59 AM
                                                  C is a crappyMax2010/07/01 04:30 AM
                                                    C is a crappyMichael S2010/07/01 07:00 AM
                                                      C is a crappyKonrad Schwarz2010/07/01 08:02 AM
                                                        C is a crappyMichael S2010/07/01 08:50 AM
                                                          C isn't so crappyanon2010/07/01 10:11 AM
                                                            C isn't so crappyMikael Tillenius2010/07/01 11:39 AM
                                                          C is a crappyKonrad Schwarz2010/07/01 11:22 AM
                                                          C is a crappyMax2010/07/02 08:44 AM
                                                            C is a crappyrwessel2010/07/02 12:33 PM
                                                              C is a crappyanon2010/07/02 01:17 PM
                                                              C is a crappyMax2010/07/02 02:56 PM
                                                                C is a crappyMax2010/07/02 03:13 PM
                                                                  C is a crappyrwessel2010/07/02 03:32 PM
                                                                    C is a crappyMax2010/07/02 04:19 PM
                                                                    C is a crappyGabriele Svelto2010/07/05 05:25 AM
                                                      C is a crappygallier22010/07/02 12:14 AM
                                                    C is a crappyIan Ollmann2010/07/06 03:07 PM
                                                      PortabilityMax2010/07/06 03:37 PM
                                                      C is a crappyhobold2010/07/07 02:31 AM
                                                        C is a crappyIan Ollmann2010/07/07 05:18 PM
                                                      failure to standardize typesCarlie Coats2010/07/07 04:11 AM
                                                      C is a crappyKonrad Schwarz2010/07/07 08:34 AM
                                                        C is a crappyIan Ollmann2010/07/07 05:29 PM
                                                          C is a crappy NOTKonrad Schwarz2010/07/08 12:29 AM
                                                  C is a crappyanon2010/07/01 10:40 PM
                                                    C type safety?2010/07/02 01:10 AM
                                                      C type safetyanon2010/07/02 11:02 PM
                                                    C is a crappydev2010/07/03 04:51 PM
                                                      C is a crappyanon2010/07/03 07:02 PM
                                                        C is a crappydev2010/07/05 07:27 AM
                                                          C is a crappy?2010/07/05 09:05 AM
                                                            C is a crappyanonymous2010/07/07 08:32 AM
                                                              C is a crappy?2010/07/07 10:48 PM
                                                              C is a crappyAnon2010/07/08 12:53 AM
                                                      C is a crappy and a crappie is a fishanonymous2010/07/03 07:24 PM
                                      Compile time & efficiencyMichael S2010/06/29 03:18 AM
                                        Compile time & efficiencyrwessel2010/06/29 12:20 PM
                                        Compile time & efficiencysomeone2010/06/30 11:03 AM
                                        Compile time & efficiencyJouni Osmala2010/07/02 05:29 AM
                                  Compile time & efficiencyMax2010/06/28 05:05 PM
                                    Compile time & efficiencyEduardoS2010/06/28 05:11 PM
                                    Compile time & efficiencyMichael S2010/06/29 03:33 AM
                              Compile timeFoo_2010/06/28 09:03 AM
          sun 's cc better than GCC?Silent2010/06/23 06:19 PM
            sun 's cc better than GCC?Foo_2010/06/23 07:06 PM
          sun 's cc better than GCC?Andi Kleen2010/06/24 02:49 AM
        sun 's versus gccVincent Diepeveen2010/06/23 03:07 PM
    Why no GCC?Carlie Coats2010/06/23 05:11 AM
Reply to this Topic
Name:
Email:
Topic:
Body: No Text
How do you spell avocado?