For the enterprise, Java and Microsoft’s .NET rule. However, Java has the edge, as it is No. 1 language in terms of number of developers. According to Evans Data, there are more than 9 million Java developers in the world. That means there are tons of Java applications out there that will have to be supported, updated and maintained. Furthermore, Java is the language of the Android mobile operating system. Android provides the tools and APIs necessary to begin developing applications for the Android OS using the Java programming language. Java ranks No. 1 on the TIOBE Programming Community Index for June 2010 (after a brief stint at No. 2, behind C, in May). The need for Java developers to build new Java applications is not about to wane.
C# is a multiparadigm programming language encompassing imperative, functional, generic, object-oriented and component-oriented programming disciplines. Microsoft developed C# within its .NET initiative and the language was later approved as a standard by Ecma and ISO. C# also is slated by Microsoft to become the primary development language for Windows Phone 7. Like Java, C# is big in the enterprise. However there are considerably fewer C# developers than there are Java developers. But the importance of C# as part of the Microsoft .NET strategy and its support through the Visual Studio tools suite make C# a formidable contender in the programming language race. C# ranked No. 6 on the most-recent TIOBE Index.
We know they are not the same language, though C++ builds on C and began as an extension of the C language. Though sometimes viewed as “nichey,” C++ is widely used in the software industry. Some of its key application domains include systems software, application software, device drivers, embedded software, high-performance server and client applications, and entertainment software such as video games. C++ has greatly influenced many other popular programming languages, most notably Java. Furthermore, C and C++ ranked No. 2 and 3, respectively, on the most-recent TIOBE Index.
Like the BASIC programming language, Visual Basic was designed to be easily learned and used by beginner programmers. The language not only allows programmers to create simple GUI applications, but it can also be used to develop complex applications. Programming in VB is a combination of visually arranging components or controls on a form specifying attributes and actions of those components, and writing additional lines of code for more functionality. With ease of use as a selling point, Visual Basic caught on like wildfire. There is simply too much VB code out there to ignore this language in any list of 10 programming languages. Visual Basic ranked No. 5 on the most-recent TIOBE Index.
PHP is very popular for corporate applications and for Web design. If you want to be a freelancer it’s a good language to know. PHP was designed as a general-purpose scripting language that was originally designed for Web development to produce dynamic Web pages. PHP was ranked No. 4 on the most-recent TIOBE Index.
If you want to make a lot of money, but probably also work on very intense high-pressure projects where risk is often involved—as in a lot can go wrong—learn Objective-C. Objective-C borrows from Smalltalk and the C language, and it influenced the creation of Java. Objective-C is used primarily on Apple’s Mac OS X and iOS. With the wild popularity of Apple’s iPhone, iPod Touch and iPad, there are simply not enough Objective-C developers out there to meet the needs of users hungry for more apps for these devices. Objective-C ranked No. 9 on the most-recent TIOBE survey, but that is up from being No. 45 in the survey in June of 2009.
Many say Perl is the new COBOL. Perl is also viewed as “the duct tape of the Internet” and is used to integrate databases and other systems together. While demand for the dynamic or scripting languages such as Perl, Python, PHP and Ruby lags behind that of Java and more mainstream languages, the popularity of these languages is growing and there is a need for programmers in each of those communities. However, according to Indeed.com, the demand for Perl programmers is tracking higher than that for PHP, Python and Ruby developers, in that order. Perl was ranked No. 8 on the most-recent TIOBE Index.
Want to work on the leading edge and build applications for the cloud? Dynamic languages, especially Python, are being used to create Web/cloud applications on frameworks such as Django. Google App Engine is built with Python and originally only supported Python. The advantage of Perl and Python over PHP among the dynamic languages is that while PHP is a Web-only, server-side language, Perl and Python are both general purpose languages with usage in multiple industries, from aerospace and defense to sciences and to financial to hi-tech. Python was ranked No. 7 on the most-recent TIOBE Index.
Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada and Lisp) to form a new language that balanced functional programming with imperative programming. The popular Ruby on Rails framework has helped to promote the use of Ruby. Since its public release in 1995, Ruby has drawn devoted coders worldwide. In 2006, Ruby achieved mass acceptance. Active user groups have formed in the world’s major cities and Ruby-related conferences are filled to capacity. Ruby is used for building Web apps, simulations, 3D modeling, business apps, robotics, networking, telephony and system administration systems among other uses. Companies such as Engine Yard, Heroku and New Relic provide Ruby with cloud hosting and developer tools support. And demand for Ruby developers is strong. As Yehuda Katz, a core Ruby on Rails contributor and an architect at Engine Yard said at RailsConf 2010: “I don’t know any Ruby developers who are unemployed.”