January 9, 2006 4:00 AM PST

Newsmaker: Is Java getting better with age?

See all Newsmakers

(continued from previous page)

In the last few years, there has been a lot of interest in LAMP (a Linux software combination) as a development stack, whereas as a few years ago people said there were two primary stacks: J2EE and Microsoft's .Net. Has LAMP become a viable option to what's offered in the Java world?
Gosling: LAMP has certainly become quite viable, and Java works perfectly well in the LAMP world of Linux, Apache and MySQL and PHP. Java actually fits into that mix pretty nicely and gets used in that mix pretty commonly.

In general, I'm philosophically quite a big fan of diversity in the marketplace?I actually personally don't feel a great sense of difference there.

It sounds like you're not necessarily concerned about the emergence of things like Ruby on Rails or more use of PHP or LAMP. These things are not explicitly Java, but it sounds like that's okay, from your point of view.
Gosling: I actually think they're cool. All these things do actually work together. Particularly when you look at some of the flavors of Ruby--like there's one called J/Ruby, which is an implementation of Ruby on the JVM (Java Virtual Machine). That's actually pretty spiffy; they get some very nice stuff there. My one wish with the scripting folks is that on average they aren't weird enough.

What do you mean?
Gosling: Well, if you look at many of them, they kind of look like Java programs.

Meaning that if they're going to be doing something different, they should really do something different from what's already there in Java?
Gosling: I mean it feels to me like there's enormous territory for people to do really innovative and interesting things, and it feels like people are just kind of scratching the surface.

Is Java going to remain a general-purpose language and platform, or is it time for it to specialize in mobile or in server stuff?
Gosling: There are number of paradoxes involved here. On the one hand, you get a lot of power by specializing. On the other hand, you actually get a lot of power by being general, by hooking things together, by having an environment that works on a lot of places, and that's been one of the areas that's been pretty powerful for us.

My one wish with the scripting folks is that on average they aren't weird enough.

One of the flip sides of that is people tend to focus on the technologies. But if you focus on the skill sets of the developers, one of the things that's been really powerful in the Java community is that a developer can learn Java and then work on an app server, work on a transaction server, work on a piece of networking protocol, work on an app in a cell phone, work on an app that's controlling some piece of factory automation, work on an app that's in a smart card. You end up with a skill set that is extremely portable, not just a technology that's portable? It's funny when you talk to the CIOs, CTO crowd--that ends up being a really huge deal.

The Ruby on Rails people are excited about it because it's productive, whereas people will say Java just doesn't have the same productivity for Web development. Why are we still just waiting for that?
Gosling: I think a lot of people who are saying that haven't actually tried any of the high-end Java tools. They really need to sit down and try things like Java Studio Creator?One of the things that's interesting about this debate is that, by and large, the people whose vote gets counted by the press are the people who are the loudest.

The development world tends to have trends that people jump on. Do you want Java to be trendy?
Gosling: Well, eight or nine years ago, Java was trendy. It's gotten to where it sort of transcends trendy. It's really a funny thing, because Java isn't like a thing anymore, it's a whole bunch of different things.

You take things like J2EE (server software), it's become almost sort of the opposite of trendy, in the sense that it's totally mainstreamed, totally proven mission critical. It's very corporate, it has been really seriously battle tested, and for lots of folks it's become a completely safe bed.

It's one of these phased things. I think there are parts of the Java world that have become very trendy--and I don't mean trendy in the sense of the latest style of glitter jeans, I mean trendy in the sense of sort of popular and exciting. Certainly things like cell phone development and NetBeans and Creator and a lot of the tools and the different API stacks like the JAX-WS stuff, we consider all of those to be very trendy.

There are aspects of it that are just rock solid. They're dependable, and they've become as exciting as oxygen. It's there when you need it, and if it went away you would be really upset.

 

More Newsmakers

Previous page
Page 1 | 2 | 3

36 comments

Join the conversation!
Add your comment (Log in or register)
I like and fear for Java
His responses in this interview seem to really avoid confronting any one of the questions. Every time a REAL problem Java faces is mentioned, he says "Well that's actually a good thing".
It' a bit too positive for my tastes. I think it's just a lot easier for him to say that than to say "We haven't really taken good care of Java."

I like Java as a language & platform. Not everyone is into it. You have to admit, it is nice to be able to use one language across a pile of different uses. It's stable, and platform independant.
By platform independant, I don't mean .NET's blaitant lie. Java is available to run on a variety of operating systems and hardware.
Posted by (15 comments )
Reply Link Flag
I don't think Java is in trouble
PHP and Python really are great, but they are not going to supplant Java any time soon. Java is just too powerful and diverse, it can really do anything, although it is not best for everything.

