Slashdot Log In
2007 Java Predictions
Posted by
kdawson
on Sun Dec 17, 2006 08:19 AM
from the steaming-mug-of-prognostication dept.
from the steaming-mug-of-prognostication dept.
jg21 writes "Java Developer's Journal has published the results of its end-of-year poll of various Internet technology players, from its own internal editors to industry high-ups like the founder of Apress, Gary Cornell, and including too the thoughts of professor Tony Wasserman of Carnegie Mellon West. Participants were asked to foretell what they saw happening in 2007. Among the predictions — Cornell: 'The open-sourcing of Java will have no effect whatsoever on Java's slow decline in favor of dynamic languages (Ruby, Python) and C#'; Wasserman: 'The use of the GPL 2 for open-sourcing Java will inhibit the completion and acceptance of the GPL 3 proposal'; and Rails creator David Heinemeier Hansson: 'The stigma of being a Web programmer still using Windows will increase.'"
Related Stories
[+]
Sun To Choose GPL For Open-Sourcing Java 407 comments
An anonymous reader writes, "Sun is about to announce its plans for open-sourcing Java SE and ME, according to CRN — and they're going to use the GPL, not their own CDDL or another less-restrictive license."
[+]
Sun Completes Java Core Tech Open-Sourcing 141 comments
MsManhattan writes "A year after announcing its plans, Sun Microsystems has made almost all of the core technology in Java available as open-source software under the GNU general public license version 2 (GPLv2). However, some of the code remains 'encumbered'; that is, Sun doesn't have sufficient rights to release it under GPLv2, and the company is requesting the open-source community's help in resolving these issues. Rich Sands, community marketing manager for OpenJDK community at Sun, would not say what percentage of Java's 6.5 million lines of code are encumbered, but explained that it is largely Java 2D graphics technology, such as font and graphics rasterizing."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Java's dead! (Score:5, Insightful)
No one uses Java anymore, it's all flash these days.
Ever used Eclipse? (Score:2, Redundant)
Re:Ever used Eclipse? (Score:4, Insightful)
The parent makes a living programming J2EE. He might even use Eclipse.
I think for many folks Java is used to write software that does not see the front of a web page.
In fact I have not used Java on the client side since about '98. But I write far more Java now than I did back then. I hope that the work Ethan Nicholas [java.net] is doing to will help, but frankly Flash works fine for many web pages. And as long as I don't have to write the Flash code I'm fine with that. Is it still programming via dialog box? Can I use svn with my Flash code these days? I also hear AJAX is popular and effective for client side work. Anyway, Java is not likely to die anytime soon.
Parent
Re: (Score:2)
Re: (Score:3, Insightful)
Re:Ever used Eclipse? (Score:5, Informative)
Parent
Re:Ever used Eclipse? (Score:4, Insightful)
Other things are better for the front end these days. No big deal.
Front ends change a lot. Business rules tend to be stable. Do you really want to redevelop all your business rule every 3 to 5 years? With java, you write it once and for the foreseeable future don't have to rewrite it. But java is a bit heavy for fast moving stuff.
Parent
Re: (Score:3, Informative)
And with one fell swoop, you've thoroughly discredited your opinion. FYI, "Debug..." is under the "Run" menu. Double-click the gutters on the left side of the code to set breakpoints. Eclipse even handles debugging multi-threaded apps quite sanely.
I love Eclipse for Java development. There's nothing more satisfying than right-clicking an annoying identifier and renaming it globally within your project.
Re:Java's dead! (Score:5, Funny)
Apparently Cornell doesn't realize C#/.Net is just Microsoft's implementation of a p-machine and framework, the same as Java. With such insightful educators, it is no wonder some of the newer computer science students don't have an adequate background in abstraction and conceptualization of systems.
Parent
BTW, Java is far from "dead" or even a coma (Score:5, Informative)
Out of all the interviews I did this year, only one shop wanted .Net services, and they wanted VB, not C#. Half a dozen shops about the same size were sticking with Java. Half a dozen shops several times the size were also sticking with Java.
I think it's a lot easier to add unsigned types to Java than it is to switch to a new framework.
Parent
Re: (Score:3, Informative)
What makes you think Cornell doesn't realize that? Did you think the quoted statement called C# a dynamic language? It didn't.
Shh! (Score:3, Funny)
Yup, Gnutella, Azureus and Eclipse users (amongst others) running these programs on Linux, Windows, MacOS X, etc will be scratching their head wondering what voodoo their programs are coded in (it has to be voodoo if Java is dead).
Ah well, people living in their ivory tower will always assume the alteratives are dead.
Re: (Score:3, Informative)
I use Visual Studio 2005 (C#) and Eclipse (Java/Perl) at work. Eclipse will generally eat up about 80 Mb of memory when I have the main projects open. Visual Studio, on the other hand, will eat up 100+ Mb easily - and it page faults like a mofo, trying to do disk writes
Re: (Score:3, Interesting)
Performance is terrible, and moving an app from one VM to another often causes serious problems.
Uh, what year did you last try Java? Java performance is pretty much on par with any other language these days. Sometimes it beats traditional languages, sometimes it's a little slower. The dynamic compilation causes minor slowdowns the first time something's run, but the fact that it can compile and optimize for the specifically available hardware makes up for it. There are very specific areas where it lags (large matrices and heavy numerics), but as a general-purpose programming language performance
Re:Java's dead! (Score:4, Informative)
I've never been a fan of the language. Performance is terrible, Neither is the performance terribel nor ever was it. I think at its slowest time Java was roughly 10 times slower than C, and in general only 5 times slower
We develop on linux and Mac Os X and our customers usually develop on linux and Windows, the software is usually deployed on Sun machines, either SPARC big iron or I86x blades. We never had any portability issue.
angel'o'sphere
Parent
Re:Java's dead! (Score:5, Interesting)
I've never been a fan of the language. Performance is terrible, and moving an app from one VM to another often causes serious problems. The cross platform claims have consistently been exaggerated.
I work for a large .com that serves up tens of millions of hits per day, and we are a Java shop.
You don't know what you're talking about.
re: cross-plaform compatibility. I do my development on OS X, but most of our developers use Windows. Our dev and staging environments are Linux, and our production boxes are Solaris, although we've recently introduced Linux into that mix as well.
There have been several times where I have taken a jar file built on my machine, and deployed it to other developer's machines or our staging environment with absolutely no problems. The same jar runs on every OS we deploy to.
Nor has performance ever been a problem. VM technology has seen amazing improvements over the past ten years, and is now such that for most non-trivial applications it is more performant than the compiled C/C++/Obj C equivalent. The success that Java has seen would not have been so tremendous if this were not true.
Parent
Re:Java's dead! (Score:5, Interesting)
1. Rendering double-byte character sets on AIX and Solaris crashed the JVM for various combinations of language (ja and ko were notoriously fragile), JVM, and OS level.
2. Code that spawned processes worked correctly in Windows, AIX 4.3.3, and Linux, but failed under AIX 5L and Solaris.
3. Solaris would throw an erroneous OutOfMemoryError when lots of EJBs were loaded, but it worked fine under AIX 4.3.3, AIX 5L, Linux, and Windows.
Our project was a relatively simple and classic J2EE webapp with a few EJBs for adminstration, some JDBC for large dataset handling, and JSPs for the frontend. It had an "InstallShield Multi-Platform"(tm) Java-based installer. We generally found JVM errors at the rate of once a month. Most could be worked around, but a few had to be documented to the user, and some (such as running the installer in a particular double-byte character set) could not be solved at all given the existing necessary workarounds for other JVM bugs.
Perhaps the JVMs have improved in reliability and work now as you say they do. I moved away from Java after that project and I doubt I'll ever switch back now.
Parent
Re:Java's dead! (Score:4, Interesting)
C is unmatched in its ease of use from other languages and in the consistency of compiler support. That will ensure that it stays at the center of the programming universe. A library written in C can be used from virtually any other language in the world, on almost every system in the world, so a library developed in C will always have twenty times the users that an equivalent library in another language would. This is the real key to C's success, not anything else. Well, that and the fact that C is a simple language that is very easy to learn.
What do you need to write an operating system? First, access to the hardware. This seems like a deep and mysterious power, but whether a language can do this only depends on whether the language implementer decided it was a good idea -- you can hack a compiler for *any* language to emit the right sequence of instructions to access hardware controllers, handle interrupts, and control the processor. It doesn't take much linguistic support.
Actually, that isn't the way it's normally done anyway. That stuff is handled at the lowest levels by assembly code. The HLL part of the OS just has to interact with the assembly code efficiently. That means two things: the ability to define and manipulate binary data formats in memory, and the ability to call code written in assembly.
You'd also want the language to function without a large run-time system, to minimize the amount of assembly bootstrapping necessary to start up. You probably also want a language in which it is simple to write efficient code, unless you have more system resources than you know what to do with.
So that's all you need to write an OS:
Practically speaking, I can't imagine doing it without an imperative language with a clear linguistic separation between stack allocation and heap allocation. That's probably just my mental limitations, but let's allow it anyway. You still have a very large number of languages left, though most of them have been choked off by the success of C. Off the top of my head, Ada and C++ are well-established languages that meet all the requirements I just stated.
An argument is often made that an OS must be implemented in a language that *lacks* certain features, because those features shouldn't be used in kernel code. I really don't understand that. What's even more mystifying is that the argument comes from C programmers. A C programmer will chew your ear off talking about how languages shouldn't protect programmers from their own mistakes, programmers need the full power of the computer, if a guy can't handle pointers then he shouldn't be programming in the first place, blah blah blah, but if you mention C++, his scrotum shrivels up and suddenly he's afraid that this big bad language will force him to write bad code.
The idea that someone might have the intelligence and discipline to design and implement part of an operating system, but will willy-nilly inject terrible features into that operating system merely because the language supports it, seems utterly bizarre to me. Surely everyone who has programmed in C or C++ has had to follow project coding guidelines. Of all the coding mistakes you can make, accidentally using a forbidden language feature seems like a pretty easy one to avoid.
Another frequently cited problem with using languages other than C is compiler support. I don't know if you meant to include such issues in your question or not, and I really don't have the knowledge to comment about compiler sup
Parent
Boston Globe (Score:5, Funny)
I Just. Don't. Get. It. (Score:5, Insightful)
But there are a thousand other types of projects for which other environments might excel.
One of my current projects is a desktop app that does real-time signal processing on a live microphone feed, and produces a full-screen GUI with output of the signal that updates at 30+ FPS. Between the signal processing and graphics, it needs to do some hundreds of megaflops, effective - interpreted languages are a couple of orders of magnitude slower doing raw math. Java is pushing the low end of speed for this app.
At the same time, we want the benefit of a multiplatform release, because the project is for the education and music professional markets - there are an awful lot of macs among our target market, and our competitors are PC-only. Java has actually come through on the write-once-run-anywhere promise for us, straight down to the live audio input. We're just 2 developers - how much longer would it have taken us to have to port C++ between different platforms' APIs? Way too long. And we can't even consider platform-specific environments like C# or ObjectiveC/Cocoa.
Use the right tool for the right job. There are times when Ruby's the right tool - and times when it ain't. There are plenty of niches still where nothing else can remotely fill Java's shoes.
Parent
David Heinemeier is a troll (Score:5, Funny)
I guess we can say the same about those snobby pre-teen emo kids using the Mac.
Re: (Score:2)
Re: (Score:3, Insightful)
Oh please, use what's right for your environment. And frankly in the web space what's on the back end shouldn't matter one bit, it all pumps out HTML/XHTML/RSS/whatever. Unless of course he's saying that Ruby just sucks on Windows; in which case whose fault is that really?
Umm...what stigma? (Score:5, Insightful)
Attaching a stigma to certain platforms or technologies for certain jobs is just stupid and childish. Are we going to start lambasting publishers that don't use Macs next, or Linux users that do accounting on their machines? Bizarre...
That quote was out of context (Score:4, Insightful)
Parent
Re: (Score:2)
It's cheaper. (Score:2, Insightful)
Re: (Score:3, Funny)
Re:Umm...what stigma? (Score:5, Insightful)
In most cases, SQL Server is right becasue a company has in-house SQL Server Admins and deploying another database platform is a waste on company resources. That would entail another complete platform and maintenance/admin skillset. In many cases companies don't want this, which makes perfect sense as there's no point having a disparate bunch of technologies that you need to manage. If I was ever deploying a
Personally speaking, I've never had any issus with any SQL Server versions in either performance, scaling or security. A well installed, maintained and managed setup will work really well and be considerably cheaper than alternatives such as Oracle. While MySQL may be cheaper, it's not as fully featured as SQL Server. Off the top of my head, I reckon I've dealt with around 40 or 50 SQL Server setups since version 6.5 and I don't have a bad word to say about them - never had an intrusion, never had database corruption, havce ported databases between machines with no problems, run them on VMware etc. etc. It's certainly one of Microsoft's better technology platforms and though many people would like me to, I can't really fault it. Same goes for MySQL - I like it and I use it where necessary and relevant, i.e. conversely, I'd tend to roll out MySQL in a Linux-house if I were developing PHP on Apache for instance. As I said earlier, you find technologies fit together through experience.
Although as with anything out there, chances are someone's had some really bad experiences with it and couldn't recommend it though personal experiences, YMMV.
Hope that answers your question though.
Parent
Re: (Score:3, Insightful)
it isn't to say there are not Linux web developers out there that are not sharp as a tack, but by average --- there is a clear difference.
The Best Predictions From The Article.... (Score:5, Funny)
Award-Winning Author & Senior Analyst, Burton Group
1. Jonathan Schwartz open-sources Sun Microsystems.
In a move that will surprise everyone Sun Microsystems will announce that it will open source its entire company. Sales, marketing, finance, and even operations will be open to the community for anyone to contribute.
2. Apple computer announces the iPod Uno.
The size of a match stick with no screen or controls, the iPod Uno plays one song in a constant loop. Despite its limited capabilities, the tiny device becomes an instant hit and a cultural icon.
3. In what is heralded as the seminal article on the subject, Tim Berners-Lee mentions "IT2"
Overnight the term morphs into "IT 2.0," spawning thousands of blog entries and press articles, a dozen books, five conferences, and millions of dollars in venture capital. It turns out that the original article, incomprehensible to most readers, was actually another attempt to explain the Semantic Web and the IT2 reference was just a typo.
4. Microsoft will create the first CMO (Chief Marketing Officer) position.
The new CMO will immediately change his own title to Chief Command & Control of Packaging Officer (C3PO) and then announce that Vista will be delayed and renamed Microsoft Virtualization Application Program Operating system Reloaded (Microsoft VAPOR).
Crystal Ball time... (Score:5, Interesting)
The open-sourcing of Java will have no effect whatsoever on Java's slow decline in favor of dynamic languages (Ruby, Python) and C#.
That depends on what market we are talking about. Open sourcing Java will make a MASSIVE difference in terms of Java's appeal to the open source development community. Whether this translates to more Java software or not I don't know, but there are already some very good programs in Java that are open source (Jedit http://jedit.sourceforge.net/ [sourceforge.net], Jabref http://jabref.sourceforge.net/ [sourceforge.net] and JaxoDraw http://jaxodraw.sourceforge.net/ [sourceforge.net] come readily to mind). Seamless integration with Linux distributions has the potential to make it a much more popular language, and may also result in usability improvements to the environment itself.
Other languages will grow of course, but I would personally be surprised if Java fades too much except perhaps as the "new toy". There is a LOT of Java code out there, and it is doing important work.
The use of the GPL 2 for open-sourcing Java will inhibit the completion and acceptance of the GPL 3 proposal.
I don't understand this. GPL3 will go forward as it is going forward now, with much discussion - I can't imagine any issues Java would raise that aren't already being raised. Anybody with more knowledge of the process and Java know what he's saying here?
Now, just to get into the swing of things, my predictions:
a) Every major Linux distribution will deploy Sun's JRE as a core system component soon after a full open source release is made. Allow six months to replace any pieces that could not be released due to copyright/license issues. The Sun JDK will also see large scale integration.
b) Open source software written in Java that already exists will get a boost in interest and visibility, as it is no longer using a language that is non-free.
c) Graphics performance and native appearance of widgets will be a major focus of interest and effort, possibly resulting in Java applications becoming better integrated visually with the desktop. This may actually cost Java a bit in terms of name recognition, as end users will see less visual evidence of the difference between Java and other languages (I know, I know - that's not what makes Java different, but it's what can be SEEN that counts.)
d) As Linux distributions integrate and include Java by default, it will increase the appeal of both Java and Linux on the server side.
And one that I would like to see proven wrong:
e) No major OEM computer maker will add the Sun JRE as a default part of their desktop, despite it being released as GPL.
Trollpost (Score:5, Insightful)
My own predictions (Score:5, Insightful)
Java as Open Source will help in creating smaller versions - perhaps very lightweight browser-plugins - optimized for particular use (media, number crunching, etc.). These browser plugins will help revive Java as a thin-client/web2.0 (3.0?) player in browser-based apps, possibly even making some small inroads against Flash. The 'apollo' project from Adobe may put the kibosh on this, but the increased-eyeballs angle will likely prevent a complete obliteration from happening to desktop Java.
Java will become even faster. Although this has happened in 2006, with the release of Java 6, the full impact will be a refitting of the niche Java apps out there to work specifically with Java 6 and the speed improvements there. This will give some Java some good PR points and case studies with the 'Java is slow' crowd (which I'm definately a member of [fosterburgess.com]).
(As I think one of the panelists in the article said) - there will be a greater acceptance of dynamic languages (ruby/php/python/etc) in Java shops, as Java6's support for dynamic languages (JSR 223 I think [jcp.org]) will help increase productivity for Java devs willing to think outside their javaBox.
Re: (Score:3, Interesting)
Java is for many practical purposes an operating system. What mobile java needs is a packaging system like Debian's or BSD's.
If there were a packaging system, then your (non-trivial) mobile application could reach many more devices. J2ME only exists as a number of proprietary implementations with incompatible libraries, and hard to obtain unless it is bundled with your device. They all pass compliance tests, but the bare minimum API is so bare that they all add some
JAVA and GLP v3 (Score:4, Insightful)
stigma (Score:5, Funny)
The stigma of a well paid job. Ah, how will I ever show my face in civilized society again.
Re: (Score:2)
C/C++ is the pussy language. (Score:2)
So nyah
Heh... Java's got it's place, but... (Score:3, Interesting)
The GC will always cut in at the worst possible times, impacting your ability to respond to data, etc. YOU try collecting 30 Gbytes of uncompressed
data daily with it sometime. We did use Java for front-ends to process the feeds coming from the trading markets at one of my previous jobs, but
the stuff that aggregated it and sent it to the trading engine and preserve
I love predictions (Score:2)
It's like horoscope. There's always people wanting to hear what's going to happen in the future. It doesn't really matters what they say - we just want to be told what we want to hear. We love being lied. Some people wants to hear that nobody will b
I think they're right (Score:2)
Overall, open sourcing Java was necessary for Sun to remain relevant at all; it will stabilize Java for a little longer, but unless Sun is willing
Re:I think they're right (Score:4, Insightful)
Parent
No Agreement (Score:2, Insightful)
AJAX is dying. AJAX will grow. AJAX has no future. AJAX has a future.
JAVA is irrelevent. JAVA will grow.
Apple is irrelevent. Apple is irrelevent...oh, they agreed.
Anyway, anyone who takes these kind of articles seriously are wasting their time. Our shop does IIS, ASP.NET, SQL2005, Ruby-on-Rails, MySQL, VB.NET, C#, C++, Borland, MS, and Linux OSS flavors. In other words, we have the tools and the skills to do what is necessary to get the job done, the way our CUSTOMER needs it to be done. No tech prima-do
Java is doing better than ever IMHO. (Score:4, Informative)
I don't know why anyone would want to work with C#. I never run into showstopper bugs in third party libraries with Java because I have the source and can trace into the libraries, find the bugs, report them to the developers and then find an intelligent workaround while a $35 call to MS tech support will tell me to reinstall my whole system and upgrade to the latest versions.
Re:Java is doing better than ever IMHO. (Score:4, Insightful)
Parent
'Javas slow decline in favor of...' oh please (Score:4, Informative)
An environment is only as useful as the tools that are available for it. And it only takes a quick glance around the net to realize how HUGE the Java community is.
Still not convinced? Lets take a look at Hotjobs. This is a pure keyword lookup, doing a little tuning to make sure we're not finding jeweler entries for 'ruby' :
And just for giggles, lets throw some more searches:
So, in support of the claim that Java is in 'slow decline', we have... java as the most requested programming language in the job market today.
Re:'Javas slow decline in favor of...' oh please (Score:4, Interesting)
Parent
Re: (Score:3, Interesting)
Currently, in my area, Java -junior- programmers get snatched right up. You don't hire junior programmers in a declining industry, you hire senior programmers (because by the time the juniors become senior, the environment will be history). There has been an increasing amo
Re:It is official; Netcraft now confirms: (Score:4, Informative)
Occurances of the word Java
3043
Occurances of the word Ruby
30
Reports of death seriously exaggerated
Parent