New people entering the Information Technology field have an overwhelming number of choices to make in terms of how they would like to pursue their own career paths, though some of this is also determined by their university course curricula and\or technical training. In any event, when it comes to a choice in language development, there are only several primary avenues that can be pursued; C++, Java, .NET, Apple, or the third-tier and smaller language communities (ie: Scala, Go, Ruby). All of these language avenues represent what are called “third generation” languages. And all of them, no matter the marketing hype surrounding any one of them, all do the same things. How can they not? They are supposed to support general application development, which means they can generate just about any type of application required; from games to business support processes to artificial intelligence.
C++ has the added advantage of being the language of choice for internals development (operating systems, compilers, etc.), though the .NET languages are increasingly being used for similar such endeavors.
Java however, was the language that actually introduced the development world to a new generation of application development both in the enterprise and the individual application environments. It took the professional development communities by storm. Microsoft, seeing its error in staying to long with its COM\COM+ based languages introduced .NET several years after Java. And the race was on as to which would become the most popular.
Recently Black Falcon Software came upon jaxenter.com, a very interesting site that promotes a very balanced view of the Java Development Community without the apparent hype that has surrounded it in years past, which demonstrates both the maturity of the site as well as the community it covers. It also presents many articles that are of interest to both the Java and .NET communities in terms of development techniques and open-source tools. And pleasantly enough they were quite interested in and subsequently did publish the last “TECH NOTES” sociological piece on the Information Technology field, “Changing IT Will Never Happen” (see… Changing IT Will Never Happen…), which also demonstrates the site’s interest in understanding that there is very much a sociological component to our profession.
As Black Falcon Software specializes in the development of .NET applications, it is well known that Microsoft’s C# language actually has a lot to thank the Java Community for since C#’s core development style and initiative was based on the growing popularity of the Java language when C# first appeared commercially in 2001. In fact, C# was supposed to actually be Microsoft’s attraction for current Java developers that would hopefully induce many of them to trade in their Sun System alliances (James
Gosling at Sun was the original inventor of the Java language) for that of Microsoft when both of their earlier attempts failed with Visual J++ and Visual J#, the latter which was introduced with the early introductions of the .NET environment. Nonetheless, C# actually does mirror quite a bit with its immediate Java cousin.
C# did in fact gain a wide popularity among professional developers but didn’t have the impact on the Java Community that was hoped for as Java still remains one of the top enterprise development languages in the IT development community.
jaxenter.com does quite a nice job of providing an additional, needed impetus for the Java Community that saw its reputation somewhat and unfairly diminished in recent years not so much from its lack of quality as a development environment but more so from an uneven ability to promote language refinements as well as a lack of adequate easy-to-use-tools with additional complexities when compared to the .NET infrastructure.
Though many Java stalwarts will decry as unfair by stipulating such complexities in the language, its early history fostered them whether intentionally or not from the simple fact that its initial bulk of supporters were scientists, academics, and students of the computer sciences. What these groups saw as merely conventions in development was not seen nearly the same way by many in the Microsoft Community that were quite comfortable with the “ease-of-use” emphasis in Microsoft’s development tools.
The dichotomy in these development environments eventually reached a level of equilibrium once the internecine wars between Microsoft and the open-source\Linux communities eventually ceased and all groups decided that mutual cooperation was a much better path moving forward. However, this is not the only benefit that everyone eventually acquired but the Java Community came to see that some of Microsoft’s ease-of-use development tool concepts may have been more beneficial than originally given credit for.
Like all third-generation languages, none is better than the other in either performance or capability since they all basically do the same things against similar eco-systems. And Java is still a substantial member in this arena since like its cousin, C#, it is constantly being refined and presented with new avenues for development possibilities. It is all only a matter of personal preference (as well as market pressures) that determine a language path to pursue and if yours is leaning towards that of Java, spending some time regularly at jaxenter.com will be of great benefit in introducing you to a world that the Microsoft Community rarely talks about but spends quite a bit of effort to interface with…