QUOTE (Ashraful @ Jul 29 2008, 02:10 PM)

I reently started learning programmming. I decided to start with web programming. I covered XHTML and CSS, and am learning PHP and MySQL along with JavaScript. I plan to move on to more advanced stuff like AJAX and Ruby on Rails.
But I wish to start learning desktop programming as well and I'll either C++, Java, or Ruby. Which one is the best one to start learning?
And I am also looking for a book that can give me a theoretical introduction to programming that is not limited to a single language. Something that explains how programming languages work and what high and low level languages are, and how the computer hardware understands the language and stuff like that. Any suggestions?
Well, let's say, that really depends upon your purpose.
Each language has its own strength and weakness:
1. Java is highly portable, runable on every platform, at the cost of performance.
2. C++ is nice yet unlike Java and C#, is unmanaged, which means you have to deal with the memory allocation manually).
3. C# seems to be the most beautiful, easiest to learn language I have ever seen with a clear syntax and good performance. But it's only fully support on Windows (Mono is there for C# development on POSIX but it's not yet competent). So, if you're considering multi-platform development then C# isn't a good choice.
4. ANSI C is essential for system level programming. You can also apply object oriented programming techniques if you want, but this is not very well supported by the natural of the language. Google for "object oriented programming ansi c". As I remember, there is a free ebook on the topic.
Alternatively, you may consider some scripting languages instead of the above (compiling) languages.
1. PHP with PHP-Gtk => terrible, don't even think about creating good GUI with this.
2. Python: can be used in almost every platform, from web to desktop. Some of the most used software in current Linux distribution are written in Python. You can also develop web applications using Python and in the end, I love this language due to its simple, elegant syntax.
3. Ruby: known as the language that created the revolution in web development. Ruby can be used for desktop application also yet I haven't seen much of its application in this field.
Caution: Python and Ruby syntax may look pretty weid to those who had certain programing experience already.
Comment/Reply (w/o sign-up)