On the Horizon: an Apache-License Version of Java
mparaz writes "Geir Magnusson of the Apache Software Foundation announced a J2SE 5 implementation project called 'Harmony.' It covers the virtual machine and the class libraries, and aims to pass the Sun specification.
A FAQ is available."
Could this be an essential aid to Tomcat and the increasing number of projects the apache foundation are managing within the Java space, such as ANT. This can only be a good thing
Business Voyeur
Cool! This will be useful for the majority of Linux desktops, because it means it could be installed as part of a default install, rather than having to download it and install it afterwards (==hell for lots of users).
For those too lazy to click through to that blog entry, Kaffe, Classpath and other solutions already exist, and this is not the first.... although coming from Apache carries some weight.
Simpy
http://people.apache.org/~geirm/harmony.jpg
I remember a project called Harmony that had the purpose of being an API-compatible clone of QT but without the license issues: www.kde.org/whatiskde/qt.php. It never got off the ground though.
see a Text Widget
Apache Software License, version 2.0
This is a free software license but it is incompatible with the GPL. The Apache Software License is incompatible with the GPL because it has a specific requirement that is not in the GPL: it has certain patent termination cases that the GPL does not require. (We don't think those patent termination cases are inherently a bad idea, but nonetheless they are incompatible with the GNU GPL.)
Combination - fun iPhone puzzling
I suspect it means "pass the Sun certification", or suchlike i.e. to be sufficiently complete an implementation of a Java VM as to be approved by Sun itself. If this is the case, then this is a very odd choice of words. I'd be very, very surprised if the ASF would try to "embrace and extend" in this way.
In the mean time, the Apache group's choice of license for their Java project makes perfect sense given a major, if not the major, use for Java these days is for back-end work of web-fronted applications. Apache's Tomcat sometimes seems to be more popular than Apache itself. (I said seems people, seems); I can't think of any other reason why the Apache people would be organizing this, though it surprises me they're going for J2SE and not J2EE compatability.
So, no. There's no "Java trap" inherent in developing code for Apache Harmony.
You are not alone. This is not normal. None of this is normal.
Sorry, but nothing prevents you from running Apache License v2.0. on OSes like Linux. Nothing prevents you from shipping Linux distros with such software preinstalled. This is the major problem with the java implementation currently available from Sun.
Today, there is GPLed java software, I wonder what java that runs on. Running it on a Apache Licenced java engine wouldn't be more of a license violation than running it on Sun java
as they in most cases do today, exept for a very small amount of programs that actually works on GNU/Classpath.
God is REAL! Unless explicitly declared INTEGER
The great beauty of the linux desktop is that it, like all *x desktop windowing systems, is not standardised - and therefore, you don't have to use a bloated implementation. Personally, I use openbox, which as about as far from bloated as you can get (assuming you something a little more sophisticated than twm..).
Also, the point of the sun specification for Java is (in part) to ensure that the JVM performs consistently across platforms.
$ strings FTP.EXE | grep Copyright
@(#) Copyright (c) 1983 The Regents of the University of California.
doesn't look so much like reinventing the wheel, as you can read in TFA contributers of Kaffe, GCJ and Classpath are interested in participation
And after it passes the Sun spec, we can fix it to be useful (since we have the source) with a simple header change:
..that should eliminate half of the code, decreasing binary size and actually performing. ;)
#define sleep(a) while(0)
Do daemons dream of electric sleep()?
C *is* cross-platform.
The system libraries, on the other hand.. well, that has nothing to do with the language. If you want cross-platform code, use cross-platform libraries.
If you can stick to using only functions in K&R and the POSIX Programmer's Reference Guide, you will find that your code (if written properly) will run damn near anywhere.
If you want a little more functionality (as much as you need, really) without GUI, adding the Apache Runtime Library will get you there -- portably. Especially under unices and workalikes.
C++ -- I'm not qualified to comment on that.
Do daemons dream of electric sleep()?
I can't think of any other reason why the Apache people would be organizing this, though it surprises me they're going for J2SE and not J2EE compatability.
But they are. J2EE is a superset of J2SE, and by adding Apache Geronimo you'd get the complete stack. Admittedly Geronimo is aiming for J2EE 1.4 rather than J2EE 5.0 at the moment, but J2EE 5.0 doesn't really exist yet. ;o)
The great beauty of the linux desktop is that it, like all *x desktop windowing systems, is not standardised
Alas this is also one of its main weakness. I had once high hopes for Linux on the desktop (three of four years ago), but the way I see it now is that its more fragmented than ever. I think it will manage to reach something around 5% share of the market in four or five years, but the bulk of the users will probably just stay with Windowz.
That also adds more substance to the explanation of why the ASL2 was chosen in place of the GPL (which the ^G*P$ was upset about.) If it's not merely the fact people want to build projects on it and Apache, but also that it has to interact with another ASL2 project, then there's really no other appropriate license for them beyond non-copyleft ones.
You are not alone. This is not normal. None of this is normal.
"C++ -- I'm not qualified to comment on that."
C++ also have an ANSI standard. So, if you code following ANSI C++ and POSIX, your program should run on every unix (and NT). But C++ compilers are known to not following standars, so it is not that good.
Rethinking email
I noticed Bruno Souza of Brasil is involved. He had already set up a project to produce something like this in a group called SOUJava. There are also some people from ClassPath and GCJ involved. Does that mean code will be reused and relicensed from those projects, or is everything being done from scratch? Do they have an expected timeline? The Java standard libraries are HUGE.
It seems like maintaining binary compatibility between serialized classes (esp. for collections and java.lang classes) is essential, at least if you want to do J2EE stuff in the long run. It will be at least a nuisance to, say, reimplement java.util.HashMap in a binary-compatible way without illegally appropriating Sun's IP (something the project seems pretty conscious of in their charter/FAQ).
It's not impossible, but I think the IP challenge there is the real issue (not to mention the fact that your implementation is going to be constrained to being nearly identical to Sun's, at least in terms of overall strategy, if not line-by-line). If you read Sun's code in one window, and then write the same member variables in the same order in another window, is that copying code or not? And even if you do write something completely different (say, going with the HashMap example), you have to come up with some kind of transformation from your choice of state variables to sun's serialized state variables, which could look pretty nasty.
I also pity the poor bastard that has to write those AWT libraries...
Is JamVM reentrant?
I've been looking for a small JVM that allows multiple independent instances of itself to be kicked off without interfering with each other.
I'm sorry, but I'm just really not seeing this supposed "fragmentation" as a barrier to Linux on the desktop.
Quit the Java dependency. Head towards open standards.
How long will it take for the open source community to understand that C# is not only "a Java replacement", but a better technology? How long till people start reading the docs behind C#'s design?
Let's get this clear: Mono is free software, Java is not!
My intent is not to troll, but simply point out that, in the long run IMHO we should stick to Mono. Sun had its chance. It's done too little, too late.
Why all this investment of time on something that doesn't even have a standard by a credible overseer, like ISO, ANSI or ECMA?
This is perpetuating the Java/Sun dependency. Kick the habit!
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
Pentiums didn't become really high-performance and free of notorious bugs until AMD made Pentium instructions run on a competing processor. Maybe Java needs more competition among virtual processors to see more innovations reach consumers.
--
make install -not war
The great beauty of the linux desktop is that it, like all *x desktop windowing systems, is not standardised
Actually, this sucks. It's supposed to be a Unix-like system. But people write source code full of Linuxism. As a result, some stuff is hard to port to a BSD system (a much more reliable aproximation of Unix).
If what you're defending was such a great idea, people wouldn't have created stuff like the LSB.
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
Wow, I hope this goes well. I've for years felt that Java got a lot of things right (and a few things wrong). But I'll take a C program every time over a Java implementation.
Why? Because I believe in free software, and I try to use free software. While I might have a practical bone in me that would install Sun's no-cost JVM, it doesn't come packaged with my Linux distro.
If you want to develop for Java, there's this huge impediment to distributing your software. You've got to get the end user to thunk down an enormous environment first to support it.
And it doesn't always go well. That's why so many vendors ship with their own JVM. When I installed Oracle last summer, they had done exactly that. Only their bundled JVM didn't work. I ultimately discovered that I could get the software to function by excising that JVM and putting Sun's current offereing in its place. But I would describe the experience as a nightmare, and a less-experienced person would have found it hopeless.
A common platform, with a free license, that can be packaged by my favorite Linux distro is exactly what Java needs.
Go team.
The reason I suggest this is that it would appear that the main purpose of the Harmony project is to create a vibrant, inclusive community. In that case, the open source world, Harmony, and Parrot, plus users of java, perl, python, ruby and tcl (for starters) can all benefit by combining two disparate groups of all-star programmers working in potentially complementary areas.
If any parts of the Harmony project can use parts being developed for Parrot, much time would be saved and the quality of both projects could increase. In addition, it would likely be easier for the Harmony project to meet its stated goals of collaboration and sharing of runtime components, etc. to do so with parrot. The Parrot FAQ also talks a bit about VM development, including working with a JVM, it sure sounds like there is some overlap with Harmony.
Perhaps the Parrot people don't need any help (I doubt they would say so though) and maybe the Harmony VM people can't stand the idea of not building from ground zero, or using only the Apache license and nothing else. If any of these three maybes are true then it is a sad story.
Also, I may be out of line but it sounds like parrot will enable sharing of code from different languages at runtime. If so that will just magnify what Harmony is trying to do in terms of bringing people together.
So humbly I would like to say that the ideas of creating a specification and reference implementation, and promoting collaboration and sharing of modular code sounds wonderful, and focusing on these and not wasting time reinventing the wheel could be a great move for Harmony, and contribute to refocusing the brainpower of the free software world, in the spirit of the Harmony and Parrot projects.
My guess is that Harmony has some really smart people and they are also well aware of the Parrot effort. Maybe some are already involved for all I know. Any comments one way or the other?
It's quite probable that once version 3 of the GPL is released, there'll be a strong effort from both sides to get some compatability between the two as incompatable licenses hurt everyone, whatever your ideological differences.
You can bet the GPLv3 will need it. I think the FSF will quickly find that it is next to impossible even for them to overcome the momentum of GPLv2, because many people have cut the "or later" part. Doesn't it seem wierd to license code under a license you don't even know what is? Anyway, that means there's a solid bulk of code with missing/dead (in the literal sense too) developers whose code can't be relicensed (assuming the GPLv3s changes are acceptable to everyone, might also be an interesting question).
Kjella
Live today, because you never know what tomorrow brings
... and open-source Solaris is "vaporware" even though there is no/nada/nil code available for the Apache J2SE 5.0 implementation. Some people need to have their heads screwed on right.
-- kryps
I'm rooting for them, but that is a huge project.
There is no shortage of half finished FOSS implementations of Java.
I'll believe it when I see it, and I will be grateful to Apache for making it happen.
Heh.
Or put another way "C" is theoretically cross platform but in practice it isn't.
I just did a backflip. :-)
:-)
:-)
:-)
This is great news!
I have several reasons why I like it:
1) The future financial stability of SUN Microsystems I think is pretty Dark. I think that because SUN is losing on all fronts with its RISC hardware to AMD/IBM's/Motorola's efforts in 64 bit computing during the past couple of years.
2) Although the best thing I love from SUN is the JCP org, it is not a gurantee that it will continue if SUN is purchased by another corporate entity.
Quite frankly, as SUN's financial posture has weakened over the years, as a Java developer that thought has given me and my customers the willies.
3)The impact of 2 on the OS community would allow a major frontal assualt to free corporate data from Microsoft to collapse in server rooms all over the world.
It would be a new DARK AGE in computing. Dogs and cats would be sleeping with each other and regular reboot scripts for servers and 3AM calls for network admins would become common place.
The loss of the JCP and license restructuring would kill a major reason to deploy build and utilize corporate data in a free way with trading partners by imposing possible licensing fees on existing projects.
4) Java and Linux are so "synergistic" (Can I say that?) in how they complement each other in so many ways in our fight to free corporate data from microsoft, that I can't begin to describe them all.....OK well, I will try.
Axis Web Services: I can deploy a axis sql query service on a old Fox pro app server and use it free of charge through a Linux app server. Saving corporate HQ in the process by getting data that was otherwise locked up to customers 24/7.
Hurray!
I don't need to budget to get data where it needs to go, just add another button on a web page and repatriot a OLD windows 2000 server to the cause of running Apache Tomcat/Axis and we are good to go. (Did I mention the old server all of a sudden Microsoft refuses to support with 2K runs twice as fast just with Linux on it??? Did I mention it is more secure? Did I mention I have the source code?)
Why, why OF COURSE I did!
Hurray!
Then of course, there are the hero moments in all this where everyone says:
Hackus? Hackus help us please!!
Why of course I will, lets format the windows partition and begin...
Hurray!
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Sun has been making noise now and then about open sourcing Java.
Why not push them toward putting their money where their mouth is?
Ask them ( or better yet, ask IBM ) to release the java implementations they already have built under an apache license.
If that is still too liberal for them offer to help in writing a new OS license that will give SUN the control they want.
Whenever open source and Java come up in a thread someone will always make the point that keeping Java under Sun's control prevents it from being bastardized.
The example of C starting out as a multiplatform language always comes up.
This reasoning may be correct, or it may not be.
I know python implementations are not exactly the same across platforms. There are some things I can do on linux with python that I can't do on windows.
Are there any examples of multiplatform, open source languages out there, running, that do not require the program to learn about platform specific issues?
Several of those that are behind this proposal are either associated with IBM or works for IBM. Also factor in, that for many years now IBM has wanted SUN to open source Java without luck. So this is the solution? Good luck I say, what we see here is the prelude of yet another OSS fiasco like GNU's HURD.
...that project Harmony was the reason TrollTech chose to GPL (as versus seeing their strategic role usurped by an LGPL workalike). At which point Harmony dried up as redundant. So while it didn't per se do much, its historic impact isn't negligible.
You can also use the Mozilla Netscape Portable Runtime Library, that is cross-platform (on at least Windows and just about anything Unix). And, IIRC it is triple licenced GPL/LGPL/MPL so you can take it and use it in a GPL program no problems.
Is why they cant/wont take code from one or more existing JVMs and libraries and use it as a base.
We have GNU classpath
GNU GCJ
And others
Why havent we seen anyone take the good bits from all the different Open Source java projects and work on ONE free JVM that will sucessfully pass the Sun J2SE compatibility test (and therefore be a 100% implementation of JAVA)
Personally, the fact that no Open Source program comes even close to being able to pass the J2SE compatibility test is why I dont write anything in JAVA.
Most of my code is written in C and C++ with some stuff in Assembler of various kinds.
The last thing I want to see is the Perl6 project weighed down by another goal. Its bad enough people are wasting so much time toying around with Pugs, which regardless of what you read is throwaway code, yet seems to be capturing the interest of most of the posts on the perl6 lists.
IMHO I feel the effort can be better spent on helping Mustang (1.6) and Dolphin (1.7) to be better than if Sun did it alone. Just fixing the outstanding bugs that's been on the bug parade is a great service to the Java community. I admire the spirit of wanting to reimplement Java, but this almost feels like a 'Netscape' to me.
www.rexguo.com - Technologist + Designer
Note that there will actually be no problem implementing GPL projects that use the Harmony runtime. This is because the GPL excludes from its licensing requirements "anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs"; clearly the Harmony runtime will be distributed with the Harmony Java compiler, so this clause will come into effect.
Thank god, this puts an end to the Mono fiasco.
Err, I doubt it. I don't really think anyone is using mono rather than Java because of licensing problems. There are already free implementations of Java that are just as useful as Mono is; the only problem with them is that they're severely lagging behind Sun's Java implementation in terms of new features and APIs.
No, the real problem I see, is that we have a number of Windowing Toolkits running. Once upon a time, you would be running only X11. In some cases, you'd be running Motif-based apps too. Now, you're running X11, Motif, custom widget apps like mplayer and xmms, GTK and KDE, in multiple different versions.
I've got 2GB's of memory, and starting a gnome desktop with a few KDE apps (k3b mostly), my system consumes a half a GB of memory before I start my services (apache, postgres, mysql, etc.) or applications.
Evolution and firefox are the principle desktop memory gobblers.
I love Python. I left Java by the wayside when I found Python. I love the sparse look and feel, I love the strength of the language, I love the fact that I don't have to deal with 1000 different indentation styles when I read other people's code, I hugely appreciate all the python modules people have written that implement everything from databases to graphing packages.
And Python is all over the place, installed and ready to run. My old RH9 system has Python; my Mac has Python; my Windows box has Python.
Python. C when you have to have the performance, certainly. Python otherwise. :-)
I've fallen off your lawn, and I can't get up.
This is certainly unsatisfactory, but I don't see it as a problem, myself. It's worth noting that I can load up KDE, Firefox and a bunch of Konqueror File Manager instances, gaim (which does not used Qt, I don't think), two tabbed Konsoles, a Swing/Java app I wrote for myself, the Gnome System Monitor etc on my 256MB laptop and not touch swap (in fact, I botched the install and forget to add a swap partition - doh!). Don't give too much credence to the reported memory usage; things are much more complex than the numbers reported, and remember that Linux does not like having RAM free (as it is viewed as wasteful) so expands its (apparent) memory consumption according to how much is available.
You can take their shared source, port it to your platform - far easier than writing a new VM, get the port certified and release it. Look at blackdown.org for example. If you want to "embrace and extend" the VM, just make sure your new language is activated via an optional switch and is not called "Java". I don't see a problem with Sun's license unless you are Microsoft or a hobbyist who wants to distribute a VM without compatibility concerns. Then yes, you should write/have written code from scratch.
I shouldn't have posted above while I had mod points, since this troll crap is modded "Insightful" by the Windows trolls moderators and other idiots.
Look, stupid, this is not just a "licensing fetish" (although as has been discussed, there is a perfectly good reason for Apache to not use the GPL or like Sun's license.)
The point of this project is to provide a compatible free Java that Apache can use to underpin its numerous Java-based projects.
It's an excellent idea - unless Sun ever comes out with a truly OSS license. And if they do, it will probably be because such a project is gaining traction.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Certainly not "in the Microsoft way". "Embrace and Extend" are perfectly all right - as long as the goal is not "Exterminate" which is Microsoft's method.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Why do people complain about the "current" implementations?
Did you use Java the day it came out?
OSS does not spring full-blown into the world. If it takes ten years to get a useful free Java, like it did Linux, what's the problem? You going somewhere?
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
The main problem with this is that sun is already working on the next version of java (v6/mustang) which is in beta at this time. So Apache will always be (at least 1) version behind the current release from sun, and will always be playing catchup....
Yet another person who doesn't get it...
Did you use Linux the day it came out?
Or Java for that matter?
"It's gonna take years! " SO WHAT? It took Linux over ten years to be a truly useful OS - did you tell Linus and the others to stop ten years ago because "you don't think it's gonna happen"?
"Thirty seven full time work years!" SO WHAT? The project starts with a couple dozen people to begin with - how many more will join if it gains traction? Two hundred? Cuts your estimate to peanuts, doesn't it?
The point is not how long it takes (provided we're talking years, not decades) but the end result will either be a free Java - or force Sun to truly OSS Java. Either result is a victory.
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Windows isn't where the main focus of Java use is. True, deployment of GUI apps is getting nicer with webstart and what have you, but the real focus is on the server side. And that means Linux and Solaris.
The Sun Solaris JVM, for example, is an utter pig to tune. It requires some of the most obscure settings imaginable, and by the time you're finished learning some virtual machine backwards you may as well have written it for the metal anyway (disclaimer: I develop in Java, the apps I write tend to need passable processing done with latencies of under a millisecond. The machines we use are big).
With Apache themselves being primarily on the server side, I would have thought they'd be concentrating on the various Unix derivatives first - with particular focus on Linux and Solaris.
Another interesting point - IBM have tended to use the Apache foundation to get open source code to the world through. I wonder if they're thinking of donating as much as they can (by license) of their own JVM?
Cheers,
Ian
.. does anyone else get a déja vù from the KDE-sponsored attempt to clone Qt back in the non-QPL 1.x days?
Michel
Fedora Project Contribut
Wrong.I downloaded it, my c program still isn't cross-compatible.
Oh i see, you want me to rewrite my entire program to use this library!
if your using windows you obviously dont care about licenses. also, whats the point in a good jvm if your going to be using a crap os?
its not really a 'version' of java, its aiming to be java compliant.
Topic makes one think SUN is making an *offical* version with the new license.
Still, if they get blessed as compliant, this is a good thing for the free world..
---- Booth was a patriot ----
I'm certain that they intend to go for Java certification (otherwise why bother), but I'm not certain that they don't intend to extend things. Their primary goal is working in the Apache environment(s), and they might well adopt enhancements that further this.
That said, this isn't "the MS thing", as the code will be open, and the license will be open. (Not Sun compatible, but nothing is.) Anyone who wants will be able to take it and tweak it, or totally rewrite it. Also, it won't be limited to one platform...still, if they do this, I don't think they should call it Java. Perhaps Sumatra?
I think we've pushed this "anyone can grow up to be president" thing too far.
Motif apps? Are you kidding? There are as many Motif apps on Linux as FLTK apps on Windows. And don't get me started on the tons of different custom controls in Windows apps...
You can add as many features as you want as long as you dont taint the core classes and core namespace. What Microsoft did was to dump their stuff into the java hierarchy and alter some of the core classes, so that the users over time will start to complain why Sun does not follow the standards. The classical we take over approach Microsoft does every time, by making things compatible from the outside, so that marketing has an easy going, and break things left and right so that the developers are bound to their platforms.
Pugs is incredibly slow, slower than any 5.x release of Perl. Its in Tcl territory. The way Pugs is built, it is unlikely to get much faster, hence it is useless to anyone who really uses perl on a daily basis, which is why they should stop indulging it and move on.
I think that the most important ramification of this announcement is that Java will not die should Sun falter.
.NET, and .NET programming is currently the hot skill set.
;^)
The fact is, a lot of Fortune 500 corporations are nervous that Sun's waning profits and recent legal problems will result in their Java code being unsupported. Furthermore, they are seriously looking at Windows Server 2003 and Longhorn as a an alternative to their current Solaris and Unix solutions. As a result, there is currently a lot of hype about
Well, I think an open source Apache implementation of Java 5 will reverse the current course. Look at the continuing popularity of Apache httpd. The marriage of Java with the IT "brand recognition" of the Apache Foundation is a slam dunk that will ensure Java's perpetuity.
I just hope they can resist the temptation to look in the Src.zip that comes with every Java SDK
More correctly -- C code can be cross platform, if you care to make it so.
The problem is programmers who don't.
When I write code which I intend to be portable, I usually use the man pages from at least one other OS as my reference for the system libraries, if it's outside of the POSIX realm. Well, that's how I used to. A little more than 2 years ago I switched all new projects to APR and haven't looked back. Damn stuff even runs on Windows without tweaking.
Of course, I also use fairly strict typing (lots of typedefs, enums, consts) and throw several compiler warning flags to let me know when I'm being dumb. Like comparing signed and unsigned, promoting pointers to greater alignmnent, etc. But 7 years of hacking mostly-SPARC has got me pretty good at that -- they're a lot pickier than Intel boxes. The only thing that gets me now and then are endian issues -- but those aren't language specific, anyhow.
Do daemons dream of electric sleep()?
Fork in the Open Source Java world.
Why doesn't Sun just make J2SE open-source? They give it away, anyway. I think, originally, it was to maintain control away from the likes of Micro$oft, but now, MS has gone their own way.
I have, and actually i found it ported well from windows to linux and solaris.
The only thing is the paths on windows as people don't usually use cross platform or relative paths.
The only time i had issues was in the early days of java with applets. But my experience of moving large web applications is that it is relatively easy. In fact i've had more problems switching JVMs within a platform than switching platforms - one thing that got me was some people had started to rely on the collection ordering which happened on the SUN JVM to always stay in the same order but on the IBM one recreating the same collection did not maintain ordering, which was fair enough there were no guarantees in the specs.
On the other hand back in the days i wrote some J++ code for windows my god it was the WORST i have EVER experienced, just getting it to run on all versions of windows took weeks not hours. detecting network connections without triggering a RAS dialup across 95->2k was hilariously difficult.
Wouldn't it be better to compile to native code then?
I guess I don't understand the point of JIT. If performance matters, compile to native. If not, use a VM. Why bother with the middle ground?
Now that's below the belt... I didn't flame you... :-)
I don't know what's more offensive: being called a mere programmer or the suggestion that a business person is somehow better placed to make value judgements.
Speaking from experience (and I do have a lot of experience in this), places work better when everyone is respected for what they do. Each to their own and everyone doing what they do best etc. Companies, in my experience, tend to fail when one group starts to make all the decisions based on an acquired sense of inate superiority.
Getting back to the question at hand, I dispute your figures, and I can't help feeling you have an axe to grind against JVM developers. Speaking from a business point of view, JVM companies tended to use JVM performance/technology as _the_ differentiator. Everyone used the Sun class libraries, but offered their own or vastly improved JVM. From a purely business point of view that makes the JVM the most important piece of technology because it is what pursuaded a customer to buy their solution.
sure jvms are "A" platform but in this context I was talking about different hardware architecture platforms in that send running the sun JVM across all the hardware platforms actually gives you remarkably good portability these days.
Atleast in my experience.
The message i originally replied to was talking about cross-platform C. I was just pointing out that if you have a C program and a java program and you want to move them to a different OS or hardware platform the java program can be moved easily and the C can't.
The C program will probably have to be rewritten to make use of some cross-platorm library and then you'll probably find you don't have all the libraries you need. Almost by definition a java program will run on any underlying hardware/OS platform.
I don't disagree about the JVM and marketting issues but that is a whole separate issue as would be portability of c code across C compilers for example.
This is good news, basically, but who needs this? There are better languages available that have been completely open for decades. May I mention Python?