I am having trouble choosing which one to learn. I am interested in Desktop/Database applications for Windows(Maybe Linux later). I have narrowed my choices down to C/C++/C# and Java. I can't choose though, someone give me advise. Also, Planning on Learning PHP afterwards because I enjoy web development, so that is a good reason why I am learning a C syntax based language. ____________________ C; I don't really want to learn because its outdated and doesn't use OOP. C++; I really want to learn but the learning curve for this one is really hard. I have read mixed reviews that say you should and then say you shouldn't because of the complexity. Though, Learning this would pay off in the end because of the popularity of this language. C#; I guess I wouldn't mind learning C# but I really didn't want to learn a language with a CLR(Common Language Runtime) because of the difference in speed, also, I could just learn Java. Java; I really like this language and I really don't like this language. Its very complex and the case sensetiveness on this language is really extreme. Makes my head spin when I get 15 errors just because the "S" wasn't capitalized in "System.out.Print("Whatever")". Also, its very slow and very complex like C++ but might be worth it. ____________________ I currently know the following languages; Html/CSS, Little Visual Basic, Little PHP, and a lot of Delphi. Thanks.
If you have plan to develop on linux, Java is the best option as its platform independent, developing GUI and data centric desktop application wid c++ will be difficult, If you want to develop only for windows thn c# is the best alternative. Whatever it is, I choose Java only ;-)
Java is by far the easiest to learn. If you are learning from scratch on your own (even if you are not an taking a class or whatever) I would suggest picking up Head First Into Java. It may just be the greatest programming book ever written. Read through that and Java will be a piece of cake. Don't you worry about it being boring or anything, you will love it.
Third vote for Java. Very similar to PHP, especially PHP5 with the introduction of interfaces. And as others have pointed out, Java is cross-platform.
I will suggest Java simply because you can get a job with that and it is a skill in demand right now.
The world as we know it was built on C and C++ The OS your using now was probably built in C. Its fast, flexible and powerful. You know what you should learn because you know how much time you have, and what your end goal is. If your end goal is to create powerful apps in 5 years or so, then learn C++. If you wanna be able to knock up quick apps in a few months then choose .NET or Java. Learn what you need to learn to get the job done
.Net is a framework not a language. It doesnt really matter what "language" you choose between all the object orientated languages as the "difficulty" is learning the concepts and the rest is basically syntax C++/ C# or Java/ J# are the most commercial skills and C# or J# will naturally lend themselves to ASP.Net given both are valid languages for the framework. If it is for your own business or just a hobby then learn which ever. I learnt VB and certainly at ASP.Net level of programming I can as easily program in C# as VB without any "training"/ learning other than looking at a couple of sample scripts. Personally prefer VB as I dont see the point of all the {}
My idea is Java. I started to learn it and I enjoy very much. On the other hand, Java is everywhere but the others are some limited areas.