Page 2 of 5

Re: .NET vs C languages

Posted: Mon Mar 07, 2011 4:45 pm
by avansc
I like to emphasize the fact that the "mainstream" software development world of "average" computer scientists/software engineers does not reflect the entire market.
Not sure what you mean by average, but if you assume someone is a mediocre computer scientist because the dont work in C, well I just hope thats not what you mean.
In many cases, I see the lower-level, software/hardware engineers writing these embedded applications making far more than your average Java/.NET developer...
Yeah this may be different from area to area, but generally as an engineer of any kind, you will start off at about 50-60k and peak at about 100-110k. Java developers as a mean in this area make 81k a year. For people doing computer engineering things, its the exact same number and scale, C/C++ jobs are the same thing.

I think the reason being is that most major companies have "bands", and pay is based on that, and all engineerings fall under a certain band, now once you go into management, being a director, thats when you are looking at 150 to 300k depending what you do. If you go work for a corporate company as a technical grunt, you will not make much more than 100k, no matter what your field is. (there are of course exceptions to the rule.)

Re: .NET vs C languages

Posted: Mon Mar 07, 2011 5:37 pm
by Falco Girgis
avansc wrote:
I like to emphasize the fact that the "mainstream" software development world of "average" computer scientists/software engineers does not reflect the entire market.
Not sure what you mean by average, but if you assume someone is a mediocre computer scientist because the dont work in C, well I just hope thats not what you mean.
I meant "average" referring to the statistical distribution of career paths, not skills/proficiency. The "average" developer these days uses the .NET framework or Java.
avansc wrote:Yeah this may be different from area to area, but generally as an engineer of any kind, you will start off at about 50-60k and peak at about 100-110k. Java developers as a mean in this area make 81k a year. For people doing computer engineering things, its the exact same number and scale, C/C++ jobs are the same thing.
Yeah, I agree. I'm currently interviewing/applying for jobs out the ass. I do every once and awhile happen upon a "Systems Engineer" position for either electrical or computer engineering doing software/hardware interfacing that makes a SHITLOAD of money, but that's definitely rare (and seems to only be government-related).

Re: .NET vs C languages

Posted: Mon Mar 07, 2011 7:12 pm
by avansc
heh, yeah its a fallacy that the private sector makes more than the public, govt jobs pay well, too well. and on top of that they get criminal benefits.

Re: .NET vs C languages

Posted: Tue Mar 08, 2011 10:38 am
by Falco Girgis
avansc wrote:heh, yeah its a fallacy that the private sector makes more than the public, govt jobs pay well, too well. and on top of that they get criminal benefits.
I definitely agree, man. I've seen far too many government employees with their feet up on their desk doing nothing but browsing Ebay all day with 1) equal or more pay than contractors and 2) waaaaay more benefits than contractors while contractors do all of the hard work.

Re: .NET vs C languages

Posted: Tue Mar 08, 2011 12:51 pm
by GroundUpEngine
GyroVorbis wrote:
avansc wrote:heh, yeah its a fallacy that the private sector makes more than the public, govt jobs pay well, too well. and on top of that they get criminal benefits.
I definitely agree, man. I've seen far too many government employees with their feet up on their desk doing nothing but browsing Ebay all day with 1) equal or more pay than contractors and 2) waaaaay more benefits than contractors while contractors do all of the hard work.
Dayum! +1 :nono:

Re: .NET vs C languages

