Earn money with programming

Pages: 1234567
It is like C++ coders don't look back at pure C.



This is not true. I am fully fluent in C++, however, I do a lot of work on AVR micro-controllers(small computers, usually with about 2K-bytes of RAM and 32K-bytes of flash memory). This means that things like default constructors can waste precious memory. For this reason, I use C for micro-controllers.
I thought only C compilers and assemblers were available for microcontrollers for that very reason you just mentioned. I suppose it varies between platforms, but still.
I'm not sure about other platforms, but I know that on AVR micro-controllers you can use C++.
closed account (oz10RXSz)

"Java is a compiled language"
Instant fail.


You obviously do not know anything about Java language and Java platform. Your knowledge is outdated about 10 years or more. Since version 1.2 Java is natively compiled language (JIT, 2 HotSpot compilers since 1.3). Also static native optimizing compilers exist: http://www.excelsior-usa.com/jet.html. Since version 5, there are generic containers wich are in many aspects better than textual substitution hack used in C++ called templates. E.g. they support type-bounds (aka concepts). C++0x planned to fix this, but they failed: there will be no concepts in the next version of the standard. Scala moved the language to the next level, leaving Java, C# and C++ years behind - e.g. by providing true operator overloading that is **consistent** with the rest of the language. This means that overloaded && shortcircuits as expected. On the other hand C++ design was **never** consistent right from the start (because of unrealistic constraints: keep it compatible with C and "don't pay for what you don't use" which quickly turned into "don't use it because it costs too much"). The operator overload example is just a one small example among many. So who is trolling and FUDding here?



This means that things like default constructors can waste precious memory


Right. C++ is often too heavyweght for things like microcontrollers and embedded stuff, so most of applications use C there (just like most OS kernels are written in pure C, not C++). And in cases where memory doesn't really matter that much, any HLL can be used. So I still claim (HLL + C) takes the best of two worlds and is much better toolset than C++ alone, especially when you have to subset C++ to a 20% subset to make it usable in a company (like Google and Mozilla do).


Last edited on
closed account (z05DSL3A)
xoreaxeax,
Your arguments seem to be misguided, ill-formed, or that somehow the premiss that they are based on is a good one.

You have made a lot of noise about backward compatibility being a bad thing. Is it good to say "We have moved the language forward but the rather large code base that you have is no longer compatible."

Since version 5, there are generic containers wich are in many aspects better than textual substitution hack used in C++ called templates.
In many aspects better...You might have had something if it was all aspects. This leaves it open for the to be many aspect in which C++ is better that Java in this respect and thus is a meaning less point.

While I am under no illusion that C++ is a perfect language, it is far from the 'turd in the bath water' that you are suggesting that it is.

There is a question, that has been asked, that I have not seen a reply to yet:
Return 0 wrote:
I am also confused... every word from you [xoreaxeax] has been anti C++... so what exactly are you doing in this forum?

I look forward to your reply to this question.
closed account (oz10RXSz)

Your arguments seem to be misguided, ill-formed, or that somehow the premiss that they are based on is a good one.


Some arguments please. Where exactly my arguments are misguided?
As to the salaries in UK:

According to these data:
http://www.itjobswatch.co.uk/jobs/uk/c++.do
http://www.itjobswatch.co.uk/jobs/uk/java.do

1. There are twice as many Java jobs as C++.
2. Average annual salary is equal: 50000 pounds.
3. 10-th and 90-th percentiles are also almost equal, so the thesis about pro C++ coders earning more than pro Java coders doesn't hold.

So whose arguments are misinformed? I cited 2 sources for salaries, noone gave any evidence that my claims in this regard are false.

As demand for C++ becomes lower (because of hardware getting faster and managed languages approaching C++ in resource consumption and speed), C++ coders won't earn more simply because of how economy works. When demand decreases, prices fall. Due to the fact that universities still produce lots of C/C++ programmers (universities react to market changes slowly), the supply will be high. High supply, low demand = low prices. This will change dramatically when C++ becomes something like COBOL - noone would ever think of learning it. Then the prices should go up again - because someone will have to maintain legacy systems, just as COBOL applications need to be maintained now.


