C popularity

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Bob Nelson

    C popularity

    Some postings in this newsgroup over the past few months have questioned the
    popularity of the C programming language.

    For what it's worth, the ``Reader's Choice Awards 2008'' from _Linux
    Journal_ shows that C was voted the favorite programming language, slightly
    ahead of both C++ and Java:



    My experience on the Linux platform is that C is still widely used, not just
    in the kernel and device drivers but also in userland, too.
  • Chris McDonald

    #2
    Re: C popularity

    Bob Nelson <bnelson@nelson be.comwrites:
    >Some postings in this newsgroup over the past few months have questioned the
    >popularity of the C programming language.
    Yes, popularity of a programming language means many different things
    to many different people. Those unaware of it may be interested in the
    monthly TIOBE Programming Community Index:



    --
    Chris.

    Comment

    • cr88192

      #3
      Re: C popularity


      "Chris McDonald" <chris@csse.uwa .edu.auwrote in message
      news:fvebbi$iru $1@enyo.uwa.edu .au...
      Bob Nelson <bnelson@nelson be.comwrites:
      >
      >>Some postings in this newsgroup over the past few months have questioned
      >>the
      >>popularity of the C programming language.
      >
      Yes, popularity of a programming language means many different things
      to many different people. Those unaware of it may be interested in the
      monthly TIOBE Programming Community Index:
      >

      >
      C is by no means an "unpolular" language, or relegated to the lands of
      "embedded systems" and "device drivers" as some people seem to imply.

      now, it is by no means an unchallenged emporor, nor is it some
      long-forgotten prince either...


      here are my current views:

      AFAIK, C, C++, and Java are the top languages for most general software
      development at this point in time.

      AFAIK, C is dominant on Linux and in opensource land, C++ is dominant in
      windows land, and Java is dominant, somewhere (I know somewhere or another a
      lot is going on in Java, but IME it is a little like a phantom, so often
      heard about but not as often seen...).

      C has a lot of good points IMO, and I think is fairly likely to stay around
      (for what it does well, it does very well, and its detractors tend to be
      more pedantic than pragmatic...).

      C++ has a lot of good points, but a few detractors as well, and I suspect is
      inclined to lose a lot more popularity than it will gain (its "high level"
      and "object oriented" claims to fame have largely transferred to newer
      languages such as Java and C#, wheras when lumped in with C, a few of its
      detractors show as well, none the less it is still fairly well established
      so it will not likely go anywhere soon).

      Java, has a few good points and a few detractors (but rather different ones
      than C++). why it has done this well is a little curious to me personally,
      but is not inconcievable (it has a few ugly spots and annoyances, but is by
      no means terrible as a language, especially when it can be observed that a
      lot of these things I disliked about Java have been asopted as "good
      practice" by many C++ developers...).


      C# is a language I am watching personally (D could be similar, but only time
      will tell). my prediction is that in time it may come to compete with the
      current heavyweights... IMO, C# balances some of the good and bad points of
      C++ and Java, and so may have a technical advantage here over both of them
      in the long term (and, if not C#, something similar, such as D, albeit D
      makes slightly different tradeoffs).

      IMO, at this point the biggest strength, and potentially later the biggest
      threat, to C#'s success, is its close association with Windows and .NET...


      but, as is everything, only time will tell...

      --
      Chris.

      Comment

      • Angus

        #4
        Re: C popularity


        "cr88192" <cr88192@NOSPAM .hotmail.comwro te in message
        news:7bbb8$481c 2b57$ca83b482$8 310@saipan.com. ..
        >Some postings in this newsgroup over the past few months have questioned
        >the
        >popularity of the C programming language.
        Yes, popularity of a programming language means many different things
        to many different people. Those unaware of it may be interested in the
        monthly TIOBE Programming Community Index:

        >
        C is by no means an "unpolular" language, or relegated to the lands of
        "embedded systems" and "device drivers" as some people seem to imply.
        >
        now, it is by no means an unchallenged emporor, nor is it some
        long-forgotten prince either...
        >
        >
        here are my current views:
        >
        AFAIK, C, C++, and Java are the top languages for most general software
        development at this point in time.
        >
        AFAIK, C is dominant on Linux and in opensource land, C++ is dominant in
        windows land, and Java is dominant, somewhere (I know somewhere or another
        a
        lot is going on in Java, but IME it is a little like a phantom, so often
        heard about but not as often seen...).
        >
        C has a lot of good points IMO, and I think is fairly likely to stay
        around
        (for what it does well, it does very well, and its detractors tend to be
        more pedantic than pragmatic...).
        >
        C++ has a lot of good points, but a few detractors as well, and I suspect
        is
        inclined to lose a lot more popularity than it will gain (its "high level"
        and "object oriented" claims to fame have largely transferred to newer
        languages such as Java and C#, wheras when lumped in with C, a few of its
        detractors show as well, none the less it is still fairly well established
        so it will not likely go anywhere soon).
        >
        Java, has a few good points and a few detractors (but rather different
        ones
        than C++). why it has done this well is a little curious to me personally,
        but is not inconcievable (it has a few ugly spots and annoyances, but is
        by
        no means terrible as a language, especially when it can be observed that a
        lot of these things I disliked about Java have been asopted as "good
        practice" by many C++ developers...).
        >
        >
        C# is a language I am watching personally (D could be similar, but only
        time
        will tell). my prediction is that in time it may come to compete with the
        current heavyweights... IMO, C# balances some of the good and bad points
        of
        C++ and Java, and so may have a technical advantage here over both of them
        in the long term (and, if not C#, something similar, such as D, albeit D
        makes slightly different tradeoffs).
        >
        IMO, at this point the biggest strength, and potentially later the biggest
        threat, to C#'s success, is its close association with Windows and .NET...
        >
        >
        but, as is everything, only time will tell...
        >
        >
        --
        Chris.
        >
        >
        I am probably going to be bashed for this but here are my comments:

        1. Java is great for cross platform or web type development. My experience
        is that it is very popular with corporates.

        2. C# and Visual Basic are corporate and/or glue software development.

        For writing heavy duty applications, particularly where there is complexity
        there, C and C++ are used. My personal preference is for C++ and not really
        sure why C is more popular on Linux than on Windows. Maybe Linux is more
        used by enginners with a background in C.

        Detractors of C++ say C++ is much slower than C at runtime. But the
        differences have got to be pretty marginal.

        C++ combined with the standard templates library provides much higher
        productivity and 'safety' than C and productivity is VERY important.

        It is all horses for courses anyway. You wouldn't write a device driver in
        Visual Basic just as you wouldn't write a web application in C.

        Hope my comments have been useful.

        A


        Comment

        • Malcolm McLean

          #5
          Re: C popularity

          "Angus" <nospam@gmail.c omwrote
          >
          C++ combined with the standard templates library provides much higher
          productivity and 'safety' than C and productivity is VERY important.
          >
          The consenus, after about twenty years, is emerging that object-oriented
          programming makes programs brittle, the units too interdependent, and the
          relationships too difficult for maintainers to follow.
          That's more or less what some of us have been saying all along, but now we
          are hearing it loud and clear from people with influence.

          --
          Free games and programming goodies.



          Comment

          • Eligiusz Narutowicz

            #6
            Re: C popularity

            "Malcolm McLean" <regniztar@btin ternet.comwrite s:
            "Angus" <nospam@gmail.c omwrote
            >>
            >C++ combined with the standard templates library provides much higher
            >productivity and 'safety' than C and productivity is VERY important.
            >>
            The consenus, after about twenty years, is emerging that
            object-oriented programming makes programs brittle, the units too
            interdependent, and the relationships too difficult for maintainers to
            follow.
            That's more or less what some of us have been saying all along, but
            now we are hearing it loud and clear from people with influence.
            Oh I do not know.

            If one is modelling a shape with X sides it seems to be quite good :-;

            Comment

            • Ian Collins

              #7
              Re: C popularity

              Malcolm McLean wrote:
              "Angus" <nospam@gmail.c omwrote
              >>
              >C++ combined with the standard templates library provides much higher
              >productivity and 'safety' than C and productivity is VERY important.
              >>
              The consenus, after about twenty years, is emerging that object-oriented
              programming makes programs brittle, the units too interdependent, and
              the relationships too difficult for maintainers to follow.
              The C++ standard template library is not OO.

              OO done badly is a mess. Procedural programming done badly is a mess.

              --
              Ian Collins.

              Comment

              • William Pursell

                #8
                Re: C popularity

                On 3 May, 22:07, "Malcolm McLean" <regniz...@btin ternet.comwrote :
                "Angus" <nos...@gmail.c omwrote
                >
                C++ combined with the standard templates library provides much higher
                productivity and 'safety' than C and productivity is VERY important.
                >
                The consenus, after about twenty years, is emerging that object-oriented
                programming makes programs brittle, the units too interdependent, and the
                relationships too difficult for maintainers to follow.
                That's more or less what some of us have been saying all along, but now we
                are hearing it loud and clear from people with influence.
                That may be true, but what does it have to do with C++ and the STL?

                Comment

                • CBFalconer

                  #9
                  Re: C popularity

                  William Pursell wrote:
                  "Malcolm McLean" <regniz...@btin ternet.comwrote :
                  >"Angus" <nos...@gmail.c omwrote
                  >>
                  >>C++ combined with the standard templates library provides much
                  >>higher productivity and 'safety' than C and productivity is VERY
                  >>important.
                  >>
                  >The consenus, after about twenty years, is emerging that
                  >object-oriented programming makes programs brittle, the units too
                  >interdependent , and the relationships too difficult for
                  >maintainers to follow. That's more or less what some of us have
                  >been saying all along, but now we are hearing it loud and clear
                  >from people with influence.
                  >
                  That may be true, but what does it have to do with C++ and the STL?
                  More to the point, what have C++ and the STL to do with
                  comp.lang.c?

                  --
                  [mail]: Chuck F (cbfalconer at maineline dot net)
                  [page]: <http://cbfalconer.home .att.net>
                  Try the download section.


                  ** Posted from http://www.teranews.com **

                  Comment

                  • Malcolm McLean

                    #10
                    Re: C popularity


                    "William Pursell" <bill.pursell@g mail.comwrote
                    >The consenus, after about twenty years, is emerging that object-oriented
                    >programming makes programs brittle, the units too interdependent, and the
                    >relationship s too difficult for maintainers to follow.
                    >
                    That may be true, but what does it have to do with C++ and the STL?
                    >
                    Whilst you can use C++ as a "better C", the usual motivation is to do
                    object-oriented programming.
                    Whether you regard the STL as "object-oriented" or not depends on your
                    terminology. You could hold that objects have to be in inheritance
                    hierarchies to count, in which case the STL is excluded, or you could use a
                    losser definition of "objects and methods in relationships with each other",
                    in which case the STL qualifies, because of the concept of controlled
                    sequences.

                    --
                    Free games and programming goodies.



                    Comment

                    • Chris H

                      #11
                      Re: C popularity

                      In message <7bbb8$481c2b57 $ca83b482$8310@ saipan.com>, cr88192
                      <cr88192@NOSPAM .hotmail.comwri tes
                      >
                      >"Chris McDonald" <chris@csse.uwa .edu.auwrote in message
                      >news:fvebbi$ir u$1@enyo.uwa.ed u.au...
                      >Bob Nelson <bnelson@nelson be.comwrites:
                      >>
                      >>>Some postings in this newsgroup over the past few months have questioned
                      >>>the
                      >>>popularity of the C programming language.
                      >>
                      >Yes, popularity of a programming language means many different things
                      >to many different people. Those unaware of it may be interested in the
                      >monthly TIOBE Programming Community Index:
                      >>
                      > http://www.tiobe.com/index.php/conte...pci/index.html
                      >>
                      >
                      >C is by no means an "unpolular" language, or relegated to the lands of
                      >"embedded systems" and "device drivers" as some people seem to imply.

                      Relegated to embedded systems? There is more embedded development in
                      the world that desktop or mainframe... I think there is around 6
                      million lines of code (and I don't mean system libraries either) on the
                      *average* modern car across about 150 MCU from 8-64 bit systems. The
                      head of Ford's R&D said last year that about 90% of the value in a car
                      is now in the SW and embedded electronics.

                      For Aircraft, trains, signalling systems, building control, industrial
                      control systems it get bigger. Most of it high-reliability or safety
                      critical.

                      There is virtually nothing on the planet that has electrical power near
                      it that does not have an embedded MCU in it that has at least some C in
                      it. Look around you. The reason why "most" developers don't see it is
                      because it is generally developed by people with an electronics
                      background and people who don't tend to hang around with IT "people"

                      There tends to be very little interaction between the two groups which
                      leads most "IT programmers" to think the embedded space is small..

                      In fact most modern PC's are a collection of embedded systems (hard
                      drive has a couple of MCU's, network card, keyboard, mouse, Monitor,
                      Graphics MCU.... you think they are hardware but all will have an MCU,
                      FPGA or ASIC that has some C firmware in it.
                      >now, it is by no means an unchallenged emporor, nor is it some
                      >long-forgotten prince either...
                      >here are my current views:
                      >
                      >AFAIK, C, C++, and Java are the top languages for most general software
                      >development at this point in time.
                      C and C++ are the dominant languages for embedded work too. C has taken
                      over from Ada on a lot of safety critical systems. C++ is being used on
                      some high reliability systems (and the JSF)

                      >AFAIK, C is dominant on Linux and in opensource land, C++ is dominant in
                      >windows land, and Java is dominant, somewhere (I know somewhere or another a
                      >lot is going on in Java, but IME it is a little like a phantom, so often
                      >heard about but not as often seen...).
                      I would agree.

                      C will be the dominant embedded language for some time. C++ is creeping
                      up a bit.


                      \/\/\/\/\/\/\/\/\/\/\/\/\
                      \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
                      \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/



                      Comment

                      • CBFalconer

                        #12
                        Re: C popularity

                        Chris H wrote:
                        >
                        .... snip ...
                        >
                        C and C++ are the dominant languages for embedded work too. C has
                        taken over from Ada on a lot of safety critical systems. C++ is
                        being used on some high reliability systems (and the JSF)
                        This is a horrible misstatement of the actual situation. C and C++
                        do not have the built-in resistance to programming errors that Ada
                        does. Thus Ada will always produce more reliable code from the
                        same quality of programmer. Probably from all programmers.

                        The quasi-advantage of C is that it allows the programmer to do
                        almost anything he wants, legitimate or not. Often the
                        illegitimate code will do what is desired on a particular system,
                        and that is good enough for now. The errors may, or may not, ever
                        catch up with you.

                        --
                        [mail]: Chuck F (cbfalconer at maineline dot net)
                        [page]: <http://cbfalconer.home .att.net>
                        Try the download section.


                        ** Posted from http://www.teranews.com **

                        Comment

                        • Flash Gordon

                          #13
                          Re: C popularity

                          CBFalconer wrote, On 10/05/08 21:41:
                          Chris H wrote:
                          ... snip ...
                          >C and C++ are the dominant languages for embedded work too. C has
                          >taken over from Ada on a lot of safety critical systems. C++ is
                          >being used on some high reliability systems (and the JSF)
                          >
                          This is a horrible misstatement of the actual situation.
                          Chuck, do you actually work in embedded SW? I used to a few years back.
                          Where I worked C was not used in 1985 and in the late 80s or early 90s I
                          had a long discussion with my then boss about it. In the early 90s we
                          had one project in ADA. In the mid 90s we started using C. When I left
                          there were several projects in C but no additional projects in ADA, so
                          my experience is that the use of C was on the up in embedded systems
                          (more specifically systems in the defence industry).

                          Also C compilers are the easiest to get hold of for embedded systems.
                          C and C++
                          do not have the built-in resistance to programming errors that Ada
                          does. Thus Ada will always produce more reliable code from the
                          same quality of programmer. Probably from all programmers.
                          Safety critical work has also been done in assembler, and that gives
                          even more possibilities for screwing up!
                          The quasi-advantage of C is that it allows the programmer to do
                          almost anything he wants, legitimate or not. Often the
                          illegitimate code will do what is desired on a particular system,
                          and that is good enough for now. The errors may, or may not, ever
                          catch up with you.
                          The kinds of errors that C allows that ADA makes harder to achieve are
                          also the kinds likely to be picked up in reviews and static analysis,
                          especially in safety related work. Where the code is such that reviews
                          and static analysis will not pick up those errors the code is likely to
                          be rejected precisely because you cannot tell whether those errors are
                          present!

                          OK, I only worked on one safety critical project, but when I did I made
                          damn sure I new the rules since one of them was that I could personally
                          be sued if I did not follow them and someone was killed as a result!

                          I also somewhat suspect that Chris Hill knows more about this and what
                          is going on in the embedded world than either of us!
                          --
                          Flash Gordon

                          Comment

                          • CBFalconer

                            #14
                            Re: C popularity

                            Flash Gordon wrote:
                            CBFalconer wrote, On 10/05/08 21:41:
                            >Chris H wrote:
                            >>
                            >... snip ...
                            >>
                            >>C and C++ are the dominant languages for embedded work too. C has
                            >>taken over from Ada on a lot of safety critical systems. C++ is
                            >>being used on some high reliability systems (and the JSF)
                            >>
                            >This is a horrible misstatement of the actual situation.
                            >
                            Chuck, do you actually work in embedded SW? I used to a few years
                            back. Where I worked C was not used in 1985 and in the late 80s or
                            early 90s I had a long discussion with my then boss about it. In
                            the early 90s we had one project in ADA. In the mid 90s we started
                            using C. When I left there were several projects in C but no
                            additional projects in ADA, so my experience is that the use of C
                            was on the up in embedded systems (more specifically systems in
                            the defence industry).
                            I used Pascal and Assembly in embedded work since the early '70s.
                            Before that I primarily used assembly. The Pascal was entirely
                            under my control, and met the ISO7185 specification (omitting the
                            action of passed procedures). I validated it against the industry
                            standard test suite (which has since disappeared). The results
                            were used in medical apparatus of the highest standard. Remember
                            that the Pascal standard appeared in 1979, after a considerable
                            period of discussion and promulgation of drafts.

                            Since about 1990 C has been arriving in the embedded world. If I
                            hadn't lost my entire system to a disk crash, followed by some sort
                            of disk loss (theft??) of my backups, I could back all this up with
                            hard displays.

                            My embedded machines have appeared in telephones, medical
                            instruments, medical testing, communications, primarily. This, of
                            course, is my view, and I can't really back it up further.
                            >
                            Also C compilers are the easiest to get hold of for embedded systems.
                            Very true. Also for other systems.
                            >
                            >C and C++ do not have the built-in resistance to programming
                            >errors that Ada does. Thus Ada will always produce more reliable
                            >code from the same quality of programmer. Probably from all
                            >programmers.
                            >
                            Safety critical work has also been done in assembler, and that
                            gives even more possibilities for screwing up!
                            >
                            >The quasi-advantage of C is that it allows the programmer to do
                            >almost anything he wants, legitimate or not. Often the
                            >illegitimate code will do what is desired on a particular system,
                            >and that is good enough for now. The errors may, or may not, ever
                            >catch up with you.
                            >
                            The kinds of errors that C allows that ADA makes harder to achieve
                            are also the kinds likely to be picked up in reviews and static
                            analysis, especially in safety related work. Where the code is
                            such that reviews and static analysis will not pick up those
                            errors the code is likely to be rejected precisely because you
                            cannot tell whether those errors are present!
                            Assuming such reviews and analysis are possible. Generally I
                            worked practically in isolation most of the time, so that hardware
                            review (i.e. the compilers) was very helpful.
                            >
                            OK, I only worked on one safety critical project, but when I did I
                            made damn sure I new the rules since one of them was that I could
                            personally be sued if I did not follow them and someone was killed
                            as a result!
                            I didn't have that pressure 30 years ago, but the internal urge was
                            quite sufficient.
                            >
                            I also somewhat suspect that Chris Hill knows more about this and
                            what is going on in the embedded world than either of us!
                            Quite likely at present. However his attitude to proper languages
                            is totally wrong. That doesn't mean he doesn't have the ability to
                            produce valid packages with bad tools. I class any C compiler as a
                            bad tool due to the language it compiles, not its actual abilities.

                            --
                            [mail]: Chuck F (cbfalconer at maineline dot net)
                            [page]: <http://cbfalconer.home .att.net>
                            Try the download section.


                            ** Posted from http://www.teranews.com **

                            Comment

                            • Keith Thompson

                              #15
                              Re: C popularity

                              CBFalconer <cbfalconer@yah oo.comwrites:
                              Chris H wrote:
                              >>
                              ... snip ...
                              >>
                              >C and C++ are the dominant languages for embedded work too. C has
                              >taken over from Ada on a lot of safety critical systems. C++ is
                              >being used on some high reliability systems (and the JSF)
                              >
                              This is a horrible misstatement of the actual situation. C and C++
                              do not have the built-in resistance to programming errors that Ada
                              does. Thus Ada will always produce more reliable code from the
                              same quality of programmer. Probably from all programmers.
                              [...]

                              I see no contradiction between Chris H's statement and yours. He said
                              that C *has* taken over from Ada, not that it *should*.

                              --
                              Keith Thompson (The_Other_Keit h) <kst-u@mib.org>
                              Nokia
                              "We must do something. This is something. Therefore, we must do this."
                              -- Antony Jay and Jonathan Lynn, "Yes Minister"

                              Comment

                              Working...