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. C++ again :-) (Does C# make you dumber?)

C++ again :-) (Does C# make you dumber?)

Scheduled Pinned Locked Moved The Lounge
csharpc++comquestion
74 Posts 34 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.
  • Y yi_huangyi_yi_new hotmail com

    C#, c++, vb just tools. so it is useless to argue which tool is the best.:laugh:

    N Offline
    N Offline
    NormDroid
    wrote on last edited by
    #62

    VB is like a blunt saw, makes a mess with every job it comes into contact with. Never send a human to do a machine's job Agent Smith

    1 Reply Last reply
    0
    • N Nemanja Trifunovic

      norm.net wrote:

      Any I've done my 10 year stint with MFC/COM/ATL/Win32 find c# and .net a refreshing change, plus I get to design some really good UIs which would of taken man years in MFC/WTL.

      Again, how's that different from VB6? I used it and it was really great for putting some UI together quickly, just like with C# and WinForms. ASP.NET is way more advanced than "classic" ASP, but for desktop form-based applications I see no real advantage of .NET compared to VB6.


      My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

      B Offline
      B Offline
      baldricman
      wrote on last edited by
      #63

      ok, not to poke the coals here, but whats c++ going to do for you that you can't achieve in C#? Honestly, 90% of what you "can't do in C# that you can do in C++" is either because you shouldn't need to anymore, or you don't understand C# fully, or you're scared of losing the "control" you had in a more primitive language. Also, just to clarify, are you basically saying that C# and VB6 are essentially the same (in "usefulness"), or is that statement limited to UI development? I'm interested in this, as I have a constant battle with older developers (sorry, "programmers") who hate anything new-fangled, anything reusable/pre-written/generated, anything where they think they are losing control, anything where they don't have to write their own frikkin machine code everytime they want to populate a textbox! -- modified at 2:55 Wednesday 14th June, 2006

      1 Reply Last reply
      0
      • N NormDroid

        Oh Phil remember that gastly project you worked in, just think how simple things could of been with C# and .net. Oh Dephi ATL and RAW COM those where the days :zzz: Never send a human to do a machine's job Agent Smith

        P Offline
        P Offline
        Phil Harding
        wrote on last edited by
        #64

        norm.net wrote:

        Dephi ATL and RAW COM those where the days

        Norm, that must have been why you fell off your chair so much :) But seriously, how much stead can one put in .NET, when Mr Duffy thinks it's a great language :doh: Phil Harding.
        myBlog [^]  |  mySite [^]

        N 1 Reply Last reply
        0
        • P Phil Harding

          norm.net wrote:

          Dephi ATL and RAW COM those where the days

          Norm, that must have been why you fell off your chair so much :) But seriously, how much stead can one put in .NET, when Mr Duffy thinks it's a great language :doh: Phil Harding.
          myBlog [^]  |  mySite [^]

          N Offline
          N Offline
          NormDroid
          wrote on last edited by
          #65

          Yeah, Duffy is working with a good friend of mine, and you guessed it, he's upto his usual tricks again. Anyway, I'm about to launch a great tool for Network Discovery written entirely in .net/c#. Something of this ilk would of taken months in MFC/WTL etc. I find that I rarely need C++ except for low level stuff. A good example where I am using C++ is a ATL wrapper over the CISCO Client VPN API, something which couldn't be done in .net. Horses for course as the saying goes... Falling off the chair maybe, but still I cut the code ;P Never send a human to do a machine's job Agent Smith

          1 Reply Last reply
          0
          • V Vikram A Punathambekar

            John Simmons / outlaw programmer wrote:

            Maybe Mr. Corinna has found a comfort zone in C# that was unattainable for him in C++.

            A lovely one, I might add. :-O š Cheers, Vikram.


            I don't know and you don't either. Militant Agnostic

            P Offline
            P Offline
            pathakr
            wrote on last edited by
            #66

            If you see her articles and her expertise , you might fart, you can not reach upto her pathak

            V 1 Reply Last reply
            0
            • P pathakr

              If you see her articles and her expertise , you might fart, you can not reach upto her pathak

              V Offline
              V Offline
              Vikram A Punathambekar
              wrote on last edited by
              #67

              pathakr wrote:

              If you see her articles and her expertise

              Believe me, I have and they are amongst the best. :omg: š Cheers, Vikram.


              I don't know and you don't either.    Militant Agnostic

              1 Reply Last reply
              0
              • N NormDroid

                A man after my own heart, .net ,the IDE the extendable debugging features, rich UI, makes .net a sure fire winner when it comes to windows development. C++ guys have to look round at the demand for C++/MFC/Win32, and it's is dropping, if they continue hiding in their ivory towers, one day they will topple. Rocky, can't wait for linq, also generics has been a big help in .net, what are your thoughts on .net. Never send a human to do a machine's job Agent Smith

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

                norm.net wrote:

                can't wait for linq, also generics has been a big help in .net, what are your thoughts on .net.

                Yeah, I hear that! It really looks like .NET 3.0 is going to be another big jump. At least book publishers must be loving this, there is a new flood of books almost every 6-12 months :) It is hard to keep up with all these changes though. I know there are areas I am missing out on, but I have not needed up to this point. It is amazing how many $75K and above jobs in .NET are out there right now and if a person has lead experince, it closer or over the six digit range. Nice to see again after the big dot boom of 2001! This is another program of C/C++ developers though, as the market for those skills shrink, the number of developers who have those skills remain high. In other words, the pond remains the same size or gets larger but the food is starting to vanish.. There will be C/C++ jobs for years to come, but I think the fun projects will be in .NET and VERY soon, requiring Vista knowledge. Vista will be pulling the masses into many new technologies and the market will be huge! Rocky <>< Latest Post: Visual Studio 2005 Standard, whats missing? Blog: www.RockyMoore.com/TheCoder/[^]

                1 Reply Last reply
                0
                • A Anders Molin

                  Just got a 6-month contract with a client. I'll spend the time at their location coding C++... It's good to get my hands on a C++ compiler again, I've spent way too much time in C#. I know it's not popular to say, but I still think C# makes programmers dumber and more lazy, not to mention that it's way more boring than C++ ;) - Anders My new photo website[^]

                  E Offline
                  E Offline
                  Ennis Ray Lynch Jr
                  wrote on last edited by
                  #69

                  Prolly dumber as a C++ programmer. From what little I do in C++ there is no effective difference between the two other than memory allocation. Really it comes down to no longer memorizing tedious API's (Ok winsock is easy, but why can't DirectX be?). The only thing I can see making an programmer actually dumber is blind faith reliance on generated code and trusting the "machine". If you can't code it yourself blindfolded while talking on IM to your grandmother and tech supporting a luser on the phone don't use the tool. "Until the day of his death, no man can be sure of his courage" -- Jean Anouilh

                  1 Reply Last reply
                  0
                  • A Anders Molin

                    Just got a 6-month contract with a client. I'll spend the time at their location coding C++... It's good to get my hands on a C++ compiler again, I've spent way too much time in C#. I know it's not popular to say, but I still think C# makes programmers dumber and more lazy, not to mention that it's way more boring than C++ ;) - Anders My new photo website[^]

                    Q Offline
                    Q Offline
                    quicke022
                    wrote on last edited by
                    #70

                    I agree. C/C++ keeps people on their toes and thinking; thus allowing more opportunities for inventive design patterns and original products. QED

                    1 Reply Last reply
                    0
                    • B BrockVnm

                      Marc Clifton wrote:

                      public bool Foo(string a, string b) { bool ret = false; if (Bar(a) == Fizbin(b)) { ret = true; } return ret; }

                      I see this all the time. I am constantly fixing things like this all day long. I agree it does not matter what language people are using, a bad developer is always going to be a bad developer.

                      K Offline
                      K Offline
                      Kevin McFarlane
                      wrote on last edited by
                      #71

                      I too see it all the time! :) It's the kind of thing I used to do myself when I was starting out many years ago.:mad: Kevin

                      1 Reply Last reply
                      0
                      • M Marc Clifton

                        Anders Molin wrote:

                        Just got a 6-month contract with a client.

                        Congrats! Different client, I take it?

                        Anders Molin wrote:

                        but I still think C# makes programmers dumber and more lazy

                        Well, I would argue that anything above throwing toggle switches on the front panel of a PDP-11 makes programmers dumber and more lazy. But it also separates the wheat from the chaf. For example, C#'s lock statement is great: (from MSDN mag): You should always use exception handling with thread synchronization mechanisms to ensure that locks are released properly. If you use the C# lock statement, the compiler writes the proper code for you automatically. Does this make a programmer dumber? No. In C++, a dumb programmer wouldn't realize that he has to manually release locks in an exception handler. What C# does is make on more productive, and yes, it helps dumb programmers from making dumb mistakes that other people then have to fix. Lazy? No, again, I think C# makes a programmer, especially an experienced programmer, more productive. Dumb programmers will be dumb regardless of the language. Look at this code I recently came across (names of have been changed to protect the dumb):

                        public bool Foo(string a, string b)
                        {
                        bool ret = false;
                        if (Bar(a) == Fizbin(b))
                        {
                        ret = true;
                        }
                        return ret;
                        }

                        Wow. All that to say:

                        public bool Foo(string a, string b)
                        {
                        return Bar(a) == Fizbin(b);
                        }

                        Isn't that amazing? And that's totally language independent. You wouldn't know whether that was C#, C++, or even C [edit]well, except for that little "public" token, hehehe [/edit] Well anyways, that's my 2c. :) Marc Pensieve Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson -- modified at 8:13 Tuesday 13th June, 2006

                        K Offline
                        K Offline
                        Kevin McFarlane
                        wrote on last edited by
                        #72

                        Well said, Marc. :) Kevin

                        1 Reply Last reply
                        0
                        • M Member 96

                          Sometimes stuff like that can creep into my code if I forget to remove it. The reason is when debugging you need to see the value as you're stepping through a method before it's returned. Of course it's all much more complex stuff than that but same idea. I wonder if the compiler optimizes that stuff out?

                          K Offline
                          K Offline
                          Kevin McFarlane
                          wrote on last edited by
                          #73

                          Yes, it often depends on the context. Sometimes I'm more explicit than I need to be, just to make my intention clear (both to myself and others). I also tend to avoid too many chained calls, precisely so I can examine intermediate variables/objects. Plus it usually makes it easier to follow. One thing I dislike, and now avoid where I can, is passing boolean literals and nulls, as arguments. I assign them to meaningful identifiers first and then call the method. Otherwise, when looking at a call, you can't figure out the significance of a string of nulls, false's and true's without doing an F1. Kevin

                          1 Reply Last reply
                          0
                          • J Joe Woodbury

                            I too found it a joy to go back to C++, but part of that might be because I got tired of P/Invoking all the time to get .NET to do what I needed it to do. I'm not sure C# makes programmers dumber, but I have noticed they do tend to get more lazy. For example, while garbage collection is nice, it doesn't give you a blank check to simply allocate objects like crazy. Worse, cleaning up resources isn't automatic (as I said in another post, how many developers really understand IDisposable?) At my last company, I brought up the need to still do profiling in .NET and was told it wasn't an issue. News flash; it is. (Performance and memory issues were becoming such a big concern for me, based on what I was seeing with the prototype, that I was privately considering pushing a bunch of stuff into a C++ native DLL. In hindsight, I should have done that from the beginning.) One thing that drives me crazy with C#/.NET is how often exceptions are used for things that really aren't exceptions (meaning "something really bad happened.") I have code with the most nightmarish try/catch/using statements. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke

                            K Offline
                            K Offline
                            Kevin McFarlane
                            wrote on last edited by
                            #74

                            Joe Woodbury wrote:

                            One thing that drives me crazy with C#/.NET is how often exceptions are used for things that really aren't exceptions (meaning "something really bad happened.") I have code with the most nightmarish try/catch/using statements.

                            Hi Joe, I'm going to agree with you for a change! :) (Actually, I don't think we were that far apart really.) I recently worked on a C# project (actually applying retrospective unit testing to it - a nightmare!:((). As it happened the developer was a former C++ developer, which just goes to show you cannot assume good practices based on language background). Anyway, he embedded try-catch blocks in virtually every method, with the catch block almost always doing nothing other than rethrowing! He also on occasion swallowed exceptions - including at least one bug I ran into. Also, in most cases he caught a generic, rather than a specific, Exception before rethrowing. Kevin

                            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