Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Do you C?

Do you C?

Scheduled Pinned Locked Moved The Lounge
questionhtmlcomtoolstutorial
55 Posts 37 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Hans Dietrich

    Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

    Best wishes, Hans


    [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

    C Offline
    C Offline
    CPallini
    wrote on last edited by
    #24

    Yes, of course. :)

    If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
    This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
    [My articles]

    1 Reply Last reply
    0
    • H Hans Dietrich

      Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

      Best wishes, Hans


      [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

      T Offline
      T Offline
      tom1443
      wrote on last edited by
      #25

      I don't see C and Assembly being replaced in the embedded world too soon. Nobody I work with likes the idea. We tried C++ here, built a few overpriced and unmaintainable products and dropped it. And if I recall the most recent survey in Embedded Systems correctly, C++ adoption is on the decline in other places that do embedded work too. The C++ that we still do is for tools we develop and cutomer products that run on PCs like print clients.

      _ 1 Reply Last reply
      0
      • P Paul Sanders the other one

        > Work with really critical systems, such as avionics, does not allow you to use object oriented programming. So C and ADA are a must. Why on earth not?

        Paul Sanders http://www.alpinesoft.co.uk

        T Offline
        T Offline
        tom1443
        wrote on last edited by
        #26

        Alot of it has to do with that fact that dynamic memory allocation is dangerous in an embedded system. When you can't grab a new chunk of memory you can't just pop up a window, tell the user and let the program exit. If that happens in a critical system spacecraft will crash, missles hit friendly targets, or trains run through control signals. In critical systems, static memory allocation is preferred.

        P D 2 Replies Last reply
        0
        • T tom1443

          Alot of it has to do with that fact that dynamic memory allocation is dangerous in an embedded system. When you can't grab a new chunk of memory you can't just pop up a window, tell the user and let the program exit. If that happens in a critical system spacecraft will crash, missles hit friendly targets, or trains run through control signals. In critical systems, static memory allocation is preferred.

          P Offline
          P Offline
          Paul Sanders the other one
          wrote on last edited by
          #27

          Yes, I can see the sense of that, although I would have thought that embedded systems built on modern hardware (and I know that not all are) would have ample memory. Seems to me actually that there's an argument here for a language like C# (or Java), with garbage collection and no 'free' function, as the chances of a potentially fatal memory leak are reduced. Hard to provide realtime guarantees with such a language though since GC can happen any old time.

          Paul Sanders http://www.alpinesoft.co.uk

          M P 2 Replies Last reply
          0
          • H Hans Dietrich

            Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

            Best wishes, Hans


            [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

            R Offline
            R Offline
            RTS WORK
            wrote on last edited by
            #28

            Did a code review of some Open Source command line encryption algorithm written in C. Ended up re-building it to make sure the binary = source. Been like 20 years but it's all good.

            1 Reply Last reply
            0
            • H Hans Dietrich

              Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

              Best wishes, Hans


              [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

              J Offline
              J Offline
              JudyL_MD
              wrote on last edited by
              #29

              But of course since among other things, I work on drivers Judy

              Be wary of strong drink. It can make you shoot at tax collectors - and miss. Lazarus Long, "Time Enough For Love" by Robert A. Heinlein

              1 Reply Last reply
              0
              • T tom1443

                I don't see C and Assembly being replaced in the embedded world too soon. Nobody I work with likes the idea. We tried C++ here, built a few overpriced and unmaintainable products and dropped it. And if I recall the most recent survey in Embedded Systems correctly, C++ adoption is on the decline in other places that do embedded work too. The C++ that we still do is for tools we develop and cutomer products that run on PCs like print clients.

                _ Offline
                _ Offline
                _dunk_
                wrote on last edited by
                #30

                tom1443 wrote:

                We tried C++ here, built a few overpriced and unmaintainable products and dropped it.

                To successfully switch from C to C++, you absolutely must understand and properly use OOP. At least for the core infrastructure at a minimum. Otherwise you end up with overpriced and unmaintable products as you get all the problems that come with structured design AND OO design if you do not. Don't blame the language for lack of skill on the developers part. There is absolutely no reason that C++ can't be successfully used in an embedded system short of having a lack of development tools for the particular embedded environment. There are just some extra details that an embedded developer needs to be concerned about (in particular memory management). C++ has been used on many embedded systems requiring the 5 9's availability level. With that said, there are some applications that are just more suited to structured development where C programming has a role, like drivers and algorithms.

                N 1 Reply Last reply
                0
                • H Hans Dietrich

                  Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

                  Best wishes, Hans


                  [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

                  C Offline
                  C Offline
                  CDMTJX
                  wrote on last edited by
                  #31

                  Stuff here at work in in a variety of languages, including C. I prefer objects; C++, C#, or Java. char* string handling is possible, but painful!

                  1 Reply Last reply
                  0
                  • H Hans Dietrich

                    Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

                    Best wishes, Hans


                    [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

                    E Offline
                    E Offline
                    etkid84
                    wrote on last edited by
                    #32

                    propaganda from the Java and C# peeps who were too stupid to understand pointers. :cool:

                    David

                    H P 2 Replies Last reply
                    0
                    • P Paul Sanders the other one

                      Yes, I can see the sense of that, although I would have thought that embedded systems built on modern hardware (and I know that not all are) would have ample memory. Seems to me actually that there's an argument here for a language like C# (or Java), with garbage collection and no 'free' function, as the chances of a potentially fatal memory leak are reduced. Hard to provide realtime guarantees with such a language though since GC can happen any old time.

                      Paul Sanders http://www.alpinesoft.co.uk

                      M Offline
                      M Offline
                      Mirds
                      wrote on last edited by
                      #33

                      Besides that, doing "Modified Condition/Decision Coverage(MC/DC)" is already a pain in the ass with structured programming, imagine doing it in OOP. Stack overflow is also hard to guarantee in OOP.

                      Paul Sanders (AlpineSoft) wrote:

                      Yes, I can see the sense of that, although I would have thought that embedded systems built on modern hardware (and I know that not all are) would have ample memory. Seems to me actually that there's an argument here for a language like C# (or Java), with garbage collection and no 'free' function, as the chances of a potentially fatal memory leak are reduced. Hard to provide realtime guarantees with such a language though since GC can happen any old time. Paul Sanders http://www.alpinesoft.co.uk

                      1 Reply Last reply
                      0
                      • H Hans Dietrich

                        Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

                        Best wishes, Hans


                        [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

                        N Offline
                        N Offline
                        NathalieD
                        wrote on last edited by
                        #34

                        I use: C for kernel code C++ for system programming in user-more and when performance is important C# for the rest

                        1 Reply Last reply
                        0
                        • E etkid84

                          propaganda from the Java and C# peeps who were too stupid to understand pointers. :cool:

                          David

                          H Offline
                          H Offline
                          Hans Dietrich
                          wrote on last edited by
                          #35

                          etkins wrote:

                          propaganda from the Java and C# peeps who were too stupid to understand pointers. Cool

                          Those are almost the exact same words my current boss said to me. :laugh:

                          Best wishes, Hans


                          [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

                          1 Reply Last reply
                          0
                          • P Paul Sanders the other one

                            Yes, I can see the sense of that, although I would have thought that embedded systems built on modern hardware (and I know that not all are) would have ample memory. Seems to me actually that there's an argument here for a language like C# (or Java), with garbage collection and no 'free' function, as the chances of a potentially fatal memory leak are reduced. Hard to provide realtime guarantees with such a language though since GC can happen any old time.

                            Paul Sanders http://www.alpinesoft.co.uk

                            P Offline
                            P Offline
                            Pierre Leclercq
                            wrote on last edited by
                            #36

                            Paul Sanders (AlpineSoft) wrote:

                            (and I know that not all are)

                            You're right. Some systems still have very tight memory requirements. In some cases, cost can still be a determining factor, when you need to cram so much on very tight devices with many features.

                            1 Reply Last reply
                            0
                            • E etkid84

                              propaganda from the Java and C# peeps who were too stupid to understand pointers. :cool:

                              David

                              P Offline
                              P Offline
                              Pierre Leclercq
                              wrote on last edited by
                              #37

                              Yeah. So, who the first started this urban legend about pointers? No, pointers are not dirty...

                              E 1 Reply Last reply
                              0
                              • J John M Drescher

                                Apparently not anymore. I tried to help on a piece of open source software that I use and that is written in C. Boy for a C++ programmer that is painful. I mean no classes, no stl, and don't get me started about strings...

                                John

                                C Offline
                                C Offline
                                cpkilekofp
                                wrote on last edited by
                                #38

                                LOL now you see why a programmer who cut his teeth on K&R C fears no other language in the world.

                                A 1 Reply Last reply
                                0
                                • A Anna Jayne Metcalfe

                                  Not anymore, unless there's a very good reason. I just find it far too limiting. :doh:

                                  Anna :rose: Having a bad bug day? Tech Blog | Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                  C Offline
                                  C Offline
                                  cpkilekofp
                                  wrote on last edited by
                                  #39

                                  Anna-Jayne Metcalfe wrote:

                                  Not anymore, unless there's a very good reason. I just find it far too limiting.

                                  Indeed it is...that is why so many packages were built to enhance C's usability. The most famous and ubiquitous of these, of course, is C++, which began its life as a preprocessor that produced C code from C++ input. C as an intermediate language is still quite useful, and this is due to the same simplicity that makes it labor-intensive for large projects.

                                  1 Reply Last reply
                                  0
                                  • M Machaira

                                    For general application development there's no reason to use C (or C++). Long live C#!

                                    C Offline
                                    C Offline
                                    cpkilekofp
                                    wrote on last edited by
                                    #40

                                    Machaira wrote:

                                    For general application development there's no reason to use C (or C++). Long live C#!

                                    It's for similar reasons that (long ago, back in the dim mists of the '90s) I recommended to an entrepeneur that he switch to Visual Basic or Access for future efforts - my exact reason was that "the programmers are cheaper and more easily disposable." However, C yields optimizations more powerful than anything short of assembly language, and has always been the choice where the highest performance and reliability have been required as well as readiblity and maintainability.

                                    C 1 Reply Last reply
                                    0
                                    • P Pierre Leclercq

                                      Yeah. So, who the first started this urban legend about pointers? No, pointers are not dirty...

                                      E Offline
                                      E Offline
                                      etkid84
                                      wrote on last edited by
                                      #41

                                      not a problem here

                                      David

                                      1 Reply Last reply
                                      0
                                      • H Hans Dietrich

                                        Long live C: http://www.theregister.co.uk/2009/01/21/open_source_projects_08/[^]

                                        Best wishes, Hans


                                        [CodeProject Forum Guidelines] [How To Ask A Question] [My Articles]

                                        K Offline
                                        K Offline
                                        Kuraru77
                                        wrote on last edited by
                                        #42

                                        OOh the good times. I used to write C/C++ code for unix-like systems (it was a wonderful 6 years). But now I work in another company writing code for J2EE. I really miss pointers and dynamic memory :D, I mean it! :D

                                        "An expert is a person that has failed in every possible way in a specific field" - Neils Bohr

                                        1 Reply Last reply
                                        0
                                        • C cpkilekofp

                                          Machaira wrote:

                                          For general application development there's no reason to use C (or C++). Long live C#!

                                          It's for similar reasons that (long ago, back in the dim mists of the '90s) I recommended to an entrepeneur that he switch to Visual Basic or Access for future efforts - my exact reason was that "the programmers are cheaper and more easily disposable." However, C yields optimizations more powerful than anything short of assembly language, and has always been the choice where the highest performance and reliability have been required as well as readiblity and maintainability.

                                          C Offline
                                          C Offline
                                          Cyrilix
                                          wrote on last edited by
                                          #43

                                          I don't know about you, but I think C# code is generally much more readable than C/C++ code. It may be in the naming convention or in the huge mass of standard built-in .NET libraries that C/C++ simply doesn't have, but the reason why I tend to prefer coding in C# is because it in so many ways captures parts of C/C++ that are not elegant, and makes them elegant with either some form of syntactic sugar, or in some kind of added functionality that C/C++ does not have.

                                          C 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups