Sun Lowers Barriers to Open-Source Java
Shyane writes "Sun Microsystems is making it easier for open-source programmers to ensure their Java versions meet the company's compatibility requirements, but the deal extends only to those involved in Sun's own open-source Java project. The program grants access to its Java Technology Compatibility Kit to anyone with an open-source Java project that is based substantially on Sun's open-source Java software and governed by the GPL. Programmers need access to the test kit to prove that a project is in compliance with the Java specification. Projects that pass Sun's compatibility kit tests also can use the official Java logos for free."
as programmers discover that the test suite only runs on Windows.
Cheers!
Atheist: Buddhist in a Prius
Finally, "open, cross-platform" Java is beginning to become open. Now I just hope it becomes more cross platform, rather than "Windows, Mac, x86 Linux and whatever-you-spend-a-million-hours-developing-an-i mplementation-for."
:(
Seriously, I was pissed when I found out just how bad Java support is for Linux PPC. I couldn't get an iMac to go to Yahoo! games for my grandma.
Now all we need is cross-platform Flash.
software only needs to have its own built in unit tests to verify that it works, Sun can butt out.
But then again, Java always was slow.
(ya ya, except when it's called an assembly language math function in its library)
What is happening to the FSF's java project now?
Regards, Martin IT: http://methodsupport.com Personal: http://thereisnoend.org
+5 Unintentionally Funny for displaying amazing amounts of stupidity. I'll bet he's glad he posted that anonymously...
Go to your job web site of choice and key in the names of your favorite programming language. Notice that there are a huge number of jobs for Java skills (usually more than any other language but always a very close run match). Then ask yourself, if it is such a toy why are so many people prepared to pay good money to advertise for these skills?
I so want a native Java compiler. I like Java but the loading of the runtime is a bit of a pain. The option of compiling a native version would be very nice.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
Java programms are nothing more than typists who can understand how to string together bits of code from the latest
'Type and Learn' Java Book.
To Me, a Programming Language is 'Real' When it can fully bootstrap itself. That is, Compile it's own Compiler. Java of Course, being an interpreted language, fails that test miserably. I've once seen a student project, a java interpreter, written in Java. I've seen frozen molasses move at a faster pace.
Java is nice if you don't want to worry about complexity, or managing algorithms, etc. I think of it like VB, nice for building proof of concepts, fast 'throw-away' prototypes.
"Always forgive your enemies; nothing annoys them so much." - Oscar Wilde
I am a fledgling java developer, and so far I'm loving it! Every time I hear about the advances Sun is making towards GPLing java, the more I feel justified in taking the time to learn java.
I came into this business from a bit of a back door (although I suspect it to be a common back door these days). I started with spaghetti code PHP, moved to OOP php with php4, then php5. I am now quite frustrated by the partial OOP implementation of php5, as I develop more complex applications. I become even more frustrated with PHP the more I learn about java. The type safety at compile time makes it far easier to develop bug-free code. Method overloading is problematic in php, I usually end up implementing a single function with all sorts of optional arguments, and checks to determine whether a particular parameter is an array.
Additionally, Java gives me code re-use at it's ultimate. For instance, I write a single been that updates our LDAP; I then use that bean in a JSF web application, in a batch program running on an an IBM iSeries, in a command line application on Linux, and most recently in a Swing application. Having written the bean once when developing the first application, I never had to write a single LDAP query when developing my latter applications. Any bugs I find in the bean from one of the apps means the bug gets fixed for all the other apps.
Not to mention that I do my development on my Mac, and deploy software across our organization to Windows and Linux desktops.
Write once run anywhere for sure - I'm sold!
Forget Linux, Java works much better on Windows than on Solaris.
I found Java on Solaris to be rather buggy.
Sun can still do better ... and easily.
[...]
I'm not expecting Sun to necessarily release its own implementations in source code. However, any test kits for compatibility need to at least be made available to any and all open source developers. For Java compilers, clearly that much of it must have source code available. For run time engines, the test kit can be class files (compiled on Sun's official Java compiler, perhaps). Sun could perform the official certifications test runs themselves to validate the tests pass with official unmodified tests, or grant that to an outside entity with whom they have an agreement to do such tests.
now we need to go OSS in diesel cars
A bit of a long-running fad, y'think? I suppose you think those "horseless carriages" are also just a fad.
Stop Computers/Cars Analogies on S
well, because most people are idiots..... i went from perl to c++, and then to C. you should read up a little more before you take so much time in learning a new discipline. Sun wont even let Java into its corporate infrastructure, they say it is to immature so "use c".... -- this came from one of their internal memos.
"Suck it, IBM"
It's only a language!!!
... but
But there is a difference:
1) Java is VERY DANGEROUS!!! Sun can charge you!!!
2) C++ is not dangerous!!!
You know ANSI C, ISO C, ISO C++,
and ISO Java? Such thing doesn't exist!!!
To invent ISO Caffeine? ISO Heroine? ISO Cocaine?
A Java horseless carriage might run on all roads, with all fuels.
Bad example!
Idiot remarks about Java are actually rare these days. Most understand the power of Java these days, but some like yourself stay in the dark ages for unknown reasons. Practically everything you've just barfed up is incorrect. No need for me to elaborate, you've got your @ss kicked by all the other responses already.
Native (.so) libraries are loaded using mmap. The means that even though every program links to libc, there's only one copy of it in memory. It also means that a new process that gets to run doesn't have to reload libc from disk.
Since java has to decompress/JIT it's libraries each time a program runs, each process will have its own copy of all the libraries. Making better use of the shared memory facilities provided by the OS is one possible benefit of compiling java to native code.
YHBT YHL HAND
The
Haha that's funny. I always get a laugh when I hear someone say we will 'use the power of java'...what that basically means to me is 'we will string together some low-quality, GPL/Open Code around some of our wrappers, and squeze out some steaming mounds of slow running code'
Java does enable programmers to do some great things, but hides much too many of the important details.
But then again, that's just me. When you program embedded systems, that need sub-millisecond guarenteed response times, you know how to write efficient code, and you know not to use java. Let me know when the language matures, and becomes more deterministic. Until then, it's great for student projects and the like, but I'll stick with good old embedded C/C++ thanks.
Embedded C/C++ also hide many of the details. Why arn't you writing in assembly?
i ndex.jsp
e ssor&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-GB: official&client=firefox-a
Joking aside, Java is making inroads into embedded realtime systems.
http://java.sun.com/javase/technologies/realtime/
Thats not counting the processors available that have java bytecode as thier native instruction set.
http://www.google.co.uk/search?q=native+java+proc
matfud
Yes, you are probably right its the rest of the world that is out of step, not you.
Based on this non marketroid page, it seems that apple's jvm compiles the java standard library at install time. Then it can just mmap the library at execution. It also seems to mark all memory in this file as uncollectable. It would be nice to do this for other java libraries as well, but then you may start to wonder why, exactly, you were using JIT in the first place.
New and innovative? Hardly. Shared libraries were implemented by Multics in the 1960's. Apple's just doing what everybody else (except, I guess, some folks at Sun) realized was a good idea years ago. As for making some objects uncollectable, Lisp was doing that and many other very cool things, long before java.
"Ever see how many VB jobs there used to be"
I suggested going to a job advert site and doing a little research. If you do that you will find there is no "used to be" about the availability of VB jobs. Try making informed comments.
Java could have been everything on Linux. Total domination, but licensing being the issue, lots of Java-friendly projects found happy homes among the ranks of Python, Mono, Ruby, Perl, what-have-you. Java is here to stay, but it's not an essential part of GNU, Windows, Mac OS, or anything like that. That means it may not actually live forever. It might get crowded out by better tools. Maybe.
They switched to the eclipse front end. Still use GCC back-end for native code compilation.
I started with PHP too a long time ago. I've tried Perl, Python and Java. I'm a (very satisfied) Ruby programmer right now since it has a good balance of nice features taken from other languages, in my humble opinion. Learning Ruby has motivated me to know more about programming languages and now I'm looking to try SmallTalk, LISP and Haskell.
If you like Java's object orientation, you'll love Ruby's real object orientation. OOP as it was intended[1]. It's like Java done right, and without the verbosity.
The reality is not that categorical. Static versus dynamic typing benefits is debatable[2]. Incidentally, Java seems not to be type-safe [3]
You realize that code reusability and portability is not Java's exclusive, right?
Yes, you do, of course.
Don't stop at Java. Keep trying other languages. You'll be surprised.
My humble suggestion: Ruby.
[1] Dan Ingalls: Object-Oriented Programming - Google Video
[2] Static and dynamic type checking in practice
[3] Java is not type-safe
The best way to predict the future is to invent it
When Java's open-sourced, anybody and their mother can create a JVM for their particular purpose. If businesses don't like one part of Java, they'll be able to rewrite it, which leads to tons of incompatible forks and difficulty with maintenance. If somebody creates a Java applet that requires the Apache version of Java, then I have to download and install the Apache version of the JVM in my browser. Great, now I have two different versions of Java, when before I had one. Normal people aren't going to want multiple versions clogging their systems. They're already annoyed with the updating that goes on with the current version. People are probably going to think that the Apache version or a different version is a spyware app and not install it anyway. We'll get many different versions of Java, all slightly different and not one standard will emerge. It'll probably me more of a headache then it's worth.