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. Yeah? But which language gets the job and earns the bucks

Yeah? But which language gets the job and earns the bucks

Scheduled Pinned Locked Moved The Lounge
csharpc++csscom
72 Posts 21 Posters 9 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.
  • D Daniel Turini

    Where C++ on .NET (damn, even the language name changed from C++ to MC++ to C++/CLI) shines is on interop. You can call native APIs and have your COM components with predictable destructors even on .NET: this is tremendously useful if you have to write an abstraction layer over a low-level API. Not all applications can be written accessing only databases and XML files. Some of us need to deal with low-level protocols, but often this is only a small part of the application and doing the entire application on C++ could be overkill. I see dead pixels Yes, even I am blogging now!

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

    Oh, well then...that makes it all worthwhile! :-D :rolleyes:


    "A preoccupation with the next world pretty clearly signals an inability to cope credibly with this one."

    1 Reply Last reply
    0
    • M Member 96

      Daniel Turini wrote: C++ on .NET sucks. Yes, I know, the new version that will be release will be the best thing since sliced bread, but it's not here yet. I *really* don't get that at all. I was a c++ and before that C programmer for many years but why in the world would I want to bring all that baggage into .net world? C# is *written* for .net for christs sake! I wouldn't touch MC++ with a 50 foot pole after using c# for a couple of years now. Why support a few die hards with a munged together bastard child of C++ and .net?


      "A preoccupation with the next world pretty clearly signals an inability to cope credibly with this one."

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

      John Cardinal wrote: Why support a few die hards with a munged together bastard child of C++ and .net? Because the federal government has not fully adopted C#, in fact C++ was only "recently" adopted, Ada requirements only died out a few years ago, and I have seen "new" stuff written for fortran only 4 years ago. .Net will be a tough one to convince someone to adopt 100% in US federal architectures. So a few of those "die hard" C++ users carry some massively big bucks to keep C++ alive and kicking. I don't necessarily agree with the federal MS only adoption of 3 years back, but this is part of that. _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

      M 1 Reply Last reply
      0
      • D Daniel Turini

        I usually bite MS marketing about every single product they produce. I love .NET, even though there are people that still hate it. I even used, forgive me God, Visual Basic. Two exceptions: 1. SourceSafe 2. C++ on .NET sucks. Yes, I know, the new version that will be release will be the best thing since sliced bread, but it's not here yet. When it comes, all I learned about MC++ will be worth nothing. Yes, I know, MS swears that this version will be part of some C++ standard, but we all know how slow the C++ Standardization Committees are to approve a single keyword. I see dead pixels Yes, even I am blogging now!

        N Offline
        N Offline
        Nemanja Trifunovic
        wrote on last edited by
        #14

        Daniel Turini wrote: C++ on .NET sucks Compare[^]:

        String^ ReadFirstLineFromFile( String^ path ) {
        StreamReader r(path);
        return r.ReadLine();
        }

        with

        String ReadFirstLineFromFile( String path ) {
        using ( StreamReader r = new StreamReader(path) ) {
        return r.ReadLine();
        }
        }

        Which one "sucks" here in your opinion?


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

        D S A 3 Replies Last reply
        0
        • J Jerry Hammond

          In a thread ( http://www.codeproject.com/lounge.asp?forumid=1159&select=1121633&fr=51#xx1121181xx[^] ) started by Nish some suggests that C# is dead. Yeah? But which language are the majority of employers looking for when hunting for .Net developers. Bet it is C# and VB.Net and not C++. In fact, reading one head hunter's pamplet on salaries C++ is not even mentioned for .Net developers and the section on C++ developers talks about a 5 to 10% decrease in earings from last year. Maybe it is fun to be a C++ developer, and a blast from the past to work with legacy code, but it cain't be fun earning less than them managed code guys. Jerry Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

          D Offline
          D Offline
          Dead Skin Mask
          wrote on last edited by
          #15

          sure it's not used that commonly anymore but what about game devs ? they use mostly C/C++ and that's a huge industry with f$%!loads of money in it. besides that, there are still a few places where C++ is used almost exclusively (OS/Kernel development, industrial strength graphics, etc etc) it aint just for fun(!) and legacy stuff. also, weren't java devs paid alot more than most a few years back ? :-D

          J M 2 Replies Last reply
          0
          • J Jerry Hammond

            In a thread ( http://www.codeproject.com/lounge.asp?forumid=1159&select=1121633&fr=51#xx1121181xx[^] ) started by Nish some suggests that C# is dead. Yeah? But which language are the majority of employers looking for when hunting for .Net developers. Bet it is C# and VB.Net and not C++. In fact, reading one head hunter's pamplet on salaries C++ is not even mentioned for .Net developers and the section on C++ developers talks about a 5 to 10% decrease in earings from last year. Maybe it is fun to be a C++ developer, and a blast from the past to work with legacy code, but it cain't be fun earning less than them managed code guys. Jerry Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

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

            You might as well ask which stock to invest in. All any of us can truly do for the future is make an educated guess based on past experience. You will be paid the minimum market competition for your expertice will allow. That is just business. Market competition will change based on new requirements for various languages, with pulls and pushes here and there, give and take, and of course also by the number of people who know it. If there are 10 jobs for a language and only one person to fill the requirements, he will be paid very handsomely indeed. Therefore you can be paid more for a Cobol shop, if you can find someone still desperate for a Cobol programmer. That won't make the job healthy though. My brother focused only on the money, hates his job, loves his money. I am below the national average for pay, but then so are my living expenses. I enjoy my job and can live comfortably on the wage, what more can a person ask for? The death of C++ may come, I don't know when. When it does I will move on. :) _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

            1 Reply Last reply
            0
            • N Nemanja Trifunovic

              Daniel Turini wrote: C++ on .NET sucks Compare[^]:

              String^ ReadFirstLineFromFile( String^ path ) {
              StreamReader r(path);
              return r.ReadLine();
              }

              with

              String ReadFirstLineFromFile( String path ) {
              using ( StreamReader r = new StreamReader(path) ) {
              return r.ReadLine();
              }
              }

              Which one "sucks" here in your opinion?


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

              D Offline
              D Offline
              Daniel Turini
              wrote on last edited by
              #17

              Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. 2. I cannot write production code with it: it's still beta. There's no way I will use a buggy beta version on a production system. It's not even a "Release Candidate" (aka "feature freeze version") yet, so all the features can change, and there's no way to assure that even the sample you showed will work on the final version. Press "Next" two or three times on CP and you'll see someone complaining about the IDE deleting code. This could lead to really subtle bugs. BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? I see dead pixels Yes, even I am blogging now!

              N N 3 Replies Last reply
              0
              • F fd9750

                Whichever gets the job done. I mainly program machine control systems and for that we are still using plain vanilla "C". Even more ancient than C++. On the PC side (which is not often done here) we use some VB, some C++ with a bit of MFC and whatever else we stumble onto that turns out to be usefull. All in all the company I and my colleagues work for is doing fairly well . We will probably not get rich from it but we get a decent pay and in my case that has been so for the last 19 years. I can't really say I am very worried about which language is fashionable. I recently heard that a company near us was willing to pay nicely to get themselves a "COBOL" programmer. Most of you young folks probably do not have a clue what that programming language is let alone how to use it but it shows that fashion is not everything. All for now, Filip

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

                Filip Dossche wrote: Most of you young folks probably do not have a clue what that programming language is let alone how to use it but it shows that fashion is not everything. watch who you are calling "young" ;P I had to take COBOL off of my resume because head hunters were calling me desperately pleading at all hours of the day and night. _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                1 Reply Last reply
                0
                • J Jerry Hammond

                  Lucky you. I don't doubt that is your experience for a moment, but it does fly in the face of that National Agency's salary guide. My brother, A FoxPro dev, is just this starting a new job in which he is making above the average...I guess, like him, you get to be one of the folks who earn at the top of the average and not at the bottom. Jerry Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

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

                  Toasty0 wrote: Lucky you. I don't doubt that is your experience for a moment, but it does fly in the face of that National Agency's salary guide. I bet that guide doesn't take into account Australia, and especially those Sandgropers, weirdos from the west coast they are. Michael Martin Australia "I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So i had to leave the place as soon as possible." - Mr.Prakash 24/04/2004

                  J 1 Reply Last reply
                  0
                  • D Dead Skin Mask

                    sure it's not used that commonly anymore but what about game devs ? they use mostly C/C++ and that's a huge industry with f$%!loads of money in it. besides that, there are still a few places where C++ is used almost exclusively (OS/Kernel development, industrial strength graphics, etc etc) it aint just for fun(!) and legacy stuff. also, weren't java devs paid alot more than most a few years back ? :-D

                    J Offline
                    J Offline
                    Jerry Hammond
                    wrote on last edited by
                    #20

                    Sure game devs use C++/C, but they only pay well if you don't divide your salary into their usually required 90 hour week. Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

                    1 Reply Last reply
                    0
                    • L Lost User

                      Toasty0 wrote: Lucky you. I don't doubt that is your experience for a moment, but it does fly in the face of that National Agency's salary guide. I bet that guide doesn't take into account Australia, and especially those Sandgropers, weirdos from the west coast they are. Michael Martin Australia "I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So i had to leave the place as soon as possible." - Mr.Prakash 24/04/2004

                      J Offline
                      J Offline
                      Jerry Hammond
                      wrote on last edited by
                      #21

                      You're correct. The guide is only applicable for North America. Is it different for down-under folks? Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

                      L 1 Reply Last reply
                      0
                      • D Daniel Turini

                        Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. 2. I cannot write production code with it: it's still beta. There's no way I will use a buggy beta version on a production system. It's not even a "Release Candidate" (aka "feature freeze version") yet, so all the features can change, and there's no way to assure that even the sample you showed will work on the final version. Press "Next" two or three times on CP and you'll see someone complaining about the IDE deleting code. This could lead to really subtle bugs. BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? I see dead pixels Yes, even I am blogging now!

                        N Offline
                        N Offline
                        Nemanja Trifunovic
                        wrote on last edited by
                        #22

                        Daniel Turini wrote: Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. If you mean MC++, I agree. But C# isn't compatible with anything. With C++/CLI you can still reuse tons of tested and production ready C/C++ code. Daniel Turini wrote: I cannot write production code with it: it's still beta. Sure thing. But you can't really say that something "sucks" because it is still beta. Does ASP.NET 2.0 suck? Daniel Turini wrote: BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? Well, yeah :)

                        #include "gc_scoped.h" //use google to find this little header file
                        ...
                        String* ReadFirstLineFromFile( String* path ) {
                        gc_scoped <StreamReader*> r (new StreamReader(path) )
                        return r->ReadLine();
                        }


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

                        D 2 Replies Last reply
                        0
                        • D Daniel Turini

                          Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. 2. I cannot write production code with it: it's still beta. There's no way I will use a buggy beta version on a production system. It's not even a "Release Candidate" (aka "feature freeze version") yet, so all the features can change, and there's no way to assure that even the sample you showed will work on the final version. Press "Next" two or three times on CP and you'll see someone complaining about the IDE deleting code. This could lead to really subtle bugs. BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? I see dead pixels Yes, even I am blogging now!

                          N Offline
                          N Offline
                          Nemanja Trifunovic
                          wrote on last edited by
                          #23

                          Daniel Turini wrote: Sorry, the second version sucks, because: By "second version", do you mean second version of MC++ aka C++/CLI, or the second version of the code from my message? Because the second one is C# and it does suck ;P


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

                          1 Reply Last reply
                          0
                          • J Jerry Hammond

                            You're correct. The guide is only applicable for North America. Is it different for down-under folks? Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

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

                            Toasty0 wrote: Is it different for down-under folks? No idea. I left programming in 1998 to be a over paid consultant flying around the world. Got retrenched at the end of 2001 and couldn't get a mainstream computer job. After 13 months unemployed I became a Work For the Dole supervisor running a computer refurbishing project. Couple of months ago I got retrenched from that. Now I pull beers for a living in a pub and a club. Michael Martin Australia "I controlled my laughter and simple said "No,I am very busy,so I can't write any code for you". The moment they heard this all the smiling face turned into a sad looking face and one of them farted. So i had to leave the place as soon as possible." - Mr.Prakash 24/04/2004

                            1 Reply Last reply
                            0
                            • N Nemanja Trifunovic

                              Daniel Turini wrote: Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. If you mean MC++, I agree. But C# isn't compatible with anything. With C++/CLI you can still reuse tons of tested and production ready C/C++ code. Daniel Turini wrote: I cannot write production code with it: it's still beta. Sure thing. But you can't really say that something "sucks" because it is still beta. Does ASP.NET 2.0 suck? Daniel Turini wrote: BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? Well, yeah :)

                              #include "gc_scoped.h" //use google to find this little header file
                              ...
                              String* ReadFirstLineFromFile( String* path ) {
                              gc_scoped <StreamReader*> r (new StreamReader(path) )
                              return r->ReadLine();
                              }


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

                              D Offline
                              D Offline
                              Daniel Turini
                              wrote on last edited by
                              #25

                              Nemanja Trifunovic  wrote: #include "gc_scoped.h" //use google to find this little header file Using external include files is cheating... Please, include the full source... I see dead pixels Yes, even I am blogging now!

                              N 1 Reply Last reply
                              0
                              • N Nemanja Trifunovic

                                Daniel Turini wrote: C++ on .NET sucks Compare[^]:

                                String^ ReadFirstLineFromFile( String^ path ) {
                                StreamReader r(path);
                                return r.ReadLine();
                                }

                                with

                                String ReadFirstLineFromFile( String path ) {
                                using ( StreamReader r = new StreamReader(path) ) {
                                return r.ReadLine();
                                }
                                }

                                Which one "sucks" here in your opinion?


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

                                S Offline
                                S Offline
                                S Senthil Kumar
                                wrote on last edited by
                                #26

                                You don't even need to use the new operator for reference types? Like

                                StreamReader^ r = new StreamReader(...);

                                I do understand RAII and that StreamReader's destructor will serve the purpose of Dispose but not calling new for a reference type seems kinda weird to me. Particularly since in C++ (pure C++), your code will create an instance of r on the stack and new StreamReader will create one on the heap. In your case, r will be created on the managed heap and won't be deallocated till it gets GC'ed, right? Regards Senthil _____________________________ My Blog | My Articles | WinMacro

                                N N 2 Replies Last reply
                                0
                                • N Nemanja Trifunovic

                                  Daniel Turini wrote: Sorry, the second version sucks, because: 1. It's completely incompatible with previous versions. If you mean MC++, I agree. But C# isn't compatible with anything. With C++/CLI you can still reuse tons of tested and production ready C/C++ code. Daniel Turini wrote: I cannot write production code with it: it's still beta. Sure thing. But you can't really say that something "sucks" because it is still beta. Does ASP.NET 2.0 suck? Daniel Turini wrote: BTW, could you please post a version of your example that compiles on VS.NET 2003, so that we could compare C# with something that compiles with the current version of C++ on .NET? Well, yeah :)

                                  #include "gc_scoped.h" //use google to find this little header file
                                  ...
                                  String* ReadFirstLineFromFile( String* path ) {
                                  gc_scoped <StreamReader*> r (new StreamReader(path) )
                                  return r->ReadLine();
                                  }


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

                                  D Offline
                                  D Offline
                                  Daniel Turini
                                  wrote on last edited by
                                  #27

                                  Nemanja Trifunovic  wrote: Sure thing. But you can't really say that something "sucks" because it is still beta. You misunderstood me: C++ on .NET sucks. There will be a next version, which is currently on beta, that may or may not suck. No one can say now anything but "it looks like it will be cool". Any feature can be removed or added on the final feature (if you don't believe me, look at Longhorn removed features), so nothing can be said yet. I see dead pixels Yes, even I am blogging now!

                                  1 Reply Last reply
                                  0
                                  • D Daniel Turini

                                    Nemanja Trifunovic  wrote: #include "gc_scoped.h" //use google to find this little header file Using external include files is cheating... Please, include the full source... I see dead pixels Yes, even I am blogging now!

                                    N Offline
                                    N Offline
                                    Nemanja Trifunovic
                                    wrote on last edited by
                                    #28

                                    Daniel Turini wrote: Using external include files is cheating Why? The code is already there and people are using it without even looking at the source code. One of the strongest point of C++ is the availability of external libraries that are easy to reuse in new applications. Who would use C++ without any external libraries? If we were to write everything from scratch each time we write a new software, I would at least use a more interesting language, like OCaml ;)


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

                                    D 1 Reply Last reply
                                    0
                                    • S S Senthil Kumar

                                      You don't even need to use the new operator for reference types? Like

                                      StreamReader^ r = new StreamReader(...);

                                      I do understand RAII and that StreamReader's destructor will serve the purpose of Dispose but not calling new for a reference type seems kinda weird to me. Particularly since in C++ (pure C++), your code will create an instance of r on the stack and new StreamReader will create one on the heap. In your case, r will be created on the managed heap and won't be deallocated till it gets GC'ed, right? Regards Senthil _____________________________ My Blog | My Articles | WinMacro

                                      N Offline
                                      N Offline
                                      Nemanja Trifunovic
                                      wrote on last edited by
                                      #29

                                      Yep :) The key point here is to distinguish between object destruction and memory reclamation. We are used to think that these two things happen at the same time, but it is not really a necessity. In this sample, r has stack semantics and it is irrelevant that memory really comes from GC heap, and that it will be reclaimed in non-deterministic future. The object is destroyed (meaning - the destructor is called) at the and of scope, and that's the point.


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

                                      S 1 Reply Last reply
                                      0
                                      • N Nemanja Trifunovic

                                        Daniel Turini wrote: Using external include files is cheating Why? The code is already there and people are using it without even looking at the source code. One of the strongest point of C++ is the availability of external libraries that are easy to reuse in new applications. Who would use C++ without any external libraries? If we were to write everything from scratch each time we write a new software, I would at least use a more interesting language, like OCaml ;)


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

                                        D Offline
                                        D Offline
                                        Daniel Turini
                                        wrote on last edited by
                                        #30

                                        I was expecting this question. Because we're talking about language features here, using external files is cheating: you either include it, or you'll need to accept that C# has natural language processing features: NaturalLanguage.English.Process(sr.ReadLine()); Now, you just need to search the web and find some NLP library and I'll prove it to you. Hiding code in an external file to reduce the code size is cheating. I see dead pixels Yes, even I am blogging now!

                                        N realJSOPR 2 Replies Last reply
                                        0
                                        • J Jerry Hammond

                                          In a thread ( http://www.codeproject.com/lounge.asp?forumid=1159&select=1121633&fr=51#xx1121181xx[^] ) started by Nish some suggests that C# is dead. Yeah? But which language are the majority of employers looking for when hunting for .Net developers. Bet it is C# and VB.Net and not C++. In fact, reading one head hunter's pamplet on salaries C++ is not even mentioned for .Net developers and the section on C++ developers talks about a 5 to 10% decrease in earings from last year. Maybe it is fun to be a C++ developer, and a blast from the past to work with legacy code, but it cain't be fun earning less than them managed code guys. Jerry Most people are willing to pay more to be amused than to be educated--Robert C. Savage, Life Lessons Toasty0.com Ladder League (beta) My Grandkids

                                          G Offline
                                          G Offline
                                          Giles
                                          wrote on last edited by
                                          #31

                                          As a slight aside, I've always found if you want job security write everything in Perl. Especially good if you are a contractor and are renegotiating a contract. :laugh: A good Perl programmer makes sure nobody can read what he has done.


                                          "Je pense, donc je mange." - Rene Descartes 1689 - Just before his mother put his tea on the table. Shameless Plug - Distributed Database Transactions in .NET using COM+

                                          I 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