in many aspects better...You might have had something if it was all aspects


Yes, but it accidentally happens that the aspects where Java's generics are better (type bounds, clean error messages, self-documenting code, separate compilation) are much more important in practice than the aspects where C++ templates are better (slightly faster execution thanks to specialization, ability to provide non-class generic parameters). This is a similar thing like with memory management: in 99% of applications GC is the way to go, in 1% you need manual management. C++ concentrates on the latter but makes the former impractical.


While I am under no illusion that C++ is a perfect language, it is far from the 'turd in the bath water' that you are suggesting that it is.


Maybe not "turd in the bath water" but in the same league as PHP, when considering quality of language design. In the "the worst language design ever" competition, these two would definitely take leading places.


I am also confused... every word from you [xoreaxeax] has been anti C++... so what exactly are you doing in this forum?


You might have not noticed, but I answered some C++ related questions at this forum already.
My posts are not anti-C++. When someone asks about help, I help and try to be fair. No need to tell other people to program C++ only because this is a C++ forum, if their problem can be better solved in some other language. I'm not politically correct, but I don't care.
Last edited on
Hi Oromis, this is Nicole Miller from vWorker.com (formerly known as Rentacoder.com).

While I can't particularly help you find C++ jobs that correspond to with capability, I can tell you that vWorker's employers select the lowest bidder only 19% of the time so there really is no need to worry about foreign competitors. See http://bit.ly/av0S4R for details.

You can also search for available jobs at http://bit.ly/9hYsNz and sign up for the newsletter which broadcasts a wide variety of relevant jobs. Every job posted to vWorker doesn't require a C++ genius, so I feel confident that you'll find a few jobs at your current skill level.

Nicole Miller
vWorker.com
closed account (z05DSL3A)
We can play with statistics all day if you like, Here is the same site with stats for C++ Developer and Java Developer and not any job that asked for the Java or C++ skill set.

http://www.itjobswatch.co.uk/jobs/uk/c++%20developer.do Average salary £60,000
http://www.itjobswatch.co.uk/jobs/uk/java%20developer.do Average salary £50,000



So whose arguments are misinformed?
Who said anything about misinformed? I said misguided and ill-formed.

Yes, but it accidentally happens that...
The point that I was making is that your argument is ill-formed.

You might have not noticed, but I answered some C++ related questions at this forum already.
I did review your posts when I answered your question about Electronic Circuit Simulation, I did not find any reply that gave a C++ answer. While your posts are not outwardly hostile towards C++, the fact that you have not given a C++ answer to a C++ question on a C++ board dose suggest an anti-C++ stance.
closed account (oz10RXSz)
We can play with statistics all day if you like, Here is the same site with stats for C++ Developer and Java Developer and not any job that asked for the Java or C++ skill set.


So finally we agree there is no huge difference. Salary should not be a thing to decide upon choosing Java/C# or C++.

But when you are proficient with C++, where can you go next? Learn STL and Boost and then what? What has C++ to address the multicore problem and constantly growing complexity of software? It doesn't evolve. Either you jump out or you stay behind. But actually it is good, because such new niche languages like Scala make it possible for a two-man startup to overtake a huge company writing their software entirely in C++. Just because they can write a better software in much less time.


the fact that you have not given a C++ answer to a C++ question on a C++ board dose suggest an anti-C++ stance.

I suggested sparselib in some thread which is strictly a C++ library.
But when you are proficient with <insert YOUR fanboi'd language here>, where can you go next?
closed account (z05DSL3A)
I suggested sparselib...

I must have missed that pearl of wisdom cast amongst the "Why not Java?", "It is much easier to integrate MATLAB with Java", "optimized Fortran is faster than C++", and "If you know C++, you could learn basic Java in a week or less. It is much simpler than C++" in the same thread. :0)

closed account (oz10RXSz)
But when you are proficient with <insert YOUR fanboi'd language here>, where can you go next?


If you find something more powerful, then just learn another language. Anyway, you should not rely on a single language - you should at least know what are capabilities of other languages. Otherwise you'd become a blub programmer.


