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.
  • 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
                        • 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

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

                          Toasty0 wrote: ...when hunting for .Net developers. Bet it is C# and VB.Net and not C++. Of course. They are meant for .NET. Toasty0 wrote: 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. You are contradicting yourself. You talk about managed C++ for .NET and then talk about earning less than the managed code guys. Managed C++ is managed code. If you mean C++ in general earning less than managed code guys then you're comparing apples to oranges. Your head hunter's pamphlet talks about .NET developers. There's a whole world out there that doesn't care about .NET. (I'd venture a guess that it's the vast majority of the programming world) There are millions of embedded system developers, game programmers, scientific developers, kiosk terminal developers real-time critical application developers and on and on who still program in C, assembler and C++ (among other languages). .NET isn't anywhere on their horizon and likely never will be. A recent CP poll is a good example of this: of the millions and millions of mobile phones out there, how many use .NET? Very, very few (if any). I think the reason you can make a good living programming for .NET is that many educational institutions don't even teach it yet; competition is scarce. About 18 months ago I hired a .NET developer for a mapping extension we were building. Not a single applicant had any experience with .NET despite the presence of a very good college (now a university) in town with a computer science program! The fellow I ended up hiring had worked with Delphi programming real-time GPS related code. Did I care about .NET? Not really. Learning languages and frameworks is fairly easy compared to learning about GIS, GPS, mapping projections and GIS frameworks. He transitioned to C# fairly quickly. Earning money in a programming field is not just dependent on the programming languages you work with; your knowledge of the industry's specifics is just as, if not more, important. My 2c. Cheers, Drew.

                          J 1 Reply Last reply
                          0
                          • D Daniel Turini

                            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 Offline
                            N Offline
                            Nemanja Trifunovic
                            wrote on last edited by
                            #33

                            Daniel Turini wrote: Because we're talking about language features here, using external files is cheating: Not exactly. With C++ you can find a library that would produce the effect we were talking about, because C++ has language features (in this case templates and "__nogc" classes) that make this library possible. With C#, you can't find such a library because the language does not offer capabilities to make it (and believe me, I have tried). That's why C++ is a better language than C#: it offers more capabilities and puts less restrictions on libraries' writers.


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

                            D 1 Reply Last reply
                            0
                            • G Giles

                              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 Offline
                              I Offline
                              Ian Darling
                              wrote on last edited by
                              #34

                              Giles wrote: A good Perl programmer makes sure nobody can read what he has done. In that case, I shall devise a programming language based around my handwriting, for as sure as night follows day, not only will other programmers be unable to read it, I won't be able to either :-D


                              Ian Darling The world is a thing of utter inordinate complexity ... that such complexity can arise ... out of such simplicity ... is the most fabulous extraordinary idea ... once you get some kind of inkling of how that might have happened - it's just wonderful ... the opportunity to spend 70 or 80 years of your life in such a universe is time well spent as far as I am concerned - Douglas Adams

                              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.

                                A Offline
                                A Offline
                                Alvaro Mendez
                                wrote on last edited by
                                #35

                                BTW, you can also write the C# version like this:

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

                                Regards, Alvaro


                                Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is. -- GWB, 1999.

                                1 Reply Last reply
                                0
                                • E El Corazon

                                  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 Offline
                                  M Offline
                                  Member 96
                                  wrote on last edited by
                                  #36

                                  Jeffry J. Brickley wrote: Because the federal government has not fully adopted C#, Which federal government are you talking about? The U.S. one? That's hardly relevant in the global scheme of things is it? The rest of the world is moving on, if the U.S. govt want's win32 apps they can build them themselves (which I'm sure they do anyway). So far no one has given any credible reason why MC++ should even exist. It's a product in search of a market which is always a bad sign. I understand people using c++ for win32 apps etc, but for .net apps? That's just completely pointless.


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

                                  S E realJSOPR 3 Replies 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

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

                                    Ummm...I think you're missing the point which is Managed c++ vs c#, NOT c++ versus c#. Game devs can use whatever the hell they want, but it's unlikely to be .net based is it?


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

                                    C 1 Reply 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

                                      S Offline
                                      S Offline
                                      Shog9 0
                                      wrote on last edited by
                                      #38

                                      Wow... This whole thread sounds scarily like the C++ vs. VB debates from a few years back. With VB replaced by C#. What's scary is the number of people who've apparently switched sides... :suss:

                                      You must be careful in the forest Broken glass and rusty nails If you're to bring back something for us I have bullets for sale...

                                      N 1 Reply Last reply
                                      0
                                      • N Nemanja Trifunovic

                                        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 Offline
                                        S Offline
                                        S Senthil Kumar
                                        wrote on last edited by
                                        #39

                                        Does C++/CLI have the C# equivalent of structs? Or are structs just normal C++ classes (without the ref keyword)? Regards Senthil _____________________________ My Blog | My Articles | WinMacro

                                        N N 2 Replies Last reply
                                        0
                                        • S Shog9 0

                                          Wow... This whole thread sounds scarily like the C++ vs. VB debates from a few years back. With VB replaced by C#. What's scary is the number of people who've apparently switched sides... :suss:

                                          You must be careful in the forest Broken glass and rusty nails If you're to bring back something for us I have bullets for sale...

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

                                          Shog9 wrote: What's scary is the number of people who've apparently switched sides... Nah. As far as I can see, the "converts" were using C++ for wrong purpose anyway (form based, business data-centric apps). They should have switched to VB long time ago. VB6 is perfect for this kind of development, IMHO better than .NET.


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

                                          C 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