Number 2
May 2002

A Ticking Time Bomb: Java in Universities


Drop by your local university computer science department and ask what their primary teaching language is. Most of the time, the choice will be Java. I've visited many universities in many countries in the last few years, and a substantial majority has settled on Java as the primary teaching tool.

There are many reasons for this, but the most important is that Java is an excellent teaching language. If you were a computer science professor choosing a language for your courses in the late 1990s, wouldn't you have chosen Java? It was far and away the best option available, providing a good mix of clean design, support for modern concepts, and ease of use. Furthermore, Java is perceived as open. Never mind that Sun actually owns the language and its associated technologies. Many vendors provide Java compilers, and lots of open source Java code is available. Also, it's a good fit with Unix, the environment that most computer science professors know.

Microsoft bears some of the responsibility, too. The company initially priced its development tools out of students' reach, while Java tools were essentially free. And before .NET, Microsoft didn't have much of a technical leg to stand on. How many professors would seriously propose using Visual Basic 6 as the primary vehicle for presenting core computer science concepts?

Yet with the advent of the .NET Framework, Microsoft is now in a very strong technical position. C# is a worthy alternative to Java as a teaching language, even better in some ways. (How do you use Java to teach students about pointers, for instance?) The .NET Framework provides first-rate support for exploring modern technologies such as XML and web services. Just as important, Microsoft has made Visual Studio.NET and other Microsoft products available at nominal cost to universities, and they've sponsored a variety of academic workshops, seminars, and other presentations about their technologies. (Full disclosure: Microsoft has sometimes hired me as the speaker for some of these events.) Yet from what I've seen, a majority of universities are still teaching Java exclusively.

And teaching Java exclusively is bad for students. They will leave school for a world that contains plenty of Java, but also plenty of .NET. Preparing them for only part of that world makes no sense. Students suffer, too, from focusing so much on a single environment. Learning another way and another set of tools, even if only for one course, is unquestionably a good thing. Introducing some diversity helps set expectations, priming students for a career that is certain to be full of shifts in technology.

Teaching Java exclusively is also bad—really bad—for Microsoft. Having an entire generation of computer scientists trained solely in your competitors' technology can't be a good thing. And don't forget: today's computer science students are the pool from which all of tomorrow's computer science professors will be drawn.

Not surprisingly, professors who have already invested time and effort in creating teaching materials with Java are reluctant to invest the effort in building new ones using .NET. Just as important, professors are often more focused on research than on students. How many professors really want to devote the time to learn a new environment that doesn't relate directly to their own research?

The good news, at least for the Microsoft-oriented organizations hiring them, is that retraining Java-oriented students in .NET is not an enormous task. Moving from Java to C# is straightforward, and since new graduates rarely know much beyond the basic Java libraries, learning the analogous functions in the .NET Framework isn't hard. But the bigger problem for those organizations isn't technical. It is that Java-knowledgeable students are more likely to seek out and accept only Java-oriented positions when they graduate. Over time, this may encourage companies to choose Java over .NET, simply because they can more easily find cheap, trained developers.

This imbalance in higher education is one of the most important issues facing Microsoft today. Although the company has certainly recognized the problem, there is plenty more to do, especially in Europe where anti-Microsoft feeling is strongest. Allowing the next generation of software professionals to emerge knowing only Java is not a good thing for Microsoft or for the industry in general. If this time bomb explodes, it will shake the .NET world.


David Chappell’s June Speaking Schedule

June 4:
Keynote, "Web Services Today", XML Web Services One conference

San Jose, California

June 6-7:
Internal event

Sophia Antipolis, France

June 13:
Internal event

Walldorf, Germany

June 14:
Public talk, "Understanding .NET"

Frankfurt, Germany

June 17:
Book signing for Understanding .NET and talk, "Comparing .NET and Java", SoftPro Books
Denver, Colorado

June 18:
Keynote, "Succeeding with .NET", and other talks

Denver, Colorado

June 19:
Internal event

Denver, Colorado

June 20:
Public talk, "Big Issues in .NET: J2EE and Web Services"

Houston, Texas

June 21:
Public talk, "Big Issues in .NET: J2EE and Web Services"

Austin, Texas

Coming up in July:

July 2:
"Comparing .NET and Java" and "Distributed Computing Tomorrow: Web Services and More", Microsoft TechEd Europe

Barcelona, Spain






David Chappell is Principal of Chappell & Associates ( in San Francisco, California. Through his keynotes, seminars, writing, and consulting, David helps IT professionals around the world understand, use, market, and make better decisions about enterprise software technologies. David has been the keynote speaker for conferences in the U.S., Europe, Latin America, and the Middle East, and at many in-house events. His popular seminars have been attended by tens of thousands of developers and decision makers in more than two dozen countries, and his books have been translated into ten languages. David’s consulting clients have included Compaq, Microsoft, Stanford University and others. Contact him at



©Copyright2007 David Chappell and Associates
All rights Reserved.


To subscribe or unsubscribe to this newsletter, go to