I must have missed that pearl of wisdom cast amongst the "Why not Java?", "It is much easier to integrate MATLAB with Java", "optimized Fortran is faster than C++", and "If you know C++, you could learn basic Java in a week or less. It is much simpler than C++" in the same thread. :0


All these sentences are correct and not anti-C++, but pro-Java. C++ is good, Java is better (for this task). But why do you feel so bad about it?
If you find something more powerful, then just learn another language. Anyway, you should not rely on a single language - you should at least know what are capabilities of other languages. Otherwise you'd become a blub programmer.



That doesn't answer my question at all, your argument fails.

What do you when you're proficient with Java? You end up with the exact same question, with only the language of choice being replaced, in this case by Java.

You must be trollin' boy.
closed account (oz10RXSz)

What do you when you're proficient with Java? You end up with the exact same question, with only the language of choice being replaced, in this case by Java.


No, this is not the only difference. Transition from Java to any new language is much more straightforward than transition from C++ which has its roots in 70s. If you are proficient with C++, you would have to throw away 80% of your knowledge, if you wanted to jump into Java/C# and more than this if you wanted to go directly to Scala.

Additionally Java is alive and evolving, with many big companies relying on it as a platform for future applications (e.g. Google or Oracle). C++ is almost not evolving at all, and it is not the language of choice for developing applications for most modern platforms. And keep in mind, that language popularity is mostly driven by platforms.

C++ got its time only thanks to Microsoft, who made it the main language to write Windows apps in. Now the Microsoft support for it has finished, Apple promotes ObjectiveC, Google, Oracle and IBM promote Java, GNU Linux is a C world with the small exception for KDE, RIAs are mostly dominated by Flash, then Java, webapps by PHP and Java, low-end devices and TVs are dominated by Java, embedded software - mostly C. So, where do you see the future of C++? The only domain where it is still strong is gamedev.

Would you invest your money and time in a video rental shop in 2010?
Last edited on
closed account (z05DSL3A)
All these sentences are correct and not anti-C++, but pro-Java. C++ is good, Java is better (for this task).
As I said; on a answering C++ questions on a C++ board with X language is better/easier/etc comes across as anti-C++.

But why do you feel so bad about it?
About what? You posting non-C++ answers? It's bad manners and inappropriate. Or do you mean about Java? in which case I don't know what gives you that idea as I haven't said anything against Java.
closed account (oz10RXSz)
It's bad manners and inappropriate

No, only politically incorrect. Some beginners who ask questions might not know there are other languages out there. They use C++, because someone told them.
Some beginners who ask questions might not know there are other languages out there. They use C++, because someone told them.


True, but they are on a C++ Forum, and it is not our right to tell them what language to use.
They use C++, because someone told them.

All people I know that program Java use it 'cause somebody told them (for example, the mathematics specialty at Sofia University is taught Java, and optionally Prolog).

[Edit:] Java didn't stick to me cause it is slow, and because garbage collection is an immediate *no-go* for the computations I am doing.

My definition of slow: something that runs slow when you install the default packages in Ubuntu.
Last edited on
C++ is almost not evolving at all, and it is not the language of choice for developing applications for most modern platforms. And keep in mind, that language popularity is mostly driven by platforms.


I... I just don't know what to say...

You've got to be bullsh************ng me?
closed account (oz10RXSz)
LOL, when was the last version of standard published and how many C++ compilers are there supporting it **fully**? 12 or more years between major releases of standard = ages in IT. C++0x is still not ready. And you call it evolution?

Leading languages by platforms:
1. Microsoft Windows: C# and ASP.NET, C++ supported, but not promoted
2. Google server-side: mainly Java and Python
3. Google mobile (Android): Java
4. Apple: ObjectiveC, pure C
5. Oracle and IBM server-side: guess what
6. Linux, *BSD, Solaris apps and libraries: pure C with the exception of KDE (which is unstable, sluggish and memory hog compared to Gnome written in C )
7. Nokia Symbian: C with classes (or small subset of C++) (but Symbian is constantly losing market to iPhone OS and Android)
8. Webapps - server side: PHP, Java
9. Webapps - client side: JavaScript, Flash


Last edited on
Pages: 1234567