Posted: Mon Mar 14, 2011 9:00 pm
by wtetzner
avansc wrote:functional, Clojure (http://clojure.org/)
Nice to see I'm not the only one on these boards that has an interest in Clojure :)

Re: [SOLVED] .NET vs C languages

Posted: Mon Mar 14, 2011 9:18 pm
by bnpph
10 years ago it was how Java was not suitable replacement for C++. Eventually, java will run faster than C++.
20 years ago it was how C++ was not suitable replacement for C. Now, C++ can run faster than C.
30 years ago it was how C was not suitable replacement for assembly. Now, C can run faster than hand-written assembly.

So get over it and use the correct tool for the job.


Anyways, C/C++is going to fall out of favor faster and faster in following years as newer languages get more and more libraries. Go learn the new stuff unless you want your knowledge to become obsolete.

Re: [SOLVED] .NET vs C languages

Posted: Mon Mar 14, 2011 10:37 pm
by Falco Girgis
I'm sorry, but Java, C#, and JIT compiled languages are never going to fully replace C/++, just as C/++ will never (and cannot possibly) completely replace assembly.

I have no doubt that Java/C# will continue to become more popular for a portion of the market than C/++ (as they already have), but replace? You aren't ever going to see a JIT compiled language catching on with embedded platforms, drivers, operating systems, or anything of the like. People said the same thing about C++ "completely" replacing C. Most drivers and OSs to this day are STILL written in C (not even C++).

Until JIT compilers literally run in hardware, I cannot foresee, C, C++, or assembly ever not having a place in the market, and I believe that saying they will be "replaced" is neglecting a large portion of the market geared towards low-level development and software-hardware integration.

Re: [SOLVED] .NET vs C languages

Posted: Mon Mar 14, 2011 10:39 pm
by TheBuzzSaw
bnpph wrote:10 years ago it was how Java was not suitable replacement for C++. Eventually, java will run faster than C++.
20 years ago it was how C++ was not suitable replacement for C. Now, C++ can run faster than C.
30 years ago it was how C was not suitable replacement for assembly. Now, C can run faster than hand-written assembly.

So get over it and use the correct tool for the job.


Anyways, C/C++is going to fall out of favor faster and faster in following years as newer languages get more and more libraries. Go learn the new stuff unless you want your knowledge to become obsolete.
Your logic is all over the map. New languages are not faster than old languages. New languages simply accelerate development. C/C++ is only falling out of favor in corporate business setups where high level logic reigns supreme over meticulous optimization.

Re: [SOLVED] .NET vs C languages

Posted: Mon Mar 14, 2011 11:46 pm
by bnpph
Your logic is all over the map. New languages are not faster than old languages. New languages simply accelerate development. C/C++ is only falling out of favor in corporate business setups where high level logic reigns supreme over meticulous optimization.
? I shall explain myself better.

Assembly obviously can produce the fastest program, but it is impossible to write efficient assembly on the scale of todays programs. A good compiler does this much better than any human.

You can also do stuff in C++ in faster time, that runs faster than it would if you tried to do it in C. I am sure you could eventually get same performance in the C version by abusing the language, but it would require extremely messy code that would be practically unacceptable in any real project.

And as time goes on, Java will surpass C++'s speed for general projects.
C/C++ is only falling out of favor in corporate business setups where high level logic reigns supreme over meticulous optimization.
Yes, I agree. This is what I meant.

Re: [SOLVED] .NET vs C languages

Posted: Tue Mar 15, 2011 4:12 am
by MrDeathNote
bnpph wrote: And as time goes on, Java will surpass C++'s speed for general projects.
I just don't see that hapening. A computer CANNOT run java bytecode as fast as precompiled c/c++. I'd love to know where you're getting your info from because nothing has changed in the performance difference between java and C++ it's just that computers in general are faster. For performance based applications I can't see java replacing C++. And don't think this is because I hate java, I use it every day at work, it just simply can't run as fast as C++.

Re: [SOLVED] .NET vs C languages

Posted: Tue Mar 15, 2011 6:55 am
by N64vSNES
Is this dude trying to say Java will eventually run faster than C++? :lol:

Re: [SOLVED] .NET vs C languages

Posted: Tue Mar 15, 2011 8:37 am
by EccentricDuck
MrDeathNote wrote:
bnpph wrote: And as time goes on, Java will surpass C++'s speed for general projects.
I just don't see that hapening. A computer CANNOT run java bytecode as fast as precompiled c/c++. I'd love to know where you're getting your info from because nothing has changed in the performance difference between java and C++ it's just that computers in general are faster. For performance based applications I can't see java replacing C++. And don't think this is because I hate java, I use it every day at work, it just simply can't run as fast as C++.
Actually, Java has been steadily getting faster since its inception through revisions of the java compiler and other optimizations in the language. It won't become faster than C++, but it's faster than it was back in the day. From what I've seen, C# is even faster than Java and when you're using XNA for game development the platform runs damn near as fast as C++ DirectX for a lot of things from what I've seen. All in all, Java and C# are actually relatively fast languages with great scalability, and they blow the pants off of most dynamically typed languages (like Python) for performance. They are not as fast as C++ and are not ideal when you need low-level access since they're heavily object-oriented languages that excel in the realm of large team-based projects.

Re: [SOLVED] .NET vs C languages

Posted: Tue Mar 15, 2011 8:41 am
by dandymcgee
GyroVorbis wrote:I'm sorry, but Java, C#, and JIT compiled languages are never going to fully replace C/++, just as C/++ will never (and cannot possibly) completely replace assembly.

I have no doubt that Java/C# will continue to become more popular for a portion of the market than C/++ (as they already have), but replace? You aren't ever going to see a JIT compiled language catching on with embedded platforms, drivers, operating systems, or anything of the like. People said the same thing about C++ "completely" replacing C. Most drivers and OSs to this day are STILL written in C (not even C++).

Until JIT compilers literally run in hardware, I cannot foresee, C, C++, or assembly ever not having a place in the market, and I believe that saying they will be "replaced" is neglecting a large portion of the market geared towards low-level development and software-hardware integration.
Well said.

Re: [SOLVED] .NET vs C languages

Posted: Tue Mar 15, 2011 12:35 pm
by MrDeathNote
EccentricDuck wrote:
MrDeathNote wrote:
bnpph wrote: And as time goes on, Java will surpass C++'s speed for general projects.
I just don't see that hapening. A computer CANNOT run java bytecode as fast as precompiled c/c++. I'd love to know where you're getting your info from because nothing has changed in the performance difference between java and C++ it's just that computers in general are faster. For performance based applications I can't see java replacing C++. And don't think this is because I hate java, I use it every day at work, it just simply can't run as fast as C++.
Actually, Java has been steadily getting faster since its inception through revisions of the java compiler and other optimizations in the language. It won't become faster than C++, but it's faster than it was back in the day. From what I've seen, C# is even faster than Java and when you're using XNA for game development the platform runs damn near as fast as C++ DirectX for a lot of things from what I've seen. All in all, Java and C# are actually relatively fast languages with great scalability, and they blow the pants off of most dynamically typed languages (like Python) for performance. They are not as fast as C++ and are not ideal when you need low-level access since they're heavily object-oriented languages that excel in the realm of large team-based projects.
Java has gotten a LITTLE faster, but has also added library features which are actually slower than writing the code yourself thereby handy capping programmers who don't know better. Java has no direct memory access, no way to invoke the garbage collector(you can ask but it may not run) and in memory intensive applications is even slower since the garbage collector has so much to do. I'm well aware of the fact that they are great in large team-based projects, in fact i said nearly the same thing in this thread 1 page back. C# has pointer's so it more easily optimized and I think it has great potential. But I don't get this:
EccentricDuck wrote: using XNA for game development the platform runs damn near as fast as C++ DirectX for a lot of things from what I've seen
I've used XNA extensively and I've also used C++ w/DirectX and I can tell you that overall c++ is noticeably faster. C# may be close in some area's but that's like being great at 2 event's in the heptathlon it's not about single event's it's about the overall result.

And to people who say that c++ is being killed off, learn C#/Java because they're more current. That has more than 1 problem with it, first of all it's bullshit. Secondly, my university never taught c/c++ it taught using Java... this is a BIG mistake because most of the people in the course will/do go through their entire degree knowing little/nothing about memory management, optimization, etc. If all universities took this root and Java did kill off C++ we'd be stuck with many more incompetent programmers who know nothing about the implementation of the languages they use or the implementation of data structures.

Don't get me wrong i'm all for flexible, powerful languages with quick development times and great scalability but you also need to remember that even if you don't use or like C/C++ for performance based applications they will ALWAYS be faster than java/c#. The only way that java will be as fast as c++ is if someone creates a computer that runs like the the JVM and can run native java bytecode directly. Other than that it's never gonna happen.