Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C++ (http://www.go4expert.com/articles/cpp-tutorials/)
-   -   Why one should choose C++ (http://www.go4expert.com/articles/choose-cpp-t3398/)

Sanskruti 14Mar2007 18:41

Why one should choose 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 15Mar2007 07:30

Re: Why one should choose C++
 
I choosed it because I love it.

dav 16Mar2007 00:18

Re: Why one should choose C++
 
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 16Mar2007 06:43

Re: Why one should choose C++
 
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 24Jan2008 18:18

Re: Why one should choose C++
 
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 25Jan2008 14:05

Re: Why one should choose C++
 
This is ridiculous :mean:

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 28Jan2008 09:00

Re: Why one should choose C++
 
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. :surprised

asadullah.ansari 28Jan2008 11:04

Re: Why one should choose C++
 
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. :surprised

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

oleber 28Jan2008 12:24

Re: Why one should choose C++
 
In Java you just have references/pointer :disappoin


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 28Jan2008 19:46

Re: Why one should choose C++
 
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++.

bloom_star7 29Jan2008 09:27

Re: Why one should choose C++
 
Quote:

Originally Posted by asadullah.ansari
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++.

Yes. I fully agree with you that every thing is possible in C.(In fact i also moslty like C than C++ :mean: .) But the fact is that, for one thing which can be very very easily designed in C++ will take a lot lot efffort as well as will become more complex if we design in C. Take the example of disigning the interfaces with the UI applications. In case of C++ we can do it simply by making use of the virtual and pure virtual functions. But if we want to do the same thing in C then we may need to make use of the function pointers & e.t.c. e.t.c. which becomes very complex.

bloom_star7 29Jan2008 09:33

Re: Why one should choose C++
 
Quote:

Originally Posted by oleber
In Java you just have references/pointer :disappoin


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.

Yes. I agree that in java we can use the refereces as the alternative to the pointers. But it will be usefull while passing the arguments to the functions. Think of using the virtual and pure virtual functions. In that case if we don't have the pointers then we may not take the full advantage of it.

If there is any conflicting or misleading statement please ignore it because i don't know Java well. :thinking:

asadullah.ansari 29Jan2008 10:32

Re: Why one should choose C++
 
Quote:

Originally Posted by bloom_star7
Yes. I fully agree with you that every thing is possible in C.(In fact i also moslty like C than C++ :mean: .) But the fact is that, for one thing which can be very very easily designed in C++ will take a lot lot efffort as well as will become more complex if we design in C. Take the example of disigning the interfaces with the UI applications. In case of C++ we can do it simply by making use of the virtual and pure virtual functions. But if we want to do the same thing in C then we may need to make use of the function pointers & e.t.c. e.t.c. which becomes very complex.


In C++ we are writing a keyword Virtual or virtual assigning with zero, But generated code by this is very big and complex too. It's totally hidden to User. But you know If we will use function pointers( in place of virual ) then you know first time may be it will take time to understand and write but after that our skill will be improved .

Benefit of using C++ is only for Industries to minimize ManPower and they could make money more.

rekha11 31Jan2008 10:13

Re: Why one should choose C++
 
We should choose c++ because of FOllowing reasons:
1. Compared to many of the other OO languages (i.e. Java, C# etc.), C++ has better support for the functional programming style.
2. C++ is faster
3. C++ is always the right choice for serious applications that can be re-compiled on multiple platforms.
Actully its depends on your skills.if user have the interest in c++ or other language then user will be prefer that which he has interest
dont confuse ,go on ur interest!
____________--
rekha

asadullah.ansari 31Jan2008 11:24

Re: Why one should choose C++
 
Offcourse with respect to Java &C# , C++ is fast. no doubt at all.

oleber 31Jan2008 12:32

Re: Why one should choose C++
 
Off course?

Depends on the problem that you are using.
Try to use allot of:
- multiple derivation with virtual methods
- allocation and free memory
you can get a surprise with the newest version of Java.

Java was slow in the first version, really slow. but now is really comparable. It has the advantage and the disadvantage of having a VM.
What does the VM for you:
- moves your most frequently used object to the some blokes in memory, such a way that you will get them frequently in cache. Of course you can do it in C++, but who does that?
- Optimizes the code in run time, this optimization can't be done without statistics. This reduces the jumps. Your C++ compiler doesn't do it.
- From the version 1.6 your object can be allocated in the stack and you just need to do your normal code. Before this was a cancer in Java since you where always going to the heap.

So the point is: It's not clear if C++ is always faster then Java, most of the time C++ loses if you are really programming in OO way. Of course that C is faster then Java, but C is also faster then C++.

Now Java have it's problems. In average is fast, but can slow down times to times with the Garbage Collector, code optimizing, ... It isn't good for realtime systems, for that you have the serious realtime language like ADA. Clearly better suit ball than C++ for this systems, the problem is the small community and the very expansive compilers.


Please do some tests with the new version of Java, maybe you can get a surprise.

imrantechi 15Feb2008 18:49

Re: Why one should choose C++
 
Quote:

Originally Posted by asadullah.ansari
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++.


even i feel he is right

johnysmith66 18Feb2008 09:41

Re: Why one should choose C++
 
Hi guys,

i like C++ because it was the first programming language i learnt... which i understood a lot....

lead.smart34 26Feb2008 18:23

Re: Why one should choose C++
 
c the best

crazytolearn57 26Feb2008 18:35

Re: Why one should choose C++
 
good one

aisha.ansari84 5Mar2008 18:37

Re: Why one should choose C++
 
Quote:

Originally Posted by asadullah.ansari
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++.

:iagree:


All times are GMT +5.5. The time now is 22:08.