It is currently Mon May 20, 2013 6:44 am
Code::Blocks is a very good IDE that it seems no one here has discovered yet
stoopdapoop wrote:Is there anything wrong with MSDN? I know a lot of it is win32 related, but a lot of it is general C++
Unreal_Me wrote:Java and c# have an extra layer of overhead to go through, as I think they both run through a virtual machine (JVM for java and .NET for c#. though .Net might be less of a JVM, but still adds some overhead). Both are also compiled as they run (Just-In-Time compiling iirc)
c++ is a bit more low-level, and just get completely compiled, and then run. It goes straight to something the OS can handle (which eventually boils down into something the hardware can handle)
Both languages also have a garbage collector that manages the memory for you. As nice as it is (and damn it can be nice) it adds more overhead to track objects and delete them as necessary (ie: no references exist to an object, it gets removed)
c++ you have the lovely job of doing this yourself. Which get's annoying when you don't know what you're doing any your process is taking up an extra 100kb every second >.>
c++ is used because it's one of the fastest performing OO languages, if not the fastest, and both DirectX and OpenGL are written specifically to work with it. Not only that, but because c++ is a lower-level language than java or c#, it gives a bit more control of certain things; especially things to do with memory management.
Higher level languages don't always allow you to go in and manipulate specific bytes the way you want it to. At least, not without bending a few parts of that language.
So long story short, c++ can be noticeably faster for complex programs when you know what you're doing.
Java and C# just allows you to develop things much faster. Especially GUIs. Godamn win32.
Minecraft wouldn't be that much faster in c++. A lot of it is in how the algorithms in the game are designed (which from what I heard could use some work)
Users browsing this forum: Exabot [Bot]