Digital Edition

SYS-CON.TV
i-Technology Viewpoint: "Java is Back!"
Better times lie ahead for the language once known as 'Oak'

Related Links:

  • Exclusive .NETDJ Interview with Don Box - The King of COM
  • "Is Carly Toast Yet?" - Maureen O'Gara on HP's Fiorina, Three Years On

    The best things come in threes, they say. So this month's threefold boost for Java suggests that, in a nutshell, Java is back.

    The three items involve an IT commentator, an industry executive, and a recent development within the software industry itself. After a couple of years off the radar screen of the general public, the language that began as Oak (developed as part of the so-called "Green Project" at Sun started in December 1990 by Patrick Naughton, Mike Sheridan, and James Gosling) and then, as Java, burst onto the technology world in May 1995, is suddenly back on the tip of everyone's tongue.

    Before the inevitable complaints ("But it never went anywhere!") start, let's remember that everything is relative. A "Googlefight" on, say, Java vs .NET tells us that all has not necessarily gone Java's way just recently. A "mere" 66 million "Java" hits...versus 388 million for "NET" - but that may all be about to change.

    First we have Sun's  own president and COO, Jonathan Schwartz, putting Java firmly at the center of almost everything he says, does, thinks, or writes. His now-infamous blog of last week for example, in which he managed to lambast IBM even more than he'd done the previous week, ended:

    "Were I a CIO facing these issues [the technical effort needed to port an app off one app server to another], I'd stay focused on the one thing definitively under my control - keeping the cost of substitution, of at least application portability, as close to zero as possible. How? You guessed it, I'd write to Java."

    One up for Java.

    Then came the influential columnist and IT commentator David Berlind, who wrote this week:

    "I do agree with Schwartz on his final point. Barring a need for simple scripting that could be satisfied by PHP, Perl, or Python, of the development choices that put you in control and that leave as many of your options as open as possible, Java is the way to go."

    Two up for Java.

    Most recently comes a San Jose Business Journal article saying that, after years of virtually ignoring the gaming industry, venture capitalists are finally ready to play - and attributing that readiness to, in large part, Java.

    VCs in the US made just six gaming investments totaling $50 million in all of 2003, the article reports, yet in the second quarter of 2004 alone, there were five largely mobile gaming deals totaling $86 million. While Qualcomm's BREW platform reached sales of 11.6 million units in 2003, up from 3.5 million the prior year, Java-enabled handset sales tripled in 2003 to 95.5 million units. All Java handsets are perfect for playing mobile games.

    Three up for Java.

    There will be further milestones along the way in 2004-5, and far more substantial than these three. But good things do come in threes, so make a note that you heard it here at JDJ first: Java and Linux, it seems increasingly certain, will be critical drivers of the future. Sun has a foot in both camps.

    Java, most certainly, is back. Maybe in 2005 even the Googlefight results will turn Sun's way, who knows?

    Related Links:

  • Exclusive .NETDJ Interview with Don Box - The King of COM
  • "Is Carly Toast Yet?" - Maureen O'Gara on HP's Fiorina, Three Years On

  • About Jeremy Geelan
    Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.

    In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 9

    Look, the /. High School crowd use ''C'' because that''s what Linux and most open source is written in. A few use C++ (Mozilla). If your going to "hack" chances are you want to get at the OS level so C''s a good choice.

    For the rest of us who get paid for a living, we use what makes our jobs easier: Java. Of course I''ve already did ''C'' under BSD and then moved onto C++ and now Java and frankly the only thing cool about C was that it''s a simple language.

    There are four things that I''ll take issue with in your response (and only two becaue I agree with the rest). The first is that swing is a poor UI framework because it is so difficult to build a good GUI in swing. I think the clearest indication swing needs work is that if swing were a good UI framework developers would find it easy to build good, performing user interfaces in swing. It''s also because swing apps perform so poorly that I think Java gets a bum rap for slow. However, this slowness is also why you don''t see to many first person shooters or video editing software in Java.

    The second has to do with typing. Java is a strongly typed language that forces everyone to cast everything back to object to make collections work. Thankfully, 1.5 will include generics. However, type-safety is lost when everything is re-cast to object, void* or id (depending on what your flavor of a cool language is). C++ stl collections are much more typesafe than Java collections, for example.

    Third, one of the problems with Java is becoming its complexity. The language itself is small relative to other languages, but the libraries, configuration files, standards and all other ancillary junk are daunting. For example, a Java application may interact with a variety of property files (some that are part of the JRE), XML configuration files, and VM parameters. The net result is spending days trying to figure out if the software is crashing due to a bug or incorrect configuration.

    Fourth is that Java is memory intensive. While it is true that Java is in the same performance neighborhood as C, Java has a much larger memory footprint. For example, Visual Studio takes up some small amount of memory (about 64 MB when it runs). When I start NetBeans or JDeveloper - they consume on the order of 200-300 MB of RAM. While memory is cheap, you can''t run too many 300MB applications on your laptop simultaneously.

    I think it is clear you are a Java fan.

    Java makes things that should be simple very hard. Writing an array of integers to disk is HARD and therefore SLOW in Java because a complete copy of the array into an array of characters is required. This is just-plain-crazy.

    This, in turn, is because of another thing that Java does: It assumes you will want to be 100% machine portable when (in my career) I have never seen an organization which has this anywhere near the priority list.

    This, in turn, is because Java has FAR outgrown its purpose: To write LITTLE applets embedded in devices (see Oak history) not big-ass CORBA-connected JDBC-driven enterprise services.

    Java is uncool because it makes too many assumptions, doesn''t let you countermand the assumptions, and leaves you with no alternative but to pay prices that your application may receive no benefit from.

    Gee Hackers could do us a favor and use their prodigious time to generate a couple of native compiliers.

    There is nothing wrong with a few Java JNI c wrapper native classes tossed in if you don''t mind the polution.

    I can''t reproduce the C++ comment. While in some benchmark code, the JITs can really shine due to their runtime advantages, I still find Java slow, resource hungy (rule of thumb: twice the mem) and slow start-up.

    Delphi (which is quite unsexy as compilers go) beats it easily.

    Moreover if you want some performance in a bit scaling Java app, one has to resort to setting references to NULL in exact the place where one used to deallocate. The ease of GC is also a bit overrated.

    Most of your uncool reasons are wrong anyway, there''s one near hit however.

    -"Java is a strongly typed": I would not put it to such strong terms, I would rather prefer to say, "strong typing tries to solve problems that are not there 95% of the time". It''s pure myth that dynamic typed langauges can not be guaranteed to be save. I fact I think it''s quite the other way around, but that''s definitily one of the "uncool" points. What goes to other you haven''t mentioned.

    Java is proprietary held by a single company: Bad, realy bad. Feels completely wrong to put a lot of time and work into something that could fall apart anytime by greed or bancrupcy.

    Java requires casts all the time: Goes a bit in the strong-typed issue, but it''s realy annoying to cast your way up and down the ladder only to get something decent running, as a pattern.

    -Download: The documentation weights 35 Mb, jre 14 Mb and the SDK 30-50 Mb. While it does not seem to be much, it does scale up to nearly 100 Mb anyway. It''s with me, I have this feeling. I''m going to install hundreds of megabytes of "something" it''ll likely be stuff I''ll never use, but it has bloated an otherwise nice software. ( compare this to 9 Mb of python complete package, including documentation )

    Jave''s not realy Object-Oriented: Too long to explain realy, but let''s just say that java has it''s ancestors in C/C++.

    Java''s exceptions are miss/overused, and don''t represent themselves in a helping manner: Compare this to Exception use in python, where exceptions help writing exception-less code instead of exception rich.

    Java''s syntax is as noisy as C/C++: I''d expect from a modern language that it realy offers good syntax, instead of copying it from some 30 year old languages.

    There''s tons of other stuff too, modern language features, that are not there to impress friends, but to help write easier code, but your view of language features in itself almost explains why java is "uncool".

    However, here''s an odd fact I''ve encountered. I''ve had two dealings with java developers so far, when not beeing in their field of expertice. They where both bad programmers and code-obfuscators to keep their job. That realy realy sucked.

    OK the deal is this, if you are talking distributed, platform independant, secure and robust, there is just nothing out there that can even be compared to Java, even Ogres know that, so stop complaining of swing, and slow speeds and all that bullcrap cause face it, JAVA ROCKS....
    And all you .Net guys out there, if Java is sooooo bad how come C# is sooooo similar to the Java language sytax HUH????????

    I was amused that the "Java myths debunked" page ostensibly supporting Java was served as a Cold Fusion page.

    But, seriously folks, it''s just a language, just a job, not a religion. I could not care less what language gets used to perform a particular task as long as it makes sense to use it for that application.

    Just remember, to a man with only a hammer as a tool, every problem looks like a nail.

    I am probably the hundredth person to tell you about this, but here goes anyway.

    In your article titled JDJ Opinion: "Java is Back!" you mention the "googlefight" This comparison is deeply flawed. Firstly a search for ".NET" returns every website ending .net e.g. sourceforge.net and php.net not to mention all kinds of other hits such as cnet. Hardly any of the hits are related to Microsoft?s .NET framework.

    If you run a more sensible query using google e.g. C# OR DOTNET OR "ASP.NET" OR "VB.NET"

    You will get 6,350,000 hits

    A Java -javascript - indonesia ?island search yields 10,100,000 hits.

    An objective comparison using google is provided by the tiobe index:

    http://www.tiobe.com/tpci.htm

    You will find that C# isn''t in the top ten, while Java is currently in 1st postion.

    regards
    Martin

    the googlefight is so foolish fight,if you notice the ".net" word,you know it may be another thing, not definited ms .net.
    i.e."Results 101 - 110 of about 386,000,000 for .NET",you can see many ".net",but the ".net" is not ms .NET

    In other i-tech news it seems eBay has bought the Google wannabe Craigslist.org, the San Francisco-based international swap meet thay began as a daily e-mail sent out by founder Craig Newmark in 1995 and is now a motley collection of want ads and personals, with a little space left over for rants.

    Why are you guys copying comments from slashdot org without attribution and do your advertizers know about it? Who make this decision? Let me guess, a private or janitor or script kiddie or someone trying to smear the good name of JDJ and Java, right?

    Since u mention Google...some background: In 1945, Vannevar Bush wrote an article for the Atlantic Monthly called "As We May Think", detailing the first account of a hypothetical hyperlinking system.

    In it, he writes of a system that keeps track of where a user surfs (not the terminology he uses), and the user is able to make comments about connections about different pieces of media. The more a user traverses the same path of connections between two documents, the heavier the link becomes, so to speak.

    I just reread this article a couple of weeks ago and was shocked at the parallels with Google; particularly how they use established links to figure out the ranking of a page, and then thinking about how they bought Blogger (presumably, so people could make comments about connections on the web). Perhaps Google''s success comes because they have created a system that so successfully mimics the way that we think collectively.

    A google fight between Java and .NET will produce sites with the '.net' extension since .net is a TLD, so a more accurate fight would be between Java and Microsoft .NET, or Sun Java and Microsoft .NET.

    Either of these comparisons put Java either worlds ahead or nearly the same (considering most writers refer simply to 'java' rather than 'sun java') in terms of web exposure than .NET.

    http://www.googlefight.com/cgi-bin/compare.pl?q1=Java&q2=Microsoft%20.NET&B1=Make+a+fight%21&compare=1&langue=us

    I think the rest of your article is incredibly poignant, and would hate to distract from your core observations to satisfy my pedanticisms.

    If you want to see what real generic programming can be like, have a look at "Modern C++ Design" by Alexandrescu. I''ve been using C++ since the cfront days, but, by only reading through page 14 of the book, I was astonished at the kinds of amazing things you can do with C++ templates that Java generics (as implemented) will never be able to do.


    Feedback Pages:




    ADS BY GOOGLE
    Subscribe to the World's Most Powerful Newsletters

    ADS BY GOOGLE

    Dynatrace is an application performance management software company with products for the informatio...
    In his session at 21st Cloud Expo, Michael Burley, a Senior Business Development Executive in IT Ser...
    Having been in the web hosting industry since 2002, dhosting has gained a great deal of experience w...
    NanoVMs is the only production ready unikernel infrastructure solution on the market today. Unikerne...
    All in Mobile is a mobile app agency that helps enterprise companies and next generation startups bu...
    CloudEXPO | DevOpsSUMMIT | DXWorldEXPO Silicon Valley 2019 will cover all of these tools, with the m...
    Yottabyte is a software-defined data center (SDDC) company headquartered in Bloomfield Township, Oak...
    SUSE is a German-based, multinational, open-source software company that develops and sells Linux pr...
    Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are rep...
    Serveless Architectures brings the ability to independently scale, deploy and heal based on workload...
    Technological progress can be expressed as layers of abstraction - higher layers are built on top of...
    When building large, cloud-based applications that operate at a high scale, it’s important to mainta...
    Whenever a new technology hits the high points of hype, everyone starts talking about it like it wil...
    Big Switch's mission is to disrupt the status quo of networking with order of magnitude improvements...
    Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism...
    Every organization is facing their own Digital Transformation as they attempt to stay ahead of the c...
    "Calligo is a cloud service provider with data privacy at the heart of what we do. We are a typical ...
    In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, disc...
    Bill Schmarzo, Tech Chair of "Big Data | Analytics" of upcoming CloudEXPO | DXWorldEXPO New York (No...
    Chris Matthieu is the President & CEO of Computes, inc. He brings 30 years of experience in developm...