Why one should choose C++

Sanskruti's Avatar author of Why one should choose C++
This is an article on Why one should choose C++ in C++.
It's a truly neutral question: given that there are many languages to choose from, why do you choose to program in C++?

1. Compared to many of the other OO languages (i.e. Java, C# etc.), C++ has better support for the functional programming style.

2. Good support for generic programming.

3. C++ is faster. No matter what you have heard, the overall speed of C++ applications (either real or perceived) is greater than that of other languages.

4. Templates and generic programming without too much brain twisting. Templates and type safety is very important. If C++ hasn’t had templates, it would not be used.

5. Direct interfacing with C and O/S routines.

6. Plethora of good libraries.

7. C++ is always the right choice for serious applications that can be re-compiled on multiple platforms.

8. C++ is preferred choice of programmers all over the world when it comes to programming for creating games.

Why programmers don't program in other languages other than C++?



1. Java and C# can't do many intelligent things that C++ can.

2. Having everything in classes does not always make sense.

3. Python and perl have weird syntax. ML and Haskell have even more weird syntax.

4. The most important reason: it is not directly visible, from the available online resources, that what can be done with C++, can not be done with LISP/ML/Haskell/O'caml/etc.

In other words, gist of the matter is it's not the elegance of a language that counts, but rather the most cliche of arguments: what one can do with a language, in the shortest space and time.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
I choosed it because I love it.
dav's Avatar, Join Date: Mar 2007
dav
Light Poster
hi dudes
this is my first commet in this site actually I have spend 6 years in working with Delphi which I conseder a great language but now and sadly we have to divorce cuz in the 9th month of this year I'll start a new studing in the university where only C++ and JAVA are allowed, so I do not know what 2 do and which is the better some people say C++ others say Java can u help me???????????????????????????????????????????????? ????????????

best regards
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
My answer will be biased but it all depends on the job you do you will love the one in which you work the most as was the case with Delphi.
asadullah.ansari's Avatar, Join Date: Jan 2008
TechCake
No need Of C++ If you have excellent skill in C. Except Industrial needs c++ to make design in less time.

Means you can do all things in C. C++ only making less man power in Industries.
oleber's Avatar, Join Date: Apr 2007
Go4Expert Member
This is ridiculous

C++ isn't faster or better then Java 5 or 6 in many cases:
-> If you need to use virtual methods, the base of any OO programming.
-> C++ way of allocating memory is slower then the one used by the Java VM.
-> Java is able of doing runtime optimizations, and all the ones that a C++ compiler can do.
-> Java has less errors by loc in average.
-> Java is easer to port on multiple platforms. No recompilation is needed.


Now comparing to Python, Perl, Ruby, ...
-> you get less code, don't get surprised if you do the some code 10x less code. So fast Development.
-> you have many more library's and all the ones of C++.
-> perfect languages to the 80% of the code that you are running 20% of the time.
-> all this languages can call C code in a ease way.


Now comparing to ML, Haskell, Prolog, ...
-> They have different concepts Functional Programming or Logic Programming. They have there areas where any of the previous are suitable. For example the VC++ uses Prolog.


And telling the truth,
If I need running fast, I will do it in C.
If I need realtime, I will do it in ADA.
If I need beauty I'll do it in Java.
If I need fast development, I will do it in Perl.


C++ is good for games since for long time it was the best, and many libraries are done on it, just that.

THE KING IS DEAD, long life to the new kings
bloom_star7's Avatar, Join Date: Sep 2007
Newbie Member
Hi,

All of What You discussed is correct up to maximum extent. But the missing thing is

The Main power of C++ is
1. Its ability to Use the oops concepts which is missing in C. ( this feature will help us in creating the Good design apporach)
2. We can use the pointers in C++, which is missing in Java.
asadullah.ansari's Avatar, Join Date: Jan 2008
TechCake
Quote:
Originally Posted by bloom_star7
Hi,

All of What You discussed is correct up to maximum extent. But the missing thing is

The Main power of C++ is
1. Its ability to Use the oops concepts which is missing in C. ( this feature will help us in creating the Good design apporach)
2. We can use the pointers in C++, which is missing in Java.
i am apposing your first point. Who is saying C miss oops concepts. Okay according to definition given by some C++ guys C miss OOPs. But You can do all design as C++.
You might be know that all very big complex designing is in C only like Operating System. Can you say that operating sytem is not well designed. or it is less complex

Last edited by asadullah.ansari; 28Jan2008 at 11:20..
oleber's Avatar, Join Date: Apr 2007
Go4Expert Member
In Java you just have references/pointer


The the question of the C versus C++
First of all remerber the history of the first compilers of C++, they where just translatting the code to C and after the C compiler where doing the work. Basicaly the object was passed has the first argument of the method, similar to some scripting languages today like Perl.

So a good desing can be done in any language, since good design should not depend of the programming language.
asadullah.ansari's Avatar, Join Date: Jan 2008
TechCake
I did'nt mean that... I mean complex problem can be solved by C with more efficient than C++.

>>> Reason is that in C a lot of skills and time is required. Industries can'nt afford it . So they are easily using C++.