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. Is C# Making Devs Dumber (part two)

Is C# Making Devs Dumber (part two)

Scheduled Pinned Locked Moved The Lounge
csharpc++com
84 Posts 44 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.
  • A Anders Molin

    Some days ago I wrote about a new client I got, where I currently spend full-time developing in C++. I also made the statement that C# makes developers dumber. That made quite a few people upset ;) Unfortunately I did not have time to address all the replies, so I thought I would do it here, in a new post. One of the things I really love about C++ is pointers, and the way you can work with them. There are a lot of possible errors, but if you know what you are doing, C++ is seriously cool. C++ keeps me sharp (no pun intended) whereas C# wrap me in some sort of "secure wold" where I can relax in a way not possible in C++... Thats what I mean by "C# makes developers dumber"... - Anders My new photo website[^]

    F Offline
    F Offline
    feline_dracoform
    wrote on last edited by
    #62

    first let me put this in perspective, i work full time as a C++ and C programmer, about 70 / 30 split. i found time to read a book on C# 1 a while ago, and even wrote a couple of small programs in C#, so i have some limited experience of it. most of the time i find working in C *REALLY* frustrating, since i have to spend far to much of my time manipulating char * variables, building strings, checking buffer sizes, etc. oh i have all sorts of useful functions on hand, but it still takes extra effort and work to make sure you are doing it right. move to C++ and a proper string class (i get to use Qt) and suddenly i am free'd from all of this low level work! however there are times when it takes a LOT more code in C++ to do the string manipulation i want to do. these times are rare, and i can happily go for weeks without hitting one, but when i do, i have been known to take my lovely string class, turn it back into a char * and just use pointers to get the job done. which brings me, in a round about manor, to pointers. i have come to view pointers as the char * of the C++ world, in the sense that i seem to spend far more time than i should handling, checking, and double checking them. the Qt GUI framework seems (i have never done MFC programming, so cannot make an informed comparison) incredibly well designed and easy to use. it reminds me, in a general manor, of the forms classes in C# i briefly encountered. it is all build out of pointers to base classes, as you would imagine for C++. 99.9% of the time this is wonderful, easy, and stress free. but just now and then something goes horribly wrong with the pointers, due to someone not paying attention. due to years of practice, and quite a few hard lessons, i am VERY careful with my pointers, but not everyone is. so i see a lot of appeal to moving to a framework that makes as much of the "low level" work automatic as possible. when i am writing a program to decode EDIFACT, or to transform a set of databases from one form to a totally different form (they may overlap, if i am lucky, now and them *eeek*) then do i want to focus on allocating storage for my data, or on manipulating my data? if i use the power of Qt, or C++, or C#, or any other tool, to write basic programs with no depth, no complexity, and am not breaking new ground then i am not learning and growing. given enough time i may even become "dummer". but i could do exactly the same in C. i am clever, i can be stupid in any programming language if i feel the need! when

    1 Reply Last reply
    0
    • M Member 96

      Sometimes this board reminds me of a road construction crew, a few guys down in the trench doing the digging and 10 guys standing around discussing shovel technology.

      R Offline
      R Offline
      rkleinen
      wrote on last edited by
      #63

      Well said.

      1 Reply Last reply
      0
      • L led mike

        Josh Smith wrote:

        Yeah buddy, 1 line vs. 500 lines...hmmm....right.

        Yeah that's what happens when you compare PInvoke in C# to C++ code calling the same API, only in reverse of course. What is your point?

        J Offline
        J Offline
        Josh Smith
        wrote on last edited by
        #64

        I wasn't referring to calling native APIs. I meant having things like delegates & events, automatic memory management, etc. Language/platform features. Josh -- modified at 13:27 Monday 19th June, 2006

        L 1 Reply Last reply
        0
        • J Judah Gabriel Himango

          John Simmons / outlaw programmer wrote:

          It's not about making it easy for programmers or convenient for users - it's about money for Microsoft.

          Actually, the two are mutual: Microsoft wants it to be easy for programmers to develop apps for Windows, which in turn keeps more end users on Windows, which makes Microsoft more money. To say .NET shackles developers to Windows is nonsense; .NET is very portable (case in point, the Mono Project[^], far more so than, say, MFC.

          Tech, life, family, faith: Give me a visit. I'm currently blogging about: Goof around music jam with my brothers (with video) The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

          R Offline
          R Offline
          realJSOP
          wrote on last edited by
          #65

          Judah Himango wrote:

          .NET is very portable (case in point, the Mono Project[^],

          You should read the soapbox...

          "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
          -----
          "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

          J 1 Reply Last reply
          0
          • A Anders Molin

            Some days ago I wrote about a new client I got, where I currently spend full-time developing in C++. I also made the statement that C# makes developers dumber. That made quite a few people upset ;) Unfortunately I did not have time to address all the replies, so I thought I would do it here, in a new post. One of the things I really love about C++ is pointers, and the way you can work with them. There are a lot of possible errors, but if you know what you are doing, C++ is seriously cool. C++ keeps me sharp (no pun intended) whereas C# wrap me in some sort of "secure wold" where I can relax in a way not possible in C++... Thats what I mean by "C# makes developers dumber"... - Anders My new photo website[^]

            R Offline
            R Offline
            Ravi Bhavnani
            wrote on last edited by
            #66

            Imho, not having to worry about pointers (which isn't the same as "not having to know what pointers are and how memory management works") makes me a lot more productive, as do several other facets of C# (and Java). So much so that I've moved exclusively to C#/.NET, except when I have to maintain my C++/MFC freeware apps. Note, I'm not bashing C++/MFC (or non-.NET technologies). /ravi My new year's resolution: 2048 x 1536 Home | Music | Articles | Freeware | Trips ravib(at)ravib(dot)com

            1 Reply Last reply
            0
            • R Richard Parsons

              No problem. Life might be somewhat harder but it would be a lot less stressful then a day at the office I'm sure. Plus what you would do in the wild would actually be productive in the sense that what you were doing would actually benefit you and your family... On the other side, I do like my A/C and I don't like being hot so I'll stick with comfort for now and rely on primitive living for when it just must be done. @the original author: C# isn't bad and neither is C++ but why use unsafe code if you can do the same thing in C# safely? If a problem arises that can't be handled in C# then by all means have fun and write some C++ or unsafe C# code. -Richard

              R Offline
              R Offline
              runelancer
              wrote on last edited by
              #67

              Richard Parsons wrote:

              C# isn't bad and neither is C++ but why use unsafe code if you can do the same thing in C# safely? If a problem arises that can't be handled in C# then by all means have fun and write some C++ or unsafe C# code.

              Though, suppose they made cars that automatically steer away from hazards. Ie, you could drive this thing into a signpost and it would safely steer you back on the road instead of letting itself crash. After a few years of this, you're probably not going to worry as much about driving safely as if you did have these considerations to keep in mind - and frankly, dodging a signpost isn't something you need to put too much effort into doing if you're a decent driver.

              1 Reply Last reply
              0
              • P Paul Watson

                I'm thinking of more than just office days. How about the pursuit of science, expansion into space, time for spiritual matters and time to write a great book. Time to spend flying a kite with your kids because you don't have to spend 18 hours a day picking berries. I don't think hunter gatherer families were at all healthy. It was a crude, mean way of life. If a child got sick, she was left behind and died. We often romanticise past days thinking much of it was spent without the pressure of modern day life. We forget the pressures of basic living. As someone said; life back then was short and brutal. regards, Paul Watson Ireland FeedHenry needs you

                Shog9 wrote:

                eh, stop bugging me about it, give it a couple of days, see what happens.

                -- modified at 10:12 Monday 19th June, 2006

                S Offline
                S Offline
                SlowFatRunner
                wrote on last edited by
                #68

                Paul Watson wrote:

                As someone said; life back then was short and brutal.

                FWIW, Thomas Hobbes, in Leviathan http://en.wikipedia.org/wiki/Hobbes[^] : Life in the state of nature is "solitary, poor, nasty, brutish, and short"

                1 Reply Last reply
                0
                • J Josh Smith

                  I wasn't referring to calling native APIs. I meant having things like delegates & events, automatic memory management, etc. Language/platform features. Josh -- modified at 13:27 Monday 19th June, 2006

                  L Offline
                  L Offline
                  led mike
                  wrote on last edited by
                  #69

                  Josh Smith wrote:

                  I wasn't referring to calling native APIs.

                  There you have it then, some things are simplified while others are more complex. In the new thread the OPs point is different tools for different jobs. Therefore a comparison without context is, as he put it, "silly".

                  1 Reply Last reply
                  0
                  • A Anders Molin

                    Some days ago I wrote about a new client I got, where I currently spend full-time developing in C++. I also made the statement that C# makes developers dumber. That made quite a few people upset ;) Unfortunately I did not have time to address all the replies, so I thought I would do it here, in a new post. One of the things I really love about C++ is pointers, and the way you can work with them. There are a lot of possible errors, but if you know what you are doing, C++ is seriously cool. C++ keeps me sharp (no pun intended) whereas C# wrap me in some sort of "secure wold" where I can relax in a way not possible in C++... Thats what I mean by "C# makes developers dumber"... - Anders My new photo website[^]

                    T Offline
                    T Offline
                    Todd Smith
                    wrote on last edited by
                    #70

                    So does using a calculator. But whoever proposes to use their brain to compute my taxes is getting a swift kick to the %^&*. Todd Smith

                    1 Reply Last reply
                    0
                    • J Josh Smith

                      I don't see how a choice of language could make someone "dumb." A dumb person is slow to learn or understand. I disagree that a person's innate intellectual capacity is directly affected by the programming language they use. Perhaps you meant to say that "C# keeps people ignorant" instead? The abstractions afforded by the .NET framework (not C# in particular) do allow the developer to ignore what many C++ers enjoy most; the nitty grittiness of the underlying details (memory addresses, etc.) By shielding a developer from the ones and zeros, a higher level language does, indeed, keep him/her happily removed from the underlying reality. But as Andrew Koenig mentioned in "Ruminations on C++"...Abstraction is selective ignorance. Cheers, Josh

                      C Offline
                      C Offline
                      Chris S Kaiser
                      wrote on last edited by
                      #71

                      I think the original statement is that working in a language that manages elements for you that other languages don't contribute to a complacency that is realized when you return to the environment where you need those skills and haven't been excercising them. If you go on a survival mission in the woods, you might find that civilazation has made you complacent with regard to survival in the wild. This statement is false.

                      J 1 Reply Last reply
                      0
                      • C Chris S Kaiser

                        I think the original statement is that working in a language that manages elements for you that other languages don't contribute to a complacency that is realized when you return to the environment where you need those skills and haven't been excercising them. If you go on a survival mission in the woods, you might find that civilazation has made you complacent with regard to survival in the wild. This statement is false.

                        J Offline
                        J Offline
                        Josh Smith
                        wrote on last edited by
                        #72

                        I see what you mean. I started off with C++ and then got into C#. Whenever I return to dabble in C++, I find myself forgetting to do the manual labor which the CLR takes care of for me. I don't find that labor to be particularly rewarding or interesting. Deleting objects on the heap, closing file handles, not my idea of a good time. :)

                        Chris S Kaiser wrote:

                        If you go on a survival mission in the woods, you might find that civilazation has made you complacent with regard to survival in the wild.

                        I suppose it's possible that terrorist nukes might destroy our civilization, leaving us to fend for ourselves like cavemen. But I'm not afraid of .NET programming suddenly going away, leaving us all to code in the unforgiving lands of C++. I like my air conditioning, damn it! You can use a palm leaf if you want to. :) Josh

                        C 1 Reply Last reply
                        0
                        • J Josh Smith

                          I see what you mean. I started off with C++ and then got into C#. Whenever I return to dabble in C++, I find myself forgetting to do the manual labor which the CLR takes care of for me. I don't find that labor to be particularly rewarding or interesting. Deleting objects on the heap, closing file handles, not my idea of a good time. :)

                          Chris S Kaiser wrote:

                          If you go on a survival mission in the woods, you might find that civilazation has made you complacent with regard to survival in the wild.

                          I suppose it's possible that terrorist nukes might destroy our civilization, leaving us to fend for ourselves like cavemen. But I'm not afraid of .NET programming suddenly going away, leaving us all to code in the unforgiving lands of C++. I like my air conditioning, damn it! You can use a palm leaf if you want to. :) Josh

                          C Offline
                          C Offline
                          Chris S Kaiser
                          wrote on last edited by
                          #73

                          Josh Smith wrote:

                          I suppose it's possible that terrorist nukes might destroy our civilization, leaving us to fend for ourselves like cavemen. But I'm not afraid of .NET programming suddenly going away, leaving us all to code in the unforgiving lands of C++. I like my air conditioning, damn it! You can use a palm leaf if you want to.

                          Heh heh... I'm currently coding in C# and loving it. But I think the thread is more about complacency than dumbness. Keeping skills sharp is our responsibility, not the languages. If your not entering the woods, then complacency may serve you. I did some C++ recently and discovered that I took some things for granted. And this is I think, the fear behind a large portion of the new developers not having this experience is that understanding what's under the hood makes you a better developer in any language. You still need to understand memory management in C#, you should at least understand garbage collection and how much of a hit your 1000+ string concatenations are doing to your performance. So, no, I don't think that C# ruins engineers, but it does contribute to complacency with new engineers that haven't had to manage the basics. This statement is false.

                          1 Reply Last reply
                          0
                          • J J Dunlap

                            Paul Watson wrote:

                            Same with programming applications. I want to focus on features, usability and functionality. Not figuring out pointers, bytes and low level processes.

                            Exactly. The best programming platform, IMO, is one that lets you focus more on features, usability, functionality, flexibility, and extensibility most of the time, but allows for raw speed and low-level stuff when needed. .NET with C# and C++/CLI does that well.

                            J Offline
                            J Offline
                            jshelby781
                            wrote on last edited by
                            #74

                            Enjoying this thread and reflecting on the past ... once upon a time, people said that OOLs like C++ would dumb down C programmers ... that HLLs like C would dumb down assembler programmers ... I have seen people enter machine language into a mainframe using a toggle switch. Long ago, there must have been some whale saying "if we crawl up on the land, we will lose our ability to fight off sharks, so I'm gonna stay here in the ocean and be a real cetacean." Been around the block a few times

                            D P A 3 Replies Last reply
                            0
                            • R Richard Parsons

                              No problem. Life might be somewhat harder but it would be a lot less stressful then a day at the office I'm sure. Plus what you would do in the wild would actually be productive in the sense that what you were doing would actually benefit you and your family... On the other side, I do like my A/C and I don't like being hot so I'll stick with comfort for now and rely on primitive living for when it just must be done. @the original author: C# isn't bad and neither is C++ but why use unsafe code if you can do the same thing in C# safely? If a problem arises that can't be handled in C# then by all means have fun and write some C++ or unsafe C# code. -Richard

                              D Offline
                              D Offline
                              Dan Rosenfeld
                              wrote on last edited by
                              #75

                              This thread, and others like it that either promote a language as being the best, or the worst, always tickle me. "Do these message posters only use a single language for everything?", I think to myself. Maybe so, maybe the posters are C#, or C++ programmers, and not Application Developers. I think the average Application Developer uses several languages, and picks the best one for the job at hand. I was an assembly language programmer for 15 years, and I could write a program to do most anything, except user interfaces. I recognized the shortcoming of the language in that area, and used another tool for user interfaces. I did this because I'm an Application Developer, and not just an assembly language programmer. Part of what makes us good at our job is knowing what tool to use for what occasion. Trying to make one programming language work for every task limits your capabilities... and your hourly rate :) DanR

                              1 Reply Last reply
                              0
                              • J jshelby781

                                Enjoying this thread and reflecting on the past ... once upon a time, people said that OOLs like C++ would dumb down C programmers ... that HLLs like C would dumb down assembler programmers ... I have seen people enter machine language into a mainframe using a toggle switch. Long ago, there must have been some whale saying "if we crawl up on the land, we will lose our ability to fight off sharks, so I'm gonna stay here in the ocean and be a real cetacean." Been around the block a few times

                                D Offline
                                D Offline
                                Devin G
                                wrote on last edited by
                                #76

                                LOL

                                1 Reply Last reply
                                0
                                • R rkleinen

                                  The fact that people (in this case a c++ programmer) constantly feel the need to tear others down (in this case c# programmers) continues to amaze me. Those who ARE smart (anyone who uses a tool to accomplish a given task well) don't need to bring others down. Those who CLAIM to be smart (c++ programmer) by showing that others are dumb is the one who in reality is _ _ _ _. A smart thing to do would be to come up with something more creative, original and useful to write about and discuss. How about writing an example of where and how using pointers in c++ is a better tool for a given situation. Then we can use our brains to discuss something that may actually be helpful. Sincerely, Programmer (period)

                                  R Offline
                                  R Offline
                                  Rocky Moore
                                  wrote on last edited by
                                  #77

                                  rkleinen wrote:

                                  Those who ARE smart (anyone who uses a tool to accomplish a given task well)

                                  I agree with this. Most programming languages do the same thing, some with better performance others, some with less time in development, but the end result is usually close to the same thing on a specific target platform. I could care less what other developers choose as a good technology to work in as long as I am not pressured or forced to use it. In my thoughts, a good programmer picks the tools they will master and uses those tools to their full extent to get the job done. Rocky <>< Latest Post: Visual Studio 2005 Standard, whats missing? Blog: www.RockyMoore.com/TheCoder/[^]

                                  1 Reply Last reply
                                  0
                                  • R realJSOP

                                    Judah Himango wrote:

                                    .NET is very portable (case in point, the Mono Project[^],

                                    You should read the soapbox...

                                    "Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
                                    -----
                                    "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001

                                    J Offline
                                    J Offline
                                    Judah Gabriel Himango
                                    wrote on last edited by
                                    #78

                                    Every time I read the soapbox, I waste about 2 hours replying to message. No way I'm visiting the soapbox anymore, not at work at least. :)

                                    Tech, life, family, faith: Give me a visit. I'm currently blogging about: Goof around music jam with my brothers (with video) The apostle Paul, modernly speaking: Epistles of Paul Judah Himango

                                    1 Reply Last reply
                                    0
                                    • J jshelby781

                                      Enjoying this thread and reflecting on the past ... once upon a time, people said that OOLs like C++ would dumb down C programmers ... that HLLs like C would dumb down assembler programmers ... I have seen people enter machine language into a mainframe using a toggle switch. Long ago, there must have been some whale saying "if we crawl up on the land, we will lose our ability to fight off sharks, so I'm gonna stay here in the ocean and be a real cetacean." Been around the block a few times

                                      P Offline
                                      P Offline
                                      Polite Programmer
                                      wrote on last edited by
                                      #79

                                      I am of the point that C# makes developers dump. Not only dumb but deaf too... When pretty much is already done for you, you dont have to figure out about your memory management other issues then what the hell the power you have in your hands? Its just merely a Macro Programmming Language then... C# is a newer version of VB wearing the skin of Java. And that's it. If C# is the way to go, please let me know why the following applicatiosn are still in C++ 1) Microsoft Office XP 2) Microsoft Office 2003 3) Microsoft Visual Studio .NET 2002 3) Microsoft Visual Studio .NET 2003 Even Microsoft Office 2007 is not a managed app at all. By providing .NET Framework, Microsoft answered Sun Microsystems for there J2EE in exactly the same way its answering Sony for its PlayStation 3 with XBox 360. Looking into the future of computing hardware and the situation of silicon and integration, I am convinced that the Idea of Rutime Eviroments is far fetched yet whether it be JVM or CLR. At least next decade is not for them. Still in 2006, we dont have PCs operating more then 4 GHz even though we may have jumped from 32 bit to 64 bits architectures.... On the average, users have a RAM of 512 MB. 1 GB RAM is not the norm yet.... So these Rutime Enviroments are asthetically pleasant when viewed from architectural point of view that every thing is wrapped in an object... But have to do less with the reality. Best regards, Mohsin Polite Programmer


                                      More Object Oriented then C#

                                      1 Reply Last reply
                                      0
                                      • J jshelby781

                                        Enjoying this thread and reflecting on the past ... once upon a time, people said that OOLs like C++ would dumb down C programmers ... that HLLs like C would dumb down assembler programmers ... I have seen people enter machine language into a mainframe using a toggle switch. Long ago, there must have been some whale saying "if we crawl up on the land, we will lose our ability to fight off sharks, so I'm gonna stay here in the ocean and be a real cetacean." Been around the block a few times

                                        A Offline
                                        A Offline
                                        Aza
                                        wrote on last edited by
                                        #80

                                        My personal objection to C# (for the development that I do professionally) is the lack of source code protection. Obfuscation does not work and I am unsure if the protectors I have found will work in future versions of the .NET Framework. Source code protection possibilities should be a built-in feature. Johannes

                                        1 Reply Last reply
                                        0
                                        • A Anders Molin

                                          Some days ago I wrote about a new client I got, where I currently spend full-time developing in C++. I also made the statement that C# makes developers dumber. That made quite a few people upset ;) Unfortunately I did not have time to address all the replies, so I thought I would do it here, in a new post. One of the things I really love about C++ is pointers, and the way you can work with them. There are a lot of possible errors, but if you know what you are doing, C++ is seriously cool. C++ keeps me sharp (no pun intended) whereas C# wrap me in some sort of "secure wold" where I can relax in a way not possible in C++... Thats what I mean by "C# makes developers dumber"... - Anders My new photo website[^]

                                          T Offline
                                          T Offline
                                          ThornPhlaunting
                                          wrote on last edited by
                                          #81

                                          C# is just the beginning. Programming languages will continue to become increasingly abstract and thus lend themselves to greater programmer productivity. Does anyone still lament the leap from assembler to higher-level code like C? Many programmers now do not even consider C high-level. Before very long, even C++ will almost seem like assembler does now because of the need to pay attention to low-level details. Eventually, C# will be eclipsed by something even more abstract (perhaps C** "See Stars") where the programmer makes syntactical "gestures" and the compiler just seems to know what you mean. Integrated logic debugging will be tightly married to code production rather than an afterthought. Intellisense is the handwriting on the wall, so to speak, a hint of what is to come. Every religion has its adherents, and programming languages are a lot like religions - formal systems of belief. But the holy grail for coders is and always will be productivity. Doing the most with the least effort, the fewest lines of code, is what drives compiler development and pushes programming languages into higher and higher levels of abstraction. We have lift-off. Thorn

                                          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