I would really like it if they started to seriously go against C++ and C, It is such a cleaner, more straightforward language(especially compared to the mess that C++ has become) and does come with the hair-trigger shotgun that comes standard with C++, and too a lesser extent C. A solid native compilation, that performs well would go along way into digging into those two languages. Java is already pretty fast, I have seen it match well-written and well-compiled C++ code, so maintaining that speed and the cross-platform nature and being able to generate solid native code, would be a boon for Java. Of course, C and C++ are extremely good at being cross-platform(they just require multiple compilations, but sticking to standards and staying away from platform specific API's keeps your code easily crossplatform), of course C++ is lacking things like a standard networking and GUI library and it is in these places that Java can really compete on the desktop.
Posted by Bill Dautrive (1180 comments )
Link Flag
I hope you are aware of the go-mono project... my friend, will you please go through this website http://www.mono-project.com/Main_Page
Posted by josekarun (1 comment )
Link Flag
Java
Java is getting better, however when will the powers to be at Java release a javaplugin for 64 bit systems? Currently those of use who use Linux64 are left out in the dark because if we use our 64 bit browsers we cannot use the Java plugin because it does not exist. when will Java(SUN) correct this misstep?
Posted by pfdavis (8 comments )
Reply Link Flag
Java's definitly not in trouble
Read some of those "flames", and you have to wonder where 21 - 25 year old script jockeys get off criticising one of the best software architects around.

Believe what you will about java: It's still one of the most stable architectures around, very robust, completely extendable. Complex? Maybe to a script jockey or a .Net "programmer"...
Posted by (2 comments )
Reply Link Flag
Java is a Poor O-O Implementation Language
It's unfortunate that Java's designers have never really addressed
some of its fundamental shortcomings. Some examples: Java's
combination of a funky type system and method overloading
makes reflection unnecessarily complicated, which in turn makes
dynamic functionality hard to implement. The lack of language
support for inheritance of class methods and constructors
makes it extraordinarily difficult to design extensible classes;
the resulting rigidity causes needless difficulties in reusing
components and frameworks.

Sadly, it seems that Java's designers have chosen to focus on
adding syntactic sugar in Java 1.5 (excuse me, 5.0), rather than
fixing things that are truly broken.
Posted by jonathanlehr (2 comments )
Reply Link Flag
Only if you don't understand design patterns
What exactly do you mean when you say: "The lack of language support for inheritance of class methods and constructors makes it extraordinarily difficult to design extensible classes"? Are you referring to polymorphic behavior being the default mode, unlike C++?

It is fairly simple to write, reusable and extensible components in Java, you just need to understand more then the basics of inheritance.
Posted by Bill Dautrive (1180 comments )
Link Flag
Java on Desktop is Dead.
"Java on Desktop is Dead" (c) Linus Torwalds said Long time ago.
I didn't believed back then. Now it is fact.

When I see people struggling with Java on servers, I really feel
sad for them. People use expensive servers to do operations I
used to do on embedded $250 system. What'a joke.

This is 100% stupid idea: isolate people from platform.

Applications are not portable not because platforms are
"incompatible", but because they are "different". Users choose
platform by value it gives them. What sense it make to lock out
all advantages of platform by using Java? Java is not giving
people choice - but rather removes it from them.

But, it beats me, I guess word "choice" doesn't ring any bell in
Gosling's head...

Scripting languages giving you a greater choice. Most have very
liberal licenses - allowing you tune them for your particular
application. Java is [CENSORED] generic and abstract optimized
for everything in general and nothing in particular. And
controlled by Sun. Most of people caught in Java are people who
have bought Sun's promises for platform independence. But of
course Sun has lied: Java application are dependent - guessed
that? - on Java platform. (Try to port from Java 1.0 - 1.2 - 1.3 -
1.4 - 1.5, and add that 1.5 has different byte-code format.
What'a [CENSORED] [CENSORED] [CENSORED] m*rons Sun with
Gosling are.)
Posted by Philips (395 comments )
Reply Link Flag
And about platforms
And do not forget that even if you want to port Java runtime to
another platform - you have to have blessing of Sun.

Recall how this /geniuses/ simply revoked OpenBSD license.
(Jealous because OpenBSD runs better than Slowaris^WSolaris on
Sun's own hardware!?)

And Sun still gave no license for porting Java to 64bit Linux. And
Java is also unavalable on Linux/PPC{32,64}.

Thanks God Sun have no relation to Perl - it simply compiles and
runs on any hig-end/low-end/embedded-crap I'm throwing it
into.
Posted by Philips (395 comments )
Link Flag
Angry much?
Gosh that's a lot of anger bottled up.

Would you like to declare Java the Antichrist right away or should we wait a day or two?

Java fulfilled a very real and very serious problem for a very long time. In fact, it still could be an absolutely wonderful tool to bridge Linux distributions.

That being said... Please, tell us how you "really feel" about Java.
Posted by UntoldDreams (91 comments )
Link Flag
sheesh
Java is backwards compatible, with 1.5 older code will likely cause more warnings, mostly things related to generics, but it compiles and runs fine. The JVM doesn't even care what version of Java you are using, or if you even use Java, it has not a clue about the language and the API.

You do realize that you can hook into the underlying OS in Java don't you? You can use KDE libraries, windows libraries, whatever you want, even DirectX if you really wanted to. Of course you do, you aren't an ignorant ranter.
Posted by Bill Dautrive (1180 comments )
Link Flag
Java is still successful...
...mainly due to Sun's marketing and it's own momentum.

PHP is a faster/easier tool for most web (server side) development.

RealBASIC is a simpler/faster (client side) tool for cross platform Linux/Win/OSX GUI app development.

Perl is a more flexible general purpose and data manipulation tool.
Posted by open-mind (1027 comments )
Reply Link Flag
re
PHP is not nearly as scalable, stable and consistant on the server-side. It is a great language but there is a reason it is the choice for non-programmers.

RealBasic? PUH-PLEAAAASE It is a toy.

Perl is hideous and slow, but fantastic for data manipulation or gluing 2 real languages together. As for its flexibility, not even close to java. Perl's limits come much, much sooner then Java's.

Java is not the end-all be-all of languages, no language is, but it is extremely powerful and extensible.While it is not the best choice for everything, there really is nothing you can not do with it.
Posted by Bill Dautrive (1180 comments )
Link Flag
i think this guys is not very good in OO
Programming is very complicated task and if someone has BA in software development it does not mean that they can be good programmers.
So if you do not understand OO, then at least admit it and do not try to take your frustration on Java :)
Posted by alenas (181 comments )
Reply Link Flag
Java could be a good script language
Take a look at BeanShell ( <a class="jive-link-external" href="http://www.beanshell.org/" target="_newWindow">http://www.beanshell.org/</a> ).

And, ZK is an example using Java in the markup language ( <a class="jive-link-external" href="http://zk1.sourceforge.net" target="_newWindow">http://zk1.sourceforge.net</a> )
Posted by tomyeh (5 comments )
Reply Link Flag
In the land of perfect...
you would have perfect computing for free.

My thinking is with all these languages and all this knowledge why can't we create a singular language that could be grown out of all the knowledge of other languages and systems? Oh, yeah. We don't live anywhere near perfect. My bad, I forgot.

Personally, I like Java. I don't care much for C++ or Perl. I have been learning PHP, Python, and Javascript. I think RealBasic is a fine language. I also have been trying to learn Assembly (why not). I also like Pascal. I don't really find anything wrong with any of those languages. Each has a strength and weakness. Each has a loyal group of followers. And each was created to fill a need and has, in one way or another, grown from there. Life is grand.

I think it's time we create a few more languages, only this time we try to make them do everything. They need to be fast, portable, scaleable, easy to learn, and they must work seamlessly on the web and desktop. Perfect. :)
Posted by System Tyrant (1453 comments )
Reply Link Flag
How about .NET Platform?
Hi,
How about the place of .net?
Posted by raycode (1 comment )
Reply Link Flag
Both closedsource
It seems .NET is very similar to Java in regards to a garbage collector and both being closedsource in that area.
Not sure yet how one could trunp the other other then a codeing preference.
Posted by Blito (436 comments )
Link Flag
.NET
Platform? You must be joking. :)

Sorry, biased view... .NET certainly has a place in today's world of Enterprise Architecture, even if it isn't my preference. Realistically, Sun and Microsoft have enough clout (and cash) to keep their development environments running.

On the more technical side, I like the OO implementation in Java more, and the options it gives me on the hardware and O/S side. There are enough open source engines (think JBOSS, Tomcat, and more) to choose from, loads of tools, support from the big players, such as Oracle, IBM, Sybase and the rest. You've even got Open Sourced Architectures Patterns, such as Struts and Tapestry.

.NET = Microsoft. Mono is an option, but until .Net is published as an open standard, Microsoft will pull all the strings here, and I have a problem with that.

As for complexity - Applications (and especially enterprise applications) are complex, often integrating with other applications (JMS, Integration Brokers), multiple databases on various platforms, etc etc. J2EE/Java caters for all of the complex tasks that you can think of.

Let me also say that I'm not saying Java should be the be all and end all of all applications. I like PHP, Perl, and I started as a C programmer, ventured into Delphi and Powerbuilder. Thinking back, Java seems to have been around for most of that time. Should tell us something?

.NET - not for me thanks.
Posted by (2 comments )
Link Flag
To add
.net is the third( or is it the 4th) attempt by MS to copy Java.

.net is platform dependant, momo does not count since it is not officially part of .net. MS doesn't have the guts to make it truly platform independant.

Why use a poorly implemented copy, that ties you very close to a single architecture, and puts you at the mercy of a company that can and will make changes to boost profits, not for technical reasons?
Posted by Bill Dautrive (1180 comments )
Link Flag
Java is just coming of age
I think Java is the best thing yet to happen to graphic interface development. The development of the language, swing library, garbage collection, profiling utilities, etc. are really just coming of age now.

Java is now a wonderful way to write a large graphical application that is expected to have a 10-20 year product life. No experienced programmer would take on a project like that using a scripting language, so the whole comparison of Java to scripting languages is rather silly in my opinion.

Java meets all of the criteria for a major language to have a significant impact on the industry for decades to come. Specifically.
1) It fills a need - platform independent GUI development.
2) It is well rounded, meaning that there are many available books, libraries, programming utilities, etc.
3) It is available for all major platforms.
4) Java is being used by a large percentage of the industry right now. Since many major codes end up having a 20 year product life, all of these projects will keep Java going for decades to come.

