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????????????????????????????????????????????????????????????

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.

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

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

Click to expand...

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

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.

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

Click to expand...

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.

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.

Click to expand...

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:

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.

Click to expand...

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.

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

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.