Join 307,122 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,959 people online right now. Registration is fast and FREE... Join Now!
ok guys, i am able to code in C#.Net, VB.Net, PHP and now i want to learn more about Desktop Applications, i decided to start oldy goldy languages such as C++ ro JAVA, which one to start. Waiting for your replies
Since you know C# picking up Java will be a breeze. The biggest difference between C# and Java is that C# has it's namespaces and Java has it's libraries(can't think of what Java calls them at the moment.) The syntax of the languages is very similar. If you want to pick up another language Java is a good option. IDEs for Java, such as NetBeans, make creating GUI applications easier, like in Visual Studio for C# and VB.NET. So, since you are familiar with C# picking up Java should not be all that hard.
C++ is also very similar to C#. There are some major differences though. In C++ you will have greater control over your program and the operating system. It is also easier to make horrific errors that are much harder to track down. In C++, programming GUIs is a little more difficult.
Either one will be a feather in your cap. Java would be the easier of the two so if you want easy, go with Java. If you feel like more of a challenge I would say go with C++.
thanks for your reply dear , i will Chose C++. But which one i mean CLI, VC++ or etc...
I would recommand to take a look at Qt from Nokia/Trolltech. They have developped a nice framework and their class library is the best and most intuitive you can find in the C++ world. The advantage of this solution is, that you can deploy your code on Windows, Unix/Linux, Mac OSX and different embedded systems, all with one source code, you just have to rebuild! Another nice feature is that you have a lot of IDE supported. In your case, you could use Visual Studio 2008, but also Eclipse and many others are supported. They have also developped their own IDE called Qcreator, this one beiing at the beginning of development life and actually not so ample than the other one just mentioned above. Note also that there is a LGPL version of Qt, so taking a try does´nt cost anything. Alain
If you wanna go into more of a lower level then go C++. If you wanna go into something your more use to then go Java.
For C++ I would recommend that you first learn the CLI before moving into GUI's. Then you can chose MFC(yuck), QT, wxWidget, or anything else you wanna go for.
As far as compilers for C++: I use g++, the GCC C++ compiler, for small programs since it is quick and small and I can use it through the console/terminal and I get to use notepad++ or any other text editor for editing.
devCpp,which uses GCC, on my laptop since it is so small and versatile.
And finally VS on the desktop for it's ease of use. Even if it does use a Microsoft specific compiler, which only makes since, it is darn easy to use.
I'm sure you already are familiar with Visual Studio's so why not use it?
P.S. There are tons of C++ compilers and IDE's out there to choose from and it all comes down to a matter of personal choice.
This post has been edited by carltech: 5 Sep, 2009 - 06:36 PM
Java is a Higher Level Language. What I mean by that is that for every line of code you write, more lines of machine language are executed.
C++ is a Mid to High Language. It has all the low level awesomeness of C but also has the higher lever niceness of a newer language. So, depending on what you are doing in it, you may be executing more or less lines of machine language.
So, what do I think you should learn?
Both. By all means.
If you have experiance with C, learn C++, as it will be easy syntax wise, but will introduce you to the wonderful world of OOP.
If you have experiance with something like C#, go with Java for now, because, again, there is a very similar syntax, and you should already be getting a grasp on OOP.
Looking at your post, I am going to say that Java will be easier, but C++ will be more useful in the long run. Both are very much used in the industry, and knowing at least a little in both will be very beneficial.
IDE wise, for windows, go Eclipse for Java, Visual Studio for C++.
Alternative to these is Vim, emacs (but hey, vim is better), or Crimson Editor.
For Linux, go Eclipse with Java, CodeBlocks with C++.