Look at how long Fortran has stayed around. It's now a pretty small percentage of the market, but there are still companies that are completely focused on Fortran and even starting new projects from scratch and choosing Fortran from square one. It's not my favorite language, but it just goes to show how long a language will stay around once it has acheived a major share of the market. Java's market share right now, is probably about like Fortrans market share in the late 1950s. (That's my guess. Does anyone have statistics to back it up?)

As such, Java can't die out for decades to come. The only question left is whether the current level of Java's acceptance is it's plateau or if it's golden age is yet to come.
Posted by qmuser (13 comments )
Reply Link Flag
productivity
In my experience, unless you've made some really inappropriate choice of language and/or framework to develop in, the language is never the barrier to productivity. If you know the language well, you can be productive in it. What really sucks time on projects is all the non-programming stuff -- gathering the requirements, expressing the requirements in design, shifting requirements, etc.
Posted by haizi23 (2 comments )
Reply Link Flag
.NET's place is on Windows
.NET is optimized for Windows development. A lot of .NET apps make calls to native Win32 .DLLs.
Posted by alucinor (71 comments )
Reply Link Flag
Java and .Net
Java and .Net are maturing in the same direction although not necessarily at the same pace.

Java and .Net IDEs are available to maximize productivity.

Web development with Java/JSP and ASP.Net are more or less similar already since the release of Java 5 and JSF.

