Asp calling from function java script
The Decline of C++?
Harrell Collins, 39, has his first real programming job and it's with Java. He studied C++ for two years at Columbia University's Computer Technology and Application program. Before he put Java on his resumé, he received very little encouragement from recruiters. "Basically I didn't get any responses. I was always told they would put me in the database and they would give me a call back, and I never received one," he says.
But then he took a course on Java, Tomcat and JavaServer Pages (JSP's), several leading-edge technologies from Sun. Before this course was over, he tried once more with recruiters while posting his resume online again. With Java, the results were very different.
It was "completely night and day," he says. "You go from getting, 'Okay, we'll file you away,' to guys calling you Sunday night at 8 o'clock" for interviews. He is now a Java Developer / Programmer at KAZ a NYC based manufacturer of healthcare appliances with a manufacturing plant in upstate New York with about 600 employees, and going to meetings and learning the ropes as a new developer. He's using Java to integrate with an old guard manufacturing system written in COBOL, exciting work that will bring him further along with Sun's very hot programming language.
New hires like Collins may be typical. A study released by Bloor Research, located in the UK, surveyed 40,000 online programmer job ads and found for the first time, a majority, 37%, asked for Java expertise, doubling since the previous year and nudging out C++ for the first time. VB and C were at 25% and were consistent from the previous survey.
Java Fix
Java programming leads the way in online job postings
Java
37%
C++
25%
VB
25%
C
25%
SOURCE: Bloor Research, 40,000 online ads
Importantly, Java has all but conquered the academy, ensuring that the next generation of programmers is well versed in the Java language. According to the Gartner Group, as of January 2000, Java was being taught in 87% of the institutions surveyed and was mandatory in 56% of Computer Science tracks while C++ was offered in 87% of schools and was a requirement in 67% of them. But in the last year, Gartner measured an increase of about percentage points for Java in offerings and a corresponding decline in C++, 96% to 79%, now in favor of Java.
The advantages for teaching Java as a first computer programming are well known. Since it removes difficult-to-master C++ syntax features like operator overloading and templates while adding garbage collection to simplify memory management, it's a lot simpler and safer. Beginning object-oriented programmers can concentrate on working with objects, methods and properties instead of the nitty-gritty details--and considerable gotcha's--of the earlier language. Compared side-by-side, Java code looks cleaner to many developers. Students don't get bogged down in syntax.
On the higher end, object-oriented gurus appreciate the elegance of implementing complex class frameworks in Java. Not that it can't be done in C++, mind you, but tweaking a complicated group of classes is often faster in Java, a byproduct of the fact that there is no separation of class declaration and implementation. C++ classes use separate .h header files to define classes and .cpp files to fill in the function bodies.
In a complicated class framework, it can be expensive in terms of compilation times to re-build code if you change a lot of the design. Java has no such separation and no penalty for changing your design as it evolves. Not to mention that Java code compiles a lot faster.
Other telltale signs show the remarkable growth of Java over the last few years. According to the Cutter Consortium, as of December 2000, Java was outpacing C++ as the language of choice for e-business, 51% to 37%. Because of Java's natural role in integrating systems, especially when combined with XML and the variety of parsers available for the language, it would seem to offer a natural fit. Additionally, surveying 400 respondents at big IT shops in October 2000, Gartner Group found that 80% of respondents were using Java, and 68% for C++. Only 14% said that they were not going to use Java in two years time. Of course, Visual Basic, at 82%, would seem to be even more popular, a fact that Microsoft corroborates with its own figures.
According to the Redmond giant, for the same period, October 2000, 44% of the developers it surveyed were using Visual Basic, against 11% for C++ and only 6% for Java. The difference may reflect the size of the IT shops surveyed, with larger enterprise development firmly onboard with Java, especially Enterprise JavaBeans (EJB's) and application servers that run these components with vendors like IBM, iPlanet (a Sun-Netscape Alliance), BEA, Borland and Sybase.
The only major vendor not to support EJB happens to be Microsoft. It remains to be seen whether the new .NET platform will interoperate with Java and EJB's in any significant fashion. (Be sure to check our full length feature on Microsoft .NET Development Environment.)
The relationship between Java and C++ with Microsoft is complicated by its upcoming launch of .NET and C#, a distinctly Java-like language. In February 2001, Microsoft announced a plan to woo Java developers over the C# with a set of tools to make it easier to port Java code over to C#. The Gartner Group is skeptical of this strategy, however, and in a response to this report said, "Through 2005, Microsoft's Java language syntax strategy will capture less than 5 percent of total Java developers" (with a 0.8 probability).
Statistics can be manipulated to further many different agendas, and it's best to look askance at any vendor proving that one technology is better than another just by market share. But the preponderance of evidence shows a real upsurge in Java and at least a modest decline in the 'buzz,' if not a decline in the number of working C++ developers. Does all this mean you should be thinking about a career change if you already are programming C++?
The real news in this Java 'revolution' is that there will likely continue to be interesting--and perhaps lucrative--C++ work for the foreseeable future. In our informal survey of sources at major vendors (including Microsoft, Borland and Rogue Wave), we found a surprising allegiance to C++. So don't hang up your spurs just yet.
With Java and Web development languages like PHP, ASP/VB Script and JavaScript on the rise, where exactly does C++ fit in? If you're a working C++ developer, should you worry about job security? And if you're new to the programming game, is C++ still a good bet for breaking into the industry?
The answers may surprise you. We put that question to a number of industry insiders, and found a reasonably bright future for C++, at least for the next five years. But that doesn't mean this C++ language isn't changing focus. Instead of being a general-purpose development language, C++ looks to take on a more specialized role in new projects. Read on to see what's next for this powerful object-oriented programming, which is far from dead, but facing new challenges from all corners.
First, the bad news. C++ isn't what it once was--the be-all and end-all of languages, the epitome of what a state-of-the-art object-oriented programming language can be. For a good decade and a half, since 1987 or so, the very best and brightest programmers in business turned to C++ as their weapon of choice to tackle the biggest and most difficult systems.
But now, with ever tightening Web developer cycles, and new easier-to-use programming languages, C++ is going through something like a midlife crisis, perhaps, examining what it's good at and using what time it has left as a programming language to do what it does best. No more trying to conquer the world. C++ knows what it's good at--and what it does, it still does quite well.
But it is no longer the worldbeater of its youth, when it commanded the majority of developer mindshare. There was a time when everyone who wanted to really "know" programming learned C++ (and it was--and still is--difficult to master). It's still quite possible today to get a degree in Computer Science at a four-year college without writing a line of C++ code.
The reason for this change isn't that C++ has failed. By any measure, C++ has been a success story on its own. After all, it's an international standard while Java is still very much a proprietary language. One thing that's been downplayed in the recent language wars is that Java (and Microsoft's new Java-like language, C#) owe a lot to the C++. Most of the syntax of these two newer languages is based on the earlier language, with some of the thornier features removed (in Java), and then put back into the mix (with C#).