Improving The Java Core Library
dautelle writes "Many Java developers are frustrated by the not-so-open process to improve/correct/augment the Java core libraries. Unless you work for Sun or belong to a JSR expert group, there is very little you can do to influence the future of the Java platform. Even the JCP route can be a frustrating one (e.g. JSR-108 withdrawn by Sun because not enough progress made in a timely manner). To address this serious issue, the charter of the Java Addition to Default Environment (JADE for short) has been extended, along with the release of JADE 7.0. Participation to the jade.* package development is truly open (unlike javax.*). The library already provides numerous useful classes, bug fixes, enhanced implementations of existing classes, etc. Hopefully in the near future, the library could become so useful that it becomes a de-facto complement to the JDK."
i have been programming around with java for quite a long time, sometimes indeed i have felt like some c/c++ solutions would be so easy'n'fast'n'economic at some points, but i always have found a working workaround. seems like the jade dudes are not satisfied with that.
:)
the thing that disturbs me about this article is that, it seems like the author would like to have this lib in java. i'm against it. because it provides tools to improve your code in many ways, but at the same time, it somewhat brings java down to the c++ like level, where memory losses and "forgotten" objects are quite common mistakes.
as a separate library, i think jade is great and the next time i'm writing something really complicated i'll surely have a look at it. but at the same time i think it should not be included in java's original libraries cause java newbies would surely make a lot of mistakes by using it and then everyone would blame Java for being so buggy and unusable for them. java has a strong and stable baselib which doesn't provide many ways to make mistakes, jade surely has greater opportunities but also greater flawsources.
however i think that sun should somehow support jade's development and offer at least a link to it under it's downloads page, so people could see that the usual oop model is not the limit and also would avoid inventing the wheel in a lot of cases.
i think sun is being conservative, cause it has always been that way, and it seems a quite secure and reasonable, cause most java apps are more secure and stable than anything else around. they are just concerned about java's reputation and dont want to rush items into their language which would overhaul new java developers and lead to popularity loss of java.
many cool libraries could be real battleaxes in the hands of java, but at the sametime, they could backfire, which sun is just trying to avoid.
keep up the good work on jade
I'd tell you the chances of this story being a dupe, but you wouldn't like it.
Has anybody worked with the jade xml parser. Can someone comment? It looks interesting...
No need to impose any library additions onto the core libraries of Java, or gripe at the JCP, however flawed, I have yet to see a similar process that works.
W3C use similar methods to develop the web standards we use every day.
Jade is a useful and in particular thier XML parsing libraries are interesting.
Look deeper and you see some interesting components. I am a little perplexed at the underlying ethos of trying to patch the core libraries with this library though.
I think the whole of Jade should be living in commons.apache.org somewhere, there is an example in invaluable libraries that I take for granted every day. That doesn't mean another programmer does, or that they should be shipped by default.
Kudos on the new version! If I ever need it, I will surely be grateful!
#hostfile 0.0.0.0 primidi.com 0.0.0.0 www.primidi.com 0.0.0.0 radio.weblogs.com
As an alternative to trying to contribute to the Sun java and javax libraries, people could contribute to the Classpath libraries. Getting these complete means effort could then be expended on useful extensions and perhaps some optional improvements to the standard libraries. If Classpath could get some serious impetus (from IBM for instance), then Sun may have to open the development of their reference implementation or risk being left behind.
When I read the intro, I was expecting something like a Java version of C++'s Boost libraries -- things the standard library missed or didn't do well, peer-reviewed to keep the quality up, etc.
When I read the linked page, I found more like a Java version of C++ -- it looks as though a lot of those libraries are there to overcome the very strengths/weaknesses (depending on your application) that most differentiate the two languages. If you want to use C++, why not just use C++?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Donate your solutions to the Jakarta project, namely to the Apache commons project, which is basically already a second inofficial core library, used by most programs out there. I dont think you really need a revamp of the core libary addition process, Sun is doing a fine job there, since there are so many alternatives out there.
What about MS? I think that they also wanted to "embrace and extend" Java as well at some point.
My point is, that sometimes I feel like people think free software should always get its way as a matter of principle. The truth is, that you are free to write an alternative classpath. and distribute it with your own VM as it is. Quit moaning and join in with the guys at GNU Classpath. Sun doesn't mind. It's focusing on its own. That's what MS did.
To err is human, but to forgive is beyond the scope of the Operating System...
Yes, people could cram more and better functionality in there, and everyone is sure their idea will just make Java better; but every new version makes Java less and less portable. Adding the same functionality in a non-core library is every bit as effective, but doesn't add the additional requirement for a new version, and will avoid breaking and deprecating enormous existing bodies of code.
If you need new or better/differently implemented functionality, you are free to add it. If Java is unable to accomodate the addition outside the standard library, then the platform has failed.
Don't get me wrong -- I'm a fan of Java. But, if the core of a language needs to be constantly updated, its an unstable language, and bad for production development. I think Java can be stable, but it requires that the developers do just what they are. Keep the standard libraries standard, and not full of every shoehorned-in functionality they can think of. Its already bloated enough.
The project you seek can be found here:
http://jakarta.apache.org/commons/
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
if you program in Java and need to do matrix stuff or, want fast data structures check out:
the CERN Colt Libraries
Don't be silly... I think the existance of JADE goes to show you that if you want to treat Java like C++ where you pack your own libraries with your app, that's easily accomidated.
I've never really understood why people get their panties in a wad over the java core library. The java core is a wealth of good tools, but the language is not limited to just those tools. If you write a good library, people will use it. If you write a crappy library, getting it included in the core java library won't make people use it, it'll just waste space. I personally would rather the core library be slower to include things until they are well tested, than to include lots of new things just because they're popular. Just because YOU write a library to calculating profit given two arguments and a couple ?'s doesn't mean *I* want it included as part of the java core.
What we have here is a library that comes in several bits. The numeric and units handling parts are all very neat, but rather special-purpose (I just don't need them at all in my Java programs), and the stuff to allocate things on the stack for improved realtime performance is rather risky for non-experts to use (e.g. stack space tends to be much smaller than heap space, so you have to be careful with how much stuff you actually allocate on the stack). The RT bits also look (from a casual glance) like they'd need an update to the JVM and bytecodes to actually work...
JVM and bytecode updates are painful (can you say "Porting and Deployment" without winceing?) so those bits are a non-starter for general use, and the rest of it could (theoretically; I don't know how much it depends on the parts I've just rejected out of hand) just as happily be in a third-party lib, and they're something that Java's really good at.
"Little does he know, but there is no 'I' in 'Idiot'!"