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 really need to know C? I think so."

"Do you really need to know C? I think so."

Scheduled Pinned Locked Moved The Lounge
comquestionlearning
29 Posts 16 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.
  • T The Wizard of Doze

    In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

    M Offline
    M Offline
    martin_hughes
    wrote on last edited by
    #5

    The Wizard of Doze wrote:

    those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems.

    What's that? Ah, Eau de BS by Givenchy. I don't know C or C++ and I solve complex real world problems on a daily basis. These are not computer problems, but I use a computer to help solve them. But do you know what? I'm an artist: I don't need to know how you made that canvas or how you created that paint brush. Give me those tools and I'll create a work of art that is beyond your imagination.

    1 Reply Last reply
    0
    • T The Wizard of Doze

      In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

      J Offline
      J Offline
      J Kan
      wrote on last edited by
      #6

      Knowing C or C++ greatly helps a programmer understand a lot of the programming concepts such as object oriented programming and how your program uses computer memory thru pointers.

      1 Reply Last reply
      0
      • T The Wizard of Doze

        In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

        E Offline
        E Offline
        El Corazon
        wrote on last edited by
        #7

        Does everyone really need to solve complicated problems? No. I think there is a market for code jockeys, that spend 10 minutes in the saddle and drink beers to celebrate. There is also a market for R&D, OS, game, and simulation systems as well as the folks who make the frameworks in the higher speed languages to boost the performance of the code jockeys. We can co-exist, theoretically. I do think C++ and C are worthwhile to know. It helps to know why and how things work to find problems with algorithms, but when querying a database for the zillionth time, you don't need C, C# experience or even Java handle the problem equally well. I do believe both play a significant part in this world.

        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

        K 1 Reply Last reply
        0
        • T The Wizard of Doze

          In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

          C Offline
          C Offline
          Christopher Duncan
          wrote on last edited by
          #8

          Didn't we just do this? (See pyramid thread below)

          Christopher Duncan Author of The Career Programmer and Unite the Tribes www.PracticalUSA.com

          1 Reply Last reply
          0
          • U User of Users Group

            Just caught all the havoc from an ex VB-guy BLAG on nonsense and sigh, sigh, sigh.. You don't really need to know C, but machine background helps. If you start with C++ you'll get a better handle on things, and Bjarne talked about that for ages and argued it well and beyond anyone out there. You watch how many .NET devs that came from poor C++ background slate it while they really never even understood 5% of it, and what really gives them that warm VM feeling. You know the type, those that code C hacks as VB with DllImport equivalent. So how come they can judge it? Because of INotifyPropertyChanged and BindingList and some XML files? You gotta be kidding, those are the most bloated ways to write software, in history of time. Plus every other dog on the street can do it, And btw, you get an out of memory exception on those apps on all 32-bit platforms the moment you stress them and they hit the 800MB barrrier. Now that is very and pathetically easy to do these days to most apps as they are 'simplified' right? And if that is advance then go on land that Phoenix with Thinking-In-CLR. Here comes the "upgrade to x64 and your RAM" sheep... hammer and nail. (oh never mind, that they actually slate their VM, whenever they slate C++ or C because that's mostly the style Java and .NET VMs are written in, with C-as-C++ 'classes' phenomena ).

            M Offline
            M Offline
            Member 96
            wrote on last edited by
            #9

            The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.


            "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

            L U 2 Replies Last reply
            0
            • M Member 96

              The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.


              "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

              L Offline
              L Offline
              Lost User
              wrote on last edited by
              #10

              I've dealt with a Java 'programmer' who thought it all worked by magic :sigh: Garbage collection?

              Visit http://www.notreadytogiveup.com/[^] and do something special today.

              1 Reply Last reply
              0
              • K keyboard warrior

                I diagree completely that knowing C is THE qualifier for a good programmer. That's an incredibly narrow vision. Maybe it's just me but I think there are multiple qualifiers for a good programmer. C or no C.

                ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #11

                No, Wizard was saying that it can provide an advantage.

                Visit http://www.notreadytogiveup.com/[^] and do something special today.

                K 1 Reply Last reply
                0
                • T The Wizard of Doze

                  In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

                  L Offline
                  L Offline
                  Lost User
                  wrote on last edited by
                  #12

                  Lots of people seem to be taking this out of context. I for one think you have a good point.

                  Visit http://www.notreadytogiveup.com/[^] and do something special today.

                  P 1 Reply Last reply
                  0
                  • T The Wizard of Doze

                    In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

                    M Offline
                    M Offline
                    Member 96
                    wrote on last edited by
                    #13

                    :rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.


                    "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                    K L 2 Replies Last reply
                    0
                    • L Lost User

                      No, Wizard was saying that it can provide an advantage.

                      Visit http://www.notreadytogiveup.com/[^] and do something special today.

                      K Offline
                      K Offline
                      keyboard warrior
                      wrote on last edited by
                      #14

                      Trollslayer wrote:

                      No, Wizard was saying that it can provide an advantage.

                      knowing C? That can be said about knowing anything period. So C is just like any other ?

                      ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                      L 1 Reply Last reply
                      0
                      • E El Corazon

                        Does everyone really need to solve complicated problems? No. I think there is a market for code jockeys, that spend 10 minutes in the saddle and drink beers to celebrate. There is also a market for R&D, OS, game, and simulation systems as well as the folks who make the frameworks in the higher speed languages to boost the performance of the code jockeys. We can co-exist, theoretically. I do think C++ and C are worthwhile to know. It helps to know why and how things work to find problems with algorithms, but when querying a database for the zillionth time, you don't need C, C# experience or even Java handle the problem equally well. I do believe both play a significant part in this world.

                        _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                        K Offline
                        K Offline
                        keyboard warrior
                        wrote on last edited by
                        #15

                        El Corazon wrote:

                        that spend 10 minutes in the saddle and drink beers to celebrate

                        :-D where is this j-o-b

                        ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                        E 1 Reply Last reply
                        0
                        • M Member 96

                          :rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.


                          "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                          K Offline
                          K Offline
                          keyboard warrior
                          wrote on last edited by
                          #16

                          John C wrote:

                          The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.

                          Chris Maunder wrote:

                          That should be framed.

                          ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                          1 Reply Last reply
                          0
                          • T The Wizard of Doze

                            In my experience working with programmers in both categories, those who have a background of knowledge of the lower level programming languages always seem to be quicker at solving more complicated problems. Of course, there are exceptions to this rule but I would say 98% of the time this is true. [^]

                            L Offline
                            L Offline
                            leckey 0
                            wrote on last edited by
                            #17

                            Having done BASIC as a kid going into C++ in college gave me a good start to OOP which is more preferred in business programming today, in my opinion. We did C++ before C but 6 of 1. We had a teacher (who did some work for NASA) who basically made us do the same program in 4 languages. He drilled into us that if you think about the problem and understand the logic, you can write the pseudocode (he always said, "You should hand simulate 20 minutes a day." With his Korean accent it always sounded dirty) and just change the syntax for the language. Just like English, Spanish, French...you have a noun, verb, adjectives etc. Some languages put the adjective after the noun, some before. If you understand the mechanics of one language, you can learn another easily.

                            Shhhhh..... http://craptasticnation.blogspot.com/[^]

                            R 1 Reply Last reply
                            0
                            • K keyboard warrior

                              Trollslayer wrote:

                              No, Wizard was saying that it can provide an advantage.

                              knowing C? That can be said about knowing anything period. So C is just like any other ?

                              ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                              L Offline
                              L Offline
                              l a u r e n
                              wrote on last edited by
                              #18

                              i think the point is that to "know" C you have to be able to design and understand algorithms and data structures effectively and efficiently ... those skills will help you with higher level languages or frameworks personally i find an understanding of HOW they implement frameworks and JIT compilers helps me USE those frameworks more effectively

                              "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                              1 Reply Last reply
                              0
                              • M Member 96

                                :rolleyes: Let's take a step back and consider the difference between programmers that have knowledge of lower level programming languages, they've probably been programming for many years. Higher level languages that are widely in use today are relatively new. A developer who doesn't know C is probably a newer developer who doesn't have those many years of experience. So which programmer is going to be better at solving complicated problems, the new guy or the guy who has been doing it for years, maybe a decade or more? Seems to me the cause and effect are mixed up here. I personally have learned and coded in assembly, cobol etc etc. If I were interviewing people would I ask them a question related to those domains of expertise? No way. It would be ludicrous to do so. But let's say we disregard that. The day to day programming tasks for a developer today are very different than they were before the proliferation of managed higher level languages but the guy asking the questions comes from the old school of unmanaged languages where you had to write your own encryption, memory management etc etc. How hard is it for that guy to be asking questions the newer programmers can't answer: damned easy. It still doesn't amount to anything relevant for the new developer. The end result of software development is to put something in the hands of the end user that solves a real world problem. That should be the focus always, anything else is just a pissing contest with no real world relevance.


                                "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                                L Offline
                                L Offline
                                l a u r e n
                                wrote on last edited by
                                #19

                                but what do you do when the framework goes wrong or has bugs? hold up development of the company mission critical software until the framework maker brings out a bug fix?? no you dive in and fix it by either patching the framework code or making a work-around ... both of which require more knowledge than USING the framework alone no?

                                "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                                M P 2 Replies Last reply
                                0
                                • K keyboard warrior

                                  El Corazon wrote:

                                  that spend 10 minutes in the saddle and drink beers to celebrate

                                  :-D where is this j-o-b

                                  ----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford

                                  E Offline
                                  E Offline
                                  El Corazon
                                  wrote on last edited by
                                  #20

                                  being outsourced to India! ;P :laugh: where it will take 8 hours to do the same.

                                  _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                                  1 Reply Last reply
                                  0
                                  • L l a u r e n

                                    but what do you do when the framework goes wrong or has bugs? hold up development of the company mission critical software until the framework maker brings out a bug fix?? no you dive in and fix it by either patching the framework code or making a work-around ... both of which require more knowledge than USING the framework alone no?

                                    "mostly watching the human race is like watching dogs watch tv ... they see the pictures move but the meaning escapes them"

                                    M Offline
                                    M Offline
                                    Member 96
                                    wrote on last edited by
                                    #21

                                    l a u r e n wrote:

                                    no?

                                    No. I've been using 3rd party components and frameworks for years now. So far no showstopping bugs in the frameworks and though there have been many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.


                                    "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                                    N 1 Reply Last reply
                                    0
                                    • M Member 96

                                      The .net framework is still pretty much in it's infancy you won't find a lot of senior programmers that don't have a background in c++ or c working in .net. Give it a few years and there will be a lot of developers that started in Java or C#.


                                      "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                                      U Offline
                                      U Offline
                                      User of Users Group
                                      wrote on last edited by
                                      #22

                                      There will be a lot of devs for sure, and sadly they'll think like you do. Let me rephrase this as you started this far too many times and I'm willing to go technical with you on any aspect of C#, training and what constitutes a "good developer" (as you put it) and be very comfortable with it. Would you trust Jeff or K&R? Okay, here you gotta a guy that is a celebrity for those that click all day and copy and paste, he is a true VB star and mentality. Writing is on par with Joan Collins, and you get to learn very little. It is sub-tabloid standard material. On the right corner you have the inventors of the universal machine abstraction that got recognised by Stepanov as seminal. That same recognition made generic programming and much more a sucess that CLR people gladly adopted (and screwed up on). You know that piece so you do not use "object","reflection" and more as it is the modern day "void*" and casting? Naah, you wouldn't understand it. That same work is what runs all your software before it boots and all your VMs before they can even do a single bit I/O ( disk, pixel, new Size(), and everything else for that matter). It got refined to a level that CLR will never reach, period. All you have to do is read to understand and you'll see that a good developer is one that picks up at least that.. and for me anyone blogging that type of junk simply wouldn't pass the first question of an interview for any engineering or quality control job. They could get a marketing or salesman or estate agent role though. And there is a demand to sell junk out there as hey customers never cares or know really.. like in every business. But the above to me is the key, you are comparing a lightweight rambling with something you probably do not realise or ever will. And that is a sign of a bad developer, one that refuses to know or accept his limitations. Crap software ensues straight after hence not worth investing in that kind of personality.. Very, very simple.. think about it. So I'd suggest you show what 'good developer' is in knowledge rather than utter nonsense in blog land or own-abstract-invention of 'good'. BIG HINT: A good developer is a critical thinker, one that will never read a blog and post or respond immediatelly (plenty of MS PM blog post have that following and CP articles here too), as if he got clever by reading a paragraph that suited his current circumstances, religous language belief or sub-par techniques and writing. A better developer knows it can always get better, dr

                                      M 1 Reply Last reply
                                      0
                                      • L leckey 0

                                        Having done BASIC as a kid going into C++ in college gave me a good start to OOP which is more preferred in business programming today, in my opinion. We did C++ before C but 6 of 1. We had a teacher (who did some work for NASA) who basically made us do the same program in 4 languages. He drilled into us that if you think about the problem and understand the logic, you can write the pseudocode (he always said, "You should hand simulate 20 minutes a day." With his Korean accent it always sounded dirty) and just change the syntax for the language. Just like English, Spanish, French...you have a noun, verb, adjectives etc. Some languages put the adjective after the noun, some before. If you understand the mechanics of one language, you can learn another easily.

                                        Shhhhh..... http://craptasticnation.blogspot.com/[^]

                                        R Offline
                                        R Offline
                                        Rage
                                        wrote on last edited by
                                        #23

                                        Yes, that's very true, and that's what I have much trouble to get accepted by the people I work for. My ability is programming. I can program in any language you give me, I've never studied any program language, but programming, computer science. And I can program in C, C++, C#, java, VB, PERL, Python, Lots of Assembler, but also a lot of funny scripting languages from different tools.

                                        ~RaGE();

                                        I think words like 'destiny' are a way of trying to find order where none exists. - Christian Graus
                                        Do not feed the troll ! - Common proverb

                                        1 Reply Last reply
                                        0
                                        • M Member 96

                                          l a u r e n wrote:

                                          no?

                                          No. I've been using 3rd party components and frameworks for years now. So far no showstopping bugs in the frameworks and though there have been many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.


                                          "The great pleasure in life is doing what people say you cannot do." - Walter Bagehot

                                          N Offline
                                          N Offline
                                          Nelek
                                          wrote on last edited by
                                          #24

                                          John C wrote:

                                          many bugs in the 3rd party components they were all fixed very fast and didn't put us out at all.

                                          If you demonstrate the error is in their code and report it... they are going to lose their asses to get their product fixed as soon as possible, if the company want to stay in the market... But if the company has already had problems and closed (as I had to face once)... you are a bit f**ked, or you make a workaround or try to find your own solution.

                                          Greetings. -------- M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you “The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson Rating helpfull answers is nice, but saying thanks can be even nicer.

                                          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