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. Why are so many peopel appearing to suddenly learn C as a first language?

Why are so many peopel appearing to suddenly learn C as a first language?

Scheduled Pinned Locked Moved The Lounge
combeta-testingquestionloungecareer
41 Posts 27 Posters 1 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.
  • OriginalGriffO OriginalGriff

    I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

    M Offline
    M Offline
    MeziLu
    wrote on last edited by
    #32

    It could be because C and C++ make you realize the fundamentals of programming and how other languages work 'under their hoods'. And/or because most other languages actually have all of the fundamentals, but 'toned down'. For example, C# and Delegates (C's pointer to functions), Ref (pointers), and so on.

    MeziLu

    1 Reply Last reply
    0
    • OriginalGriffO OriginalGriff

      I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

      O Offline
      O Offline
      obermd
      wrote on last edited by
      #33

      Assembler was my first language. C has the benefit of teaching you about memory, pointers, and other low level stuff that you really need to understand to be a top developer.

      1 Reply Last reply
      0
      • OriginalGriffO OriginalGriff

        I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

        "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

        A Offline
        A Offline
        agolddog
        wrote on last edited by
        #34

        Wow, I would not have guessed that C is a popular first language. I worked in C around 35 years ago. I can't speak to whether it will be good for these people's careers. One positive is a better under-the-hood understanding of memory management and allocation that modern OO architectures just provide for you. I think that background helped me design better, more efficient classes in the OO world. I mean, if the developer truly understands what they're doing in C of course.

        1 Reply Last reply
        0
        • OriginalGriffO OriginalGriff

          I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

          R Offline
          R Offline
          Rusty Bullet
          wrote on last edited by
          #35

          Not sure what makes a language old fashioned, but all you have to do is look at any performance chart to see that C is still the fastest. It embodies functional programming well, but then the question becomes "what is the best programming paradigm to begin with?" The argument used to be OOP, but like any tool in a toolbox, the purpose chooses the toolset and tool. What is the degree in computing preparing you for? Does understanding functional composition make more sense than inheritance as a staring point? What you learn first becomes the context into which all other concepts are framed. Personally, I think working with APIs rates as a solid first or second concept that you will use forever.

          1 Reply Last reply
          0
          • OriginalGriffO OriginalGriff

            Yes. Specialist stuff. That you need good solid real-time embedded experience to work with, and if you don't have that ... you aren't going to produce anything the even works, let alone is useful. You and I both know how little desktop experience carries over to the embedded world where even using malloc is a recipe for fragmented memory and an app that crashes every week because there isn't a fragment of memory big enough left out of the tiny amount you started with. :laugh:

            "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

            B Offline
            B Offline
            Bruce Patin
            wrote on last edited by
            #36

            I once got a "great" job offer doing that, but didn't want to work on weapons, so turned it down.

            1 Reply Last reply
            0
            • OriginalGriffO OriginalGriff

              I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

              "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

              M Offline
              M Offline
              Mekki Ahmedi
              wrote on last edited by
              #37

              See this thread

              1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

                "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                G Offline
                G Offline
                Gary Wheeler
                wrote on last edited by
                #38

                Hmm. I'll take the contrary position and disagree with you. I think C makes a good teaching language for a certain class of student who I will call, for lack of a more appropriate term, The Geek. The Geek wants to understand how everything works. They want to know how to tie bits together, and to make those collections of bits do new and exciting (aka :cool:) things. C has value for that sort of student. It's as bare metal as you can get without resorting to assembly language. C provides an understanding of certain fundamental building blocks that are givens in more sophisticated languages. The Geek can build those blocks in C, which provides a greater appreciation of their strengths and weaknesses. There are consequences for making mistakes, consequences that will make The Geek really think about what they are doing. I know this to be true, because back in the day I was The Geek :-D.

                Software Zen: delete this;

                1 Reply Last reply
                0
                • OriginalGriffO OriginalGriff

                  Yes. Specialist stuff. That you need good solid real-time embedded experience to work with, and if you don't have that ... you aren't going to produce anything the even works, let alone is useful. You and I both know how little desktop experience carries over to the embedded world where even using malloc is a recipe for fragmented memory and an app that crashes every week because there isn't a fragment of memory big enough left out of the tiny amount you started with. :laugh:

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                  K Offline
                  K Offline
                  Kirk 10389821
                  wrote on last edited by
                  #39

                  Hah, you reminded me of some code I read where the guy did this BIG malloc() at startup... Because he managed his own memory for some data structure he had. It required Real-Time controller feedback, and different things writing to the memory. But the takeaway was that various conditions, beyond his control, would fragment total memory, and his otherwise more "timely/smaller" malloc() calls would fail. Causing Abends/Hard Faults. And requiring resets. This is where the "linux pride" of saying "my system has been running continuously for 640 days!" harkens back to. It used to be a positive sign. When software designs and hardware designs were more stable!

                  OriginalGriffO 1 Reply Last reply
                  0
                  • K Kirk 10389821

                    Hah, you reminded me of some code I read where the guy did this BIG malloc() at startup... Because he managed his own memory for some data structure he had. It required Real-Time controller feedback, and different things writing to the memory. But the takeaway was that various conditions, beyond his control, would fragment total memory, and his otherwise more "timely/smaller" malloc() calls would fail. Causing Abends/Hard Faults. And requiring resets. This is where the "linux pride" of saying "my system has been running continuously for 640 days!" harkens back to. It used to be a positive sign. When software designs and hardware designs were more stable!

                    OriginalGriffO Offline
                    OriginalGriffO Offline
                    OriginalGriff
                    wrote on last edited by
                    #40

                    Yep. I know of some of my real time embedded software that has been running continuously for over twenty years, with just ink tank swaps to keep it in consumables. Never use dynamic memory in real time projects! :laugh: Good grief, I just did the sums and that's over 7K days! I'm amazed the hardware has survived that long, particularly the ink side piping ... It's got to be brittle as heck by now ...

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                    "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                    1 Reply Last reply
                    0
                    • OriginalGriffO OriginalGriff

                      I can't think of a much worse choice: and old fashioned language, that is only used for specialist stuff these days, and which needs a considerable amount of experience to get a job in? That just doesn't make a lot of sense to me ... but look at QA and there are loads of 'em ...

                      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt AntiTwitter: @DalekDave is now a follower!

                      S Offline
                      S Offline
                      svella
                      wrote on last edited by
                      #41

                      Hard to say, but it could have something to do with the fact that "The C Programming Language" by Brian Kernighan and Dennis Ritchie is the standard against which all programming books are judged.

                      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