Good IDE for C++

Pages: 12
Are you saying C++ can't optimise function calls? Oh. (Seriously I think you are underestimating your compiler this time) :D


I find it really sad when you compare through that sentence a strongly typed language with a language that doesn't even have pointers!!!! You can never be impartial to understand the difference between using and not using a virtual machine. That's why I stopped discussing with you.

Seriously, buddy... if you can't program with C++ stuff that do what java does internally, don't judge C++ for your bad style. Like I said before, "Java is a language for those who find C++ hard". When you have the freedom of using pointers, references and copying, you can't just "write the same code" with C++ and compare.
Why anyways do you think std is the faster way of doing things?
Did you try strcat or memcpy and strlen with char arrays?

Why anyways do you think std is the faster way of doing things?
Did you try strcat or memcpy and strlen with char arrays?


Because I'm benchmarking C++ and not C.
I never doubted C can be fast. It can be fast, but it is low level. C is extremely powerful if used with some high level language e.g. Python or Java. In such way you can get both extremely good performance and control over performance critical parts of the code, while coding the rest 80% of non-performance-critical code in a language providing good productivity.


if you can't program with C++ stuff that do what java does internally


As far as I know it is not possible to implement many optimisations that Java is doing internally without making your C++ code an unmaintainable mess, breaking abstractions, using raw C features, avoiding most of high-level C++ features (e.g. exceptions, smart pointers, STL, dynamic data structures etc.) And some of them are even not possible without implementing your own compiler + VM - e.g. efficient garbage collection. It is not possible to implement a library doing garbage collection for C++ as efficiently as Java does.


I find it really sad when you compare through that sentence a strongly typed language with a language that doesn't even have pointers!!!!


Two things are wrong here:
1. C++ is not strongly typed. Statically typed != strongly typed.
2. Java has pointers. Java doesn't have pointer arithmetic. Pointer arithmetic is of little value, except for code obfuscation.


don't judge C++ for your bad style


Using STL and shared_ptr is considered good style. Using raw pointers and raw arrays is considered bad style in C++.
Last edited on
Oh, well, if you're judging the C++ STL, i'm with you.
But, you cannot say the entire C++ world is slow just because STL is.
Oh gods, I'm not even going to respond to the Java vs. C++ topic. It's a pointless argument that doesn't seem like it'll go anywhere. :/

I do recommend Qt Creator, as I've had really good experiences with it. It *is* faster than most IDEs with a similar default feature set as itself, regardless of the language they were written in.

The fact that it's not as extensible as some of the heavier-weight programs doesn't bother me much, as I can always use another tool alongside it if I absolutely have to (and so far, I haven't found anything that I couldn't just add as a tool to the IDE).

-Albatross
TheDestroyer wrote:
Java is a language for those who find C++ hard

That is just plain ignorant. Some of us like java and are still capable of programming in c++. Ill admit java apps will likely be slower on any system with limited memory. I have an i7 laptop with 8G of memory, I usually have visual studio, firefox (currently over 40 open tabs), and eclipse which runs smoothly. This same setup also ran the same with 4G of ram.
Last edited on
@naraku9333: The point of that saying is not offend Java programmers, but rather point out the fact that Java is meant to be less efficient than C++ but more user friendly. rapidcoder refuses the idea that Java is slower than C++ and talks like Java has "beaten" C++ in speed. I'm learning Java myself, and I know Java is useful in many areas (and I admitted from the beginning that Java is good for Android, because Android phones are made for Java), but I know for a fact that Java apps is slower than C++ programs in PCs, and even if I learn Java and specialise in it and work in a company as a Java programmer for 20 years, my arrogance won't drive me to the idea of saying that a programming language that's based on a virtual machine could be faster than a language that communicates with the processor.

I believe it's all about how professional you're in programming and writing the right code in the right place. And I believe if a professional C++ programmer wrote a program vs. a professional Java programmer, C++ will be faster. That, however, doesn't disqualify Java at all. It simply puts it in a place for me to refuse using Java based IDEs. I would use Java for some other simpler tasks that don't need much user interaction, like JabRef for scientific references, and ImageJ for simple image processing.

You're using Eclipse? try QtCreator, and feel the real speed difference. You'd never say they're the same, I promise!
Last edited on
@TheDestroyer
The problem with what you are saying, is that it is far to general. Rapidcoder is at least giving examples where java is showing better performance. I've seen NOBODY say java is always faster then c++, but you seem to be implying c++ is ALWAYS faster then java.
I use eclipse primarilly for java and only use it for c++ when I need to test something with gcc, I prefer Visual Studio as an IDE with eclipse a close second.
Oh gods, I'm not even going to respond to the Java vs. C++ topic. It's a pointless argument that doesn't seem like it'll go anywhere. :/

I will. Just like every other language, they were designed with certain tasks in mind. Therefore they all have their pros and cons compared to other languages. Find out which ones you like and use it rather than debate on which one is better vs another. If you need to code something in Java then pick Java, C++ then use C++, Assembly then chose assembly, etc.
closed account (S6k9GNh0)
Neither language has an aspect of speed so saying one is faster than the other is idiotic and naive. I really wish you guys would stop updating the thread so I don't think I have new posts to look at.

Eclipse, Netbeans, BlueJ are all IDEs that I've used in the passed and enjoyed. An IDE isn't a heavy application generally (aside from start up). If it's slow, its either bad code or bad hardware. However, I haven't experienced this from any IDE based in Java nor would I really care. It's a fucking IDE, not a high-speed application "built for speed and aeromatics". Feature, usability, and flexibility are all key here.
Last edited on

my arrogance won't drive me to the idea of saying that a programming language that's based on a virtual machine could be faster than a language that communicates with the processor.


This argument is seriously flawed. Requiring a VM does not imply being slower at all. It may imply slower startup, because VM has to start up before the app is executed, but not slower execution once it is up and running.

Java code is compiled to native machine code and once compiled, it is executed without any special interception of VM. VM is mainly a smart compiler doing PGO and giving some special services that native OS is not capable of. And just as *any* compiler, regardless of a language, it differs in the set of applied optimisations from other compilers. So there are optimisations done in JVM that you won't find in C++ compilers (so Java certainly *can* outperform C++ in some cases) and vice versa, there are some optimisations in C++ compilers that JVM can't do (so far).

Your argument is flawed even more, because it is nowhere stated in Java standard it requires a VM. There exist implementations that compile Java statically to native code, e.g. excellent JET compiler or (much worse) free GCJ. However, there are some limits to what static compilation can do. VMs or hybrid approaches usually do better.
Last edited on
Topic archived. No new replies allowed.
Pages: 12