Java applications with GUI are known to be slow in Windows for some reason so it is best to develop GUI applications in .Net when working with Windows. For the other platforms, Java, of course, performs well.

Background processes and services with Java and .Net are on equal stand except that Java can be cross-platform and .Net is specific to Windows. Although, as mentioned in the article, more and more Java-based products are actually developed to target a specific platform and device.

In a way, because .Net targets the Windows platform, .Net can grow with Windows. Microsoft is already actively integrating .Net in most, if not all, of their products. Simply put, as Windows grows, you can be sure .Net grows.

On the other hand, Java grows on its own as a language because its growth depends on the implementations of the many third-party innovators using Java. This is actually an advantage because Java can grow in more ways than one.

Side note: For the C++ fans, keep it cool... you're always good anywhere... ;)
Posted by Mendz (520 comments )
Reply Link Flag
 

Join the conversation

Add your comment

The posting of advertisements, profanity, or personal attacks is prohibited. Click here to review our Terms of Use.

ie8 fix

RSS Feeds

Add headlines from CNET News to your homepage or feedreader.

Markets

Market news, charts, SEC filings, and more

Related quotes

Microsoft (-0.03%) -0.01 29.06
Oracle (0.08%) 0.02 26.14
IBM (-0.91%) -1.79 194.30
Dow Jones Industrials (-0.60%) -74.92 12,454.83
S&P 500 (-0.22%) -2.86 1,317.82
NASDAQ (-0.07%) -1.85 2,837.53
CNET TECH (-0.20%) -4.05 2,040.30
  Symbol Lookup
ie8 fix
  • Recently Viewed Products
  • My Lists
  • My Software Updates
  • Promo
  • Log In | Join CNET