To a programmer, language is much like politics and religion: it's intensely personal, not open for debate with complete strangers and has much to do with where and when he or she grew up.
It's an individual preference, really, influenced by how much the programmer enjoys mucking about in the language's internals as well as by his or her employer's long-term strategy and existing IT infrastructure.
Within some programming circles, the essential difference among today's most popular languages is broadly understood this way: Microsoft's Visual Basic (VB) derives from the Basic branch of the family tree, while languages such as Sun's Java and Microsoft's C# (pronounced "C sharp") come from the C and C++ branch. So, Visual Basic has a completely different syntax, or way of working, from Java and C#.
That said, C# and Java have some significant differences as well as similarities. "Java has a lot of mechanisms that protect the programmer from making too many mistakes," said Joe Mayo, an independent consultant in Highlands Ranch, Colo., who now uses C# exclusively in his engagements. "But C# is about giving the programmer as much power as possible. So programmers can actually hurt themselves."
Rocky Lhotka, an author and VB guru who works as a technology evangelist for Magenic Technologies in Minneapolis, Minn., has his own take on the differences. "The way to frame the languages has to be around their audience or constituency," he said. "VB and C# are only about 1% different in terms of features and functions," but they're very different in their syntax.
In other words, VB, C# and Java can all accomplish much the same thing. It just depends on how you want to get there.
"Developers don't like to switch," Lhotka explained. "People who are in love with Java or C++ have a belief that the C style of syntax is small and compact and elegant. They would never use VB in a million years."
On the other hand, "there are a lot of VB people who feel the same way -- they can't understand the extra semicolons and characters in the C-style of languages," he added. VB is primarily used by programmers who prefer to save time with shortcuts. "They'll give up some power if they can accomplish the same thing with one line of code that lets you do a bunch of things," he said.
Given those separate cultural phenomena, Lhotka said, for .NET to be successful, Microsoft "has to appeal to both groups of programmers -- those who prefer C-style and those who like VB." It's not a matter of one language being "preferred" in the Microsoft scheme of things.
So, vive le difference. Bruce Sturgen, a consultant with Greenbrier & Russel in Milwaukee, currently uses Java for most of his engagements. He says that a primary difference among today's popular languages has to do with Sun's promise of cross-platform application deployment with Java. Write the software once and run it anywhere, as long as you use Java as the development language.
Microsoft, on the other hand, has built its .NET development platform to give programmers a choice of many different languages and tools that run on Windows, the Internet or mobile devices.
"If you need to do a lot of cross-platform development on the mainframe, Windows and Unix, you might want to look at Java," Sturgen suggests. But if a shop is primarily Windows-based, then .NET -- with its choice of different languages -- might be the way to go.
That said, he expects both Microsoft and Sun to continue beating the Web services drum. The idea is to be able to use Java or .NET languages to create applications that can get information back to the requester no matter where it is coming from. Performance and scale are the keys to this concept working well, so expect improvements from both camps on those fronts, along with better security and integration with legacy data sources.
For its part, Sun recently released version 1.4 of Java standard and enterprise editions, which contain many of these enhancements.
"A lot of it is looking at the same problem in a different way," Sturgen says. "And a lot of it is posturing. You have to look past the hype -- both Sun and Microsoft are pretty big hype machines."
- Browse the Best Web Links on Java at SearchSolaris.com.
- Click through SearchVB.com's .NET Info Center for more on .NET.
Sponsored by EMC
Industry analysts on the benefits of automated networked storage and how EMC is leading the way. Every day, EMC Automated Networked Storage lets IT departments cut 60% out of per-megabyte costs, consolidate storage management and triple disk utilization -- all at a surprisingly affordable price. Find out what analysts are saying about automated networked storage and how EMC can help you do more with less.