Will Sun Open Source Java?
capt turnpike writes "According to eWEEK.com, there's an internal debate going on at Sun whether to open-source Java. (Insert typical response: "It's about time!") Company spokespersons have no official comment, as might be expected, but perhaps we could hear confirmation or denial as early as May 16, at the JavaOne conference. One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java." Would this move Java up the desirability scale in your eyes? Could this be a way to help improve what's lacking in Java?"
"Open Source" covers a LOT of licenses.
What changes and how would depend upon which license was chosen.
There are two major reasons I do not run java programs if I can help it in any capacity.
1. Restrictive licenses make it more difficult to reasonably deploy than any competing technology in a linux environment.
2. JVM is fat fat fat, it uses way more RAM than is reasonable.
Other than these two issues, it would be reasonable to run java software on linux, even if I don't love the language, environment in some ways.
-josh
Phalanger is going to support Mono in their next release, which already support IKVM.
I think this could be an excellent idea, if only to allow for third-party JVMs.
I, for one, have always seen Sun's JVM as bulky and slow on Windows PCs, and this is a large reason that I don't advocate its usage.
"Will Sun Open Source Java?"
No, haven't they already said that? Like hundreds of times? And does it really matter?
"Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
"No", who would run PHP on Java anyway? Why? Why would open-sourcing it help?
"Would this move Java up the desirability scale in your eyes?"
No, Java is already desirable in my eyes.
"Could this be a way to help improve what's lacking in Java?"
No, what is lacking?
People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.
> Would this move Java up the desirability scale in your eyes?
It would certainly bring it across the threshold to something I might be willing to install on my machine. I'm not sure I'd actually be interested in using it for anything, but at least it would no longer be in the "completely unacceptable" column.
Of course, I'd probably wait till it was "apt-get"able. But I suspect that an actually-Free Java(tm) wouldn't have to wait long to find a Debian packager.
This would definitely make Java more desirable to Free Software users. If any licence were compatible with GNU GPL (or at least LGPL) then it makes it easier to justify using OpenOffice.org. I would encourage Sun to free Java as it would improve it and mean that less effort would have to go into programs such as the GNU implementation (assuming a decent licence).
I wank in the shower.
What is it with tagging pretty much every story on Slashdot "evil"? Is Evil the new black* or something?
-SurturZ
*Which was the old pink, which was the new black when black was the old black
Certainly couldn't do worse.
No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova
Using JVM 1.4.x or 1.5 I get display artifacts when scrolling in various controls - datagrid, text boxes, etc. It only seems to happen when my display is in portrait mode.
The Doormat
If you're not outraged, then you're not paying attention.
I currently avoid Java like the plauge, my reasons are the same reasons that java isnt included in debian... http://www.debian.org/doc/manuals/debian-java-faq/ ch5.html#s-license-concerns
if they address those license concers i would be much happier...
"I reject your reality, and substitute my own" - Adam Savage
... and just do it.
.NET, so Java *will* be open source some day anyway. Sun needs to get at least J2SE out there before .NET runs on every electronic device available.
.NET is looking like the only alternative for managed coding on handheld platforms. (Cellphones are not yet good PDAs, ok?)
WINE did it for Win32 and Mono did it for
Now that Sharp's Zaurus has dropped Java,
SLM
main() {1;}
Open source Java would be great, swing and J2EE would really benifit from more community engagement... I would love to see a linux distro that really endorsed java (like fedora is going), swing is a very powerful platform, and it would be nice to see some real desktop apps built on it... With the proper licence we might start to see companies see linux as the best platform to run java and that would really spur java desktop and linux desktop development. But why would they endorse PHP? Arguably J3EE deployment is simpler then php, and if it were open source I think the kind of cheep hosting that is available for php would become available for java. What is so great about php or python or perl, they have VMs but they just arnt as fast... What does php have that JSF or tapasrty don't, besides dynamic typing. JSF is about as easy to learn as Ruby on Rails... But at the end of the day the HotSpot JVM is a really kick ass technology, that could really be used for the next big thing....
I still fail to see the benefits of "open sourcing" Java. How will it be improved? It's not as if the engineers at Sun are stupid and don't know how to engineer enterprise software. Don't you think Sun has heard that same complaint from some major league/big $$$$$ customers and done everything they could to improve said performance?
Even if they *do* open it up, Im sure the slashdot community will still hate them because they don't use a GPL variant license. Its a lose-lose situation for Sun, I don't get why they would even consider it. Is there a business case that will generate a 9-figure revenue jump from giving away the source for Java? I don't see it, but Im sure someone around here will happily clue me in.
all the things java was supposed to be great for, all the portability, consumer gadgets, smart coffee machines, etc. there's where Sun could really benefit most from open sourcing. There just isn't that much of a reason to use it on the net anymore, unless you work at a financial institution, the technology at large is just moving too slow. But when hobbyists can easily adopt java to connect the things around the house, that will be a big push forward for everyone. and open sourcing java only speeds up that barrier that keeps most java programmers working on desktops and servers...
Open sourcing Java? Are you kidding me? Chaos would reign. Every month new features would crop up and we have to keep learning and learning and learning. Look at Ruby on Rails, new features every couple of days. Nobody can keep up.
No no no. Let Sun handle Java.
What would happen to the GCJ and GNU Classpath projects if Java goes GPL-style open source?
It'll be a cold day in hell before Sun releases the source code to any software that people actually use.
Badass Resumes
Today, as far as I'm concerned, Java is:
1. gcj (the gcc that does Java-to-JVM and JVM-to-native)
2. GNU classpath
3. Kaffe?
I've never seen it do anything, either in a browser or in OpenOffice. Oh well.
(not that language which overloads "+" for string+number is sane; that ought to be a compile error)
No, Sun will not open source Java, they've repeatedly shown they have no interest in open sourcing Java (beyond the current incredibly restrictive license).
Even if they do, it won't solve the main problems Java has:
1. Massively bloated library. The current JRE I have installed has 77MB in the "lib" directory - those are simply ".jar" files that contain the core libraries!
2. Massively bloated VM. Thanks to the massive class library I just mentioned, it takes FOREVER for the VM to start, because it has to first load the class library. The VM takes something like 5 seconds and 5MB just to do a simple "Hello World" application. That's not right.
3. Massively broken VM. The VM is designed basically exclusively for use with Java. Yes, other languages can be shoehorned into the class format, but the VM is designed around Java's OO model. If your language doesn't use Java's messed-up "everything is a Java" model, combined with "except for static methods which belong to an object's static instance" - the class format won't work.
Java is simply too bloated and too slow to be useful as an open source application. Maybe if it was open sourced before it ballooned out of control, but now, I doubt there's anything useful outside of Java in there.
"One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
Explain that to comment to me, please. It makes no sense.
It is opensource.
if you want to ask an open ended (and useless question) atleast get the correct format...
it should have been "should Sun change the open source license java is currently under?"
Can we just not have these trolltastic lame open ended articles that begin with a question.
The phrase "more better" is acceptable English. suck it grammar Nazis
"Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java."
What? I read this sentence like 10 times, what exactly are they trying to say here?
'p' as in pseudocode? p-code? huh? p as in php, perl, in that case what does that have to do with a JVM... Confused/lost here halp.
like all religious zealots, open source purists just marginalize themselves and the overall community. look, java is a tool, and while hardly "open source", is overall a helluva lot better than any microsoft license. but that's not the point. java is a very good tool for certain things. it has strengths and weaknesses. the license should be one of the last things to worry about. refusing to use a tool simply based on a license is not wise. no tool is perfect. use what is best suited for the job.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
>No, haven't they already said that? Like hundreds of times? And does it really >matter?
Yes, they said that, if they hadn't said that, it wouldn't have matter.
>"No", who would run PHP on Java anyway? Why? Why would open-sourcing it help?
Yes, because you would be able to use middleware such as JBoss and Hibernate API directly from PHP, Perl and whatever else there is. For example, there is a nice implementation of Python under Java so you can use Swing/AWT api, that makes a big difference, of course you can always use wxWidgets instead.
>No, Java is already desirable in my eyes.
Yes. I'll worship the person who would implement multiple inheritance in java.
>"Could this be a way to help improve what's lacking in Java?"
>No, what is lacking?
Yes, change "Write once debug anywhere" to "Write once, run anywhere"
And what about that thing that every P language has to re-invent the wheel of translating script into its own format bytecode(I'm using Python as an example) and garbage collection if developers of that language could just use and/or improve already existing jvm. Little late, but not too late, plus, I'd really like to see a chip in a sell phone or such that understands java bytecode natively, since there are so many people who are using and developing applications under java on mobile platform, someone could actually make it run there fast.
Kaffe and GCJ are open source Java implementations, but I don't know how active or good they are.
Real men write FORTRAN...
"Open Source" + "Sun Microsystems" almost certainly = "CDDL"
"Would this move Java up the desirability scale in your eyes?"
Java isn't the answer for everything. Either is C, C++, Perl, Python, Ruby, or PHP. Each language has it's strengths and weaknesses.
Nobody should be making decisions about what programming language to use based on whether it's open source or not. There are freely available implementations of those languages.
If you've got your company, that's another story, do what you want. If you're basing decision on open source ideology instead of what's best for your employer, you're not doing your job.
Is the employer always right? Hell no. But making decisions based on open source ideology instead of the right technical decision, you'll be no better than the managers "upstairs" you like to complain about.
I don't see how open sourcing Java would help Sun, it's the only thing they have left. They've open sourced everything. I mean, yeah, great, thanks...but they've turned themselves into something like Xerox PARC. Anyway, if they do choose to open source it, this will help increase Java's presence in the development world. It really is a great language (and virtual machine).
Writing a fully compliant JVM takes a lot of time and a lot of effort, especially the class libraries. Sun spent years writing that code, and none of the JCP partners can be bothered re-writing it themselves.
IBM, BEA, Oracle, etc pay Sun to license their source code so they can release compliant JVMs.
So, it should be no suprised the the open *cough*IBM*cough* source community "demands" that Sun open source Java. Guess how much money a certain company would save getting free source code that they're paying to license now? In the same of "the open source community", they'd like nothing better than to get the #1 competitor's hard work for free so they stop having to pay them for it.
The Java spec is open for anybody the re-implement, the source code is viewable by all, and the JDK is a free download. Sun has stated that they won't stand in the way of Apache Harmony or any other open source project that aims for a full open source implementation of the JVM/JDK spec.
So what exactly is the problem?
This space left intentionally blank.
They are much better than the competition. Java with those JDKs is compelling, java with Kaffe, isn't. I also think using java like technologies to make more complex apps, more reliable apps, safer apps is key to furthering the adoption of linux.
Sun, opensource your JVM and make the redistribution license more liberal.
As it happens there are many projects (200+) to make a variety of languages run on the various implementations of the Java VM. Even Sun supports Jython and Groovy in addition to the Java language. Turns out this was another idea Microsoft copied.
Wouldn't it be great if Sun says OK lets open source under an almost exact copy of the GPL but list three companies that will not be able to redistribute the code without expressed written permission of Sun. I don't really even think it would violate the spirit of the GPL, and the community low-to-no-profit organizations would be able to dig their fingers into the technology, many of whom are the type to contribute code for that reason.
I know its not going to happen, but wouldn't it be nice?
my sig
This same exact rumor has been spread several times before. And it always ends up with the same thing: it's a basic part of Sun's strategy to keep full control over Java, therefore it won't be open sourced. Now stop daydreaming.
I'm about to take the AP Computer Science exam in oh... 7 hours (I should sleep). Now the thing is, I'm a terrible programmer and took this to learn. And Collegeboard regulations have made Java the language over C++ since 2002.
I've never, ever learned a language aside from Java, and I'll probably program everything I make in Java, simply out of familiarity. Undoubtedly, many of my fellow CS AP students taking the exam tomorrow will probably end up doing the same.
Anywho, back to the point of this post. It seems to me that Sun pretty much owns the upcoming generation of programmers at this point. Why, oh why would they want to open-source it - when they see this gravy train slowly making its way down the track?
"Joy is contagious," he said, peering into the microscope.
While I agree that open-sourcing Java won't be a magical solution that will somehow improve the codebase and allow people to run all sorts of languages to run on the JVM ... there is in my opinion a good reason to get other languages to run on the JVM--to compete with .NET. Right now, .NET devotees don't have to use C# to get .NET code, they can use a scripting language instead. Having a scripting language (like PHP) that people can run on the same VM as Java would be a great boon to both people who use the scripting language as well as to Java's popularity in general.
Dlugar
Computer Go: Writing Software to Play the Ancient Game of Go
Javascript, python, scheme all run on my JVM And these ones: http://www.robert-tolksdorf.de/vmlanguages.html
Yeah, because what the world needs is more php.
And they'll ditch the Java language and only support PHP in the JVM of Java 6. Of course, since MS follows closely the development of Java to chart their own roadmap, will revert to basic BASIC (the one with out "objects" from the MS-DOS days) as the only language of .Net for version 3 just to stay one step ahead of Sun. Meanwhile the rest of OSS languages will converge to a single language running on Parrot. Eventually (about 10 years down the road), OSS historians will realize that they have rediscovered the holy grail of languages: FORTRAN.
Shortly after, the whole universe will crash on one huge dive by zero exception.
Thank you, thank you, I'll be here all week with more forecasts...
please excuse my apathy
I for one welcome our Java/PHP/Python overlords! I would really love JAVA+PYTHON, thats like crack for a programmer.
Since the community owns (holds copyright) on gcj/classpath/kaffee/etc, I'd prefer those even if Sun frees Java (yeah, right!).
This might be good though because people would get under the hood and decide the whole thing is just garbage and we should just compile java apps to Parrot instead.
All languages that aren't built on parrot slow it's development and are therefor evil.
set softtabstop=4 shiftwidth=4 expandtab nocp worlddomination
Really. At this point, who cares? If they did it at this late date it would speed up the process by a year or so at the cost of keeping Sun in the driver's seat. If they don't open their implementation GCJ will catch in a year or so and it will quickly become the reference implementation that everyone will track in server environments.
.NET today. But that is history that could have been and wasn't, now Sun needs to just continue to quietly fade away.
Why do I say that? Because it is the one all non-Sun/Microsoft server environments (meaning Linux & *BSD) will be shipping. RedHat is already there. If you want a different Java you have to deal with the implications of having it co-exist with GCJ. Although they do use alternatives to make that managable, they ship the IBM JDK on their extras CD, not Sun's and the Sun packages almost certainly (haven't bothered to check a recent vintage) don't deal with that, their 'rpms' are brain damaged tarballs wrapped in a thin rpm wrapper.
So it no longer matters what Sun does. Five years ago they could have turned around the fortunes of Java when it was under serious threats. Ten years ago OPening Java would have meant we wouldn't be dealing with
Democrat delenda est
I fear, some smart ass Java programmer will fork off the Java OpenSource and give some crackpot name like "Javalava" or "JavaJ" or "JuJu Bean" or "Grande Capacino"
I am scared...
"Don't let fools fool you. They are the clever ones."
If you reply, do so only to what I explicitly wrote. If I didn't write it, don't assume or infer it.
is already out there
or mortgage as the case may be. It has since 1996. Never been unemployed during this time either. And yes, I probably make more than you.
JVM gets bloaty once you start adding all the GUI stuff, though J2ME (used in a lot of phones etc) is a lot smaller.
Engineering is the art of compromise.
Good article about it here
The SCSL is going away in Java 1.6 in favor of some much more liberal licenses. I'll be able to compile and use it on my production FreeBSD server at work and not worry about being "tainted" as a programmer.
3 437481
http://www.internetnews.com/dev-news/article.php/
PHP is probably one of the best (worst) examples of what a language would look like if it was designed and developed incrementally in an open source community. It's hack upon hack upon hack. It's backward compatibility breaking changes is just about every point(!) release. Register_globals enyone? Magic quotes? Ambivalence towards types/objects - "type hinting". Arguably (and freely admitted by the designers) PHP is *not* a well designed language. It's a pragmatic ooops kind of language whose main advantage is a large (albeit somewhat amateurish) user base, and free availability. Java on the other hand - if anything - tends to be over-engineered. Swing is actually more flexible than even .NET Windows Forms (which was designed later). It's easier to combine widgets, e.g. put textboxes inside tree nodes, etc. Swing may be a little slow, but nothing Java has ever had that "hackish" feel to it. It's always well thought out. Same thing could be said about JSF, JDO and certainly EJB.
Sun has always taken great care of minimizing BC breaking changes. Sun has always taken pride in being a little on the conservative side, i.e. only introduce well understood technologies. This has been received well by the enterprise developer community. PHP is nowhere near that yet. There's still tons of BC breaking changes in store for PHP developers when PHP finally will get namespaces, unicode support etc.
To put it simple, the primary virtues of Java is nowhere to be found in PHP. And frankly, if PHP is the way a language looks like when it's designed by an open source community, open sourcing Java would possibly destroy it. A model like eclipse where it's formally open sourced but in reality still maintained by a single, competent organization might work, though.
Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
Release it under GPL. This way, no-one can "pull a microsoft" and create incompatible forks because whatever changes they make can be brought back into the main tree.
Secondly, make a testsuite available to use for free (but only when developing against the GPL version of the VM) so people can make sure their VMs are compatible.
Thirdly, if you are a company that wants to use the JVM embedded in your product and want a closed source licence (either to ship the JVM as is or to modify it), you would be able to get one from sun (just like it is now)
Forthly, there would be rules governing the use of the JAVA trademark.
So basicly, forks would be prevented by controling the trademark, having a solid testsuite available so people can make sure their VM is still 100% compatible and that they didnt make any changes that accidently broke things and by encouraging people to submit changes back to the main tree.
Plus, just look at other open source projects. There are a few people hacking on the Mozilla codebase and releasing their own stuff but most people just follow what mozilla.org puts out (and/or tries to get their changes into official mozilla.org tree somewhere). Most GCC development (with the exception of Apple OSX stuff and a few platforms like MingW which (for whatever reason) seem to end up second class citicens) is done on mainline. Same with pretty much all GNU projects.
Along with WINE and a number of others.
The only time I have seen forks is the X fork where people didnt like the way xfree86 was being run and created x.org. These days most people have moved to x.org.
The licence and releases should cover all 3 flavors of java, J2EE, J2SE and J2ME.
Pithily stated.
Yared has long called for Sun to open Java, which, he said, is "great on the back end, but LAMP is great on the Web tier, as Google, Amazon, Yahoo, Flickr, MySpace and Friendster have shown.
Amazon is not LAMP.
Two major development platforms are .Net and Java. One is fairly Open Standard but not open source - and gets demands for Open Source. The other is not even open standard yet people accept this. Maybe the real issue is people can imagine a world where Java is totally open but don't ever expect .Net to be so don't bother discussing it (The wonderful Mono efforts aside)
Short Answer: No
Long Answer: Not happening. They dont want to lose control of something like this. It all comes down to $$$ and i doubt Sun sells a lot of hardware and solaris products now of days.
I am much happier with Sun's Java than most open source projects out there. It's very high quality. I know that I may offend some people, but I think it's higher quality than Linux (as an OS, not kernel). It's my opinion though. Sun managed to keep it standard is admirable. I think Sun also deserve to make money/own the property it created. Why not develop open source version of it instead of asking Sun to open source it? One answer I think is that Sun does not have enough resource to fix bug or bring out features quicker for something as large as Java. This is a good argument. I think it could be addressed differently than Open sourcing it. For example, manage the development better. Provide better incentive for users to submit bug fixes. Promote Java support service so that critical bugs a company needs to be fixed is fixed quicker (it's there, but maynot be promoted enough). I develop Java enough to know that it's very hard to have a perfect tool to test Java standard. For example, there's no clear spec for Gridbaglayout. What you see isn't enough to implement an exact replacement for what Java has. This is just a simple example to show that stardard is hard to make, hard to be changed quickly.
This brings another point about Java standard. I remember JSF has many bugs that it tooks months to years to be fixed because the standard was broken. I think Sun needs to be much quicker than now to address these issue. These big problem should be fixed in a couple of weeks, or couple of months (2). Most people don't wait for a technology for a year or two to adopt it. They use alternative tech. This is usually a one way street and Sun will loose those customers.
What changes and how would depend upon which license was chosen.
And equally on what community process is chosen.
I regularly look at the source for some Java library class and cover my face in horror. I'm sure I'd submit a patch a week just in code cleanup and adding unit tests -- if I thought they would ever accept anything. An open license is only the start.
Maybe it will make it run faster. Anything java automatically drags my systems down bad.
NO! But they might Open-Source it.
It seems to me that one of the main benefits of Java, machine independent binary files, would be destroyed by Open Source. Once each VM can have it's own set of covered features, add-ons, etc. you no longer can be sure of that, and end up with a situation where the source has to be recompiled on each machine it's used on.
Clueless
Java should not be Open Source. The problem with an open source compiler is there will be multple versions of the compiler, and some of them will be poorly rewriten. So, where my code may work on my compiler, I cannot be assured that it will work using everyone elses compiler.
Never underestimate the power of KDE
Luckily, you there are workarounds, such as using Eclipse instead of swing and a different language to avoid checked exceptions.
Using Eclipse instead of Swing? They're different things. Eclipse is a development environment and Swing is a windowing library. Also, please explain how using Eclipse instead of $OTHEREDITOR would change the way the language handles exceptions.
My site
In decreasing order of importance:
1) A free software license (GPL?) to allow for fast, active development, quick fixes of current problems, and license purity. Plus, imagine the boost if all those talented GCJ people put their efforts into the already rich Sun codebase!
2) Constant references! Please! Java's encapsulation is about as secure as Internet Explorer. A harmless getter method for a private member variable allows you to replace that variable with anything of your choice, because you effectively get a pointer to the member. The only current solution is to copy everything in the getter, which is unacceptably awkward and slow. So much for design by contract.
3) Sane memory requirements. Right now coding an inherently memory-intensive app in Java is very very difficult. I tried it once, and had to rewrite in C++ to get anywhere.
After all, java in it's current inception I will NOT install on the machines I administer. Which is a shame, because I'm all for civil liberty, and freenet in particular. Why a network supposedly built on personal freedom would use a closed source programming language at all is beyond me, but that pile of dogshi.. I mean wonderful sun code.... couldn't possibly get WORSE by releasing it!
Now if only GTA would play out of box in Ubuntu.....
rhY
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
I think a great example of the value of open source is shown by what happened with Environmental variables. Sun made the unilateral decision to get rid of them because they were not supported on OS pre X. It took From versions 1.2 to 1.5 to finally get them put back in the system, even though there was always the -D work around, and the Mac has had them since X came out. With a community design, the more vocal majority would have forced the issue to come to a head time and time again until the feature just got left alone like it should have.
Not a guarantee, mind you, but certainly a better approach than what happened.
Now can I get rid of all those Shell script wrappers?
Adam
Open Source Identity Management: FreeIPA.org
Java does not scale down well to smaller webapps, and even the smallest thing seems to end up with a half-dozen third party frameworks.
One of the funniest and truest things I've read on Slashdot, sorry to the author that I lost the attribution, was the observation that "Java programmers have a morbid fascination with complexity."
"And since users need to jump through quite a few hoops to get Java installed (don't say "it's easy" - for most people anything beyond using their package manager is too high a hurdle), you can't assume it will be available on desktops in general."
m l*
http://www.java.com/en/download/help/5000010300.x
Your "It's too hard" argument applies to Flash, and Adobe, amoung other popular plugins. Experience show's that open-sourcing wasn't needed, and that exaggerating the difficulty is a poor way of making a point.
*The Linux installation in keeping with the nature of the platform is slightly more complex.
Here is a blog by a Microsoft ASP.NET dev describing the details (it's an interesting read):
http://weblogs.asp.net/scottgu/archive/2006/03/25
Note that some parts of MySpace still use
And just to add more proof (since I know that most here will be skeptical
-- "I never gave these stories much credence." - HAL 9000
Really, i mean it. At the moment, it's hard to find good developers who can leverage the advantages of java. What advantages i'm talking about? Let me explain. I am managing a team of developers (senior & junior) developing a large piece of software. Basicly it's a j2ee app, but with a simple desing, avoiding entity beans, using hibernate etc.. .net developer, the cost of a longer development schedule is a hard thing to defend againgst the management. Please don't start the usual, java is more productive if you know how to do this or that. We usually can't find guys good enough for that. If you can, then it's good for you. Generally our developers are not much experienced or skilled, and this is again related to our budget. We have a certain amount of money, and we are unable to hire the super developers that can use java in a very productive way. .net windows forms, ms office integration requests etc. agains the advantages of .net, we have the huge advantage of depending on specs, and providing better cost alternatives.
what we have done for all the project has been following the specs. we did not do any tricks for windows or any other os. We did not do any tricks for any app server. And now, our solution is able to work on three major os's that we have targeted in the beginning, without even recompiling. we really wrote once, and we're running wherever we need.
Against the more productive avarage
this is our reality, and under these circumstances, the only way we can win against the ms shops doing the same job, is to use our platform independence. we can come up with zero licence versions of our software for small customers, using linux, jboss and postgresql, and it just works. the eliminated licence cost gives us many advantages, and this is how we are going to win. Other than that, there are many problems in real life, like customers falling in love with
so, go ahead, make java open source, and starting from the one man utility developer to IBM, let everyone change anything since they believe it is a better method of doing x,y,z... So 3 years from now, working on the new major version, my software will no longer be easily portable to other configs. It will be possible, but it will cost me much more than today. That cost my friends, will make us go down in the not so long run.
Having a technology based on strict rules, has it's own advantages. in case of java, i believe these advantages far outweight the cons, but that's just me. However, i don't think my argument will be nonsense for many enterprise development projects.
http://www.ppczone.org/news.php?id=271
Sun already started the work on it! Plug plug, they used our hardware to do it. No graphics yet but it's a start.
Not just happier. If Sun were to GPL Java, it would be unstoppable.
I run a dual English/Japanese Fedora AMD64 and x86 win32 system, and have never had any troubles with java and language input or display on any of them. Especially with Eclipse which I use probably 5-10 hours of every day. SCIM-Anthy is great, it very quickly learned and suggested the most commonly used kanji versions too, as windows does.
I call bullshit - just because you don't know how to set up your machine properly doesn't mean java has language problems.
Servlet v2.4 container in a single 161KB jar file ? Try Winstone
My post produced some good responses, but now I've got points I can't use. ;-)
Well said. (Parent and parent's sibling.)
SLM
main() {1;}
I call bullshit - just because you don't know how to set up your machine properly doesn't mean java has language problems.
Great for you; I never got it to work properly (Ubuntu and SCIM/Anthy). I first had to add fonts to some java-specific list to get it to show CJK at all. When I run the app with Swedish locale it refuses to let me input Japanese (it does not listen to the SCIM server).
I'm sure I could get it working with enough effort - but after one frustrating evening I'm not going to bother. Java isn't alone out there; just about every Java app has good equivalents without the hassle (including the Kanji app I was trying to use). And I'm certainly not going to be using Java to develop anything knowing that potential users will have go through the same mess I do.
I should not have to "set up my machine properly" - most users do not have the technical skills to do so. I should be able to select "java" in the package manager (or rather, select the app I'm actually interested in) and it should all work - but it doesn't.
Trust the Computer. The Computer is your friend.
Well... if you can't tell java.lang.String from java.util.Collection, I think you'd better learn how to program in Java before trying to preach about 'security risk' to other people who might be a seasoned Java programmer.
Because PHP is released under a Free Software license and Java isn't. Java isn't even a free standard. If Sun releases Java under an FSF-approved and Debian-approved license, I will very happily learn it and write all my apps in Java instead. But until that happens, I will continue to not run a Java program, unless that program is Free Software in itself and runs under GCJ or Kaffe. If Sun releases Java under a Free Software license it will be the best example yet of a product that has started out proprietary and become Free Software. It will also increase Java's adoption among Free Software/Open Source users.
That is the reason that with SUSE you can decide yourself wether or not you use it or not. e.g. for the upcoming 10.1 version the CD1-5 are pure OSS. There is an additional CD6 that will hold the non-OSS stuff, like Opera and Java.
That way SUSE lies the choice with the user, not with the distribution. If the user still decides to use it (and many will) they still have all the advantages as they have with the different other packages that are included with SUSE, including security updates.
Don't fight for your country, if your country does not fight for you.
That's the reality. It's stupid, but it's the reality. What they don't seem to comprehend, no matter how obvious it may be, is that a fork in Java does NOT mean any changes to the JVM or java.* or javax.* or any other language changes. No! Forks have nothing to do with it!
What does this mean? For example, let's say Java goes Open Source, and so OpenBSD wants to include it. They would need to modify it to work with OpenBSD. That does NOT mean changing that language. It means changing the system calls it uses, etc. Yeah that's a FORK but it does not impact compatibility at all. Same with the idea of setting up Qt native peers for Swing (something I would love to see). That would be a fork, but would not introduce any language or specification changes.
So they need to stop their BSing about forks.
I think there are some other reasons why they aren't open sourcing it:
- There may be patent issues. It may uses patent stuff that Sun can't really do much about.
- There probably are copyright issues. It certainly uses code from outside of Sun.
- It would take a heap of code auditing, legal hours and negotiating to sort out 1 and 2 above. Sun in its current state can't afford that.
- It could dash their J2ME JVM market, which may be one of the few revenue streams they get from Java.
- It could let one of their competitors, like BEA or Oracle, take the leadership on Java, or at least it could dethrone Sun from that position. Again Sun can't afford that.
So that's a pretty strong case for a "no". The case for a "yes" is that if they do it, it will help Java become truly ubiquitous. But will that mean more money for Sun? I don't see the case for that.So as frustrating as it is, I just don't see the business case for open sourcing Java.
In the meantime, the real Open Source Javas (and components) like GNU CLASSPATH, GCJ, Kaffe, JamVM, etc, etc are really getting quite impressive. The OS community has really gotten behind a full OS Java system. I am sure that by the end of this year, you'll be able to run a fully OS compiled Tomcat, for example.
I have played around some with GCJ and it results in impressively fast executables. Faster than Sun Java. So maybe we shouldn't even care.
--------------
Carry a gun in California, legally
Haha, gotta love the tags for this article: yes and no. That'll really help categorize this article!
I'm a signature virus. Please copy me to your signature so I can replicate.
....will I care?
The older I get the more absurd all this becomes. Once upon a time I might have actually cared whether Sun put their version of the JDK out under an open source license. I might have cared whether Sun submitted the Java specification to an independent standards body. Those days have come and gone because I know that it doesn't matter. Sun, like all companies run by mere mortals with all our imperfections, suffers from that stultifying combination of myopia and paranoia that seems to define most every company past a certain age and beyond a certain size. Sun is not a monolithic entity. Rest assured that if the left hand were to free Java, the right hand would look for a way to return it to the cage. Java is what it is, and Sun is what it is. It isn't going to get any better so stop holding your breath.
Lee
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Yes, you're right, it does cover a lot of licenses. In order to be allowed to use the trademarked term "Open Source" however, whatever license they choose must (a) comply with the Open Source Definition, and (b) be approved by the Open Source Initiative.
Sure, not all Open Source licenses are the ducks guts to all people, but there's pretty much an assurance of no evil in there. Even microsoft knows that!
"Men will never be free until the last king is strangled with the entrails of the last priest." (Diderot)
You can bet Sun will open source Java! ... 3.11!
They are just waiting for Microsoft to open source Windows
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
Open "foo.in" as #1
hilarious
Lets Face It,
its promises of crossplatform ubiquity have yielded less than satisfactory results
with all the various browser security work arounds and versioning conflicts its a wonder anyone has clung to this language for so long
back in the day we didnt have no old school
Sun could use a variant of the PINE licence. Insist that only unmodified, Sun-sanctioned binaries be distributed; but allow distribution of modified source code as long as (1) the eventual user is made aware that the source code is not the original, "official" Java implementation by Sun Microsystems and (2) the distribution of modified sources is not further restricted.
:)
This won't affect Linux and the BSDs much: every GNU/Linux and BSD installation includes GCC, so distro-specific patches will be made at source level and the Java interpreter will be compiled locally. And Microsoft won't be able to "embrace, extend and extinguish" Java unless they start bundling a C compiler with Windows {and even then, Sun will still be able to take back the Microsoft extensions -- Microsoft can't stop anyone else from distributing source code modified by Microsoft}. The likes of SuSE and Red Hat might well purchase special licences allowing them to distribute slightly-customised binary versions of Java under terms that Sun are happy with.
Of course, Debian aren't even happy about the Pine licence {enforced distribution of source code isn't good enough for them, it seems -- but surely you can't get more Open Source than that?}; you have to get the Pine sources out of non-free. So some things won't change
Je fume. Tu fumes. Nous fûmes!
No they won't open sourcing Java, they told it recently.
I don't care how open they make it.
As it is now I can read all the source and submit bugfixes if.
The only beef I have is that it can't be part of a default install in Ubuntu and many other linux distros.
Fix that and I'll be happy.
If it takes GPL, then go for it. If it can be achieved in other ways, fine. But fix it!
At least in an application server: http://wiki.caucho.com/Quercus
Quercus already runs large PHP applications like Drupal and MediaWiki unmodified.
Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.
Ditto here, but doing the same thing with Eclipse on Windows (Japanese OS, english Eclipse setup). Never had a problem with it. If anything, it's even better than linux (I'm not a big fan of the linux equivalent to the IME, I stick to English only on linux). Having a Japanese keyboard helps though, I wouldn't want to try it without all the extra keys (can never remember the names).
Open the source! Open the sources for the ability to give us the pow0r!!!!! And then we can run java applications on LINUX using FREE SOFTWARE. Whoooooooorgh!!!!
People who complain that Java is slow, should be open-sourced, and so on have never seemed to had a clue.
So yeah I can download it. And? He doesn't say it is hard to download. It is hard to deploy. Meaning download AND install AND configure AND get it running without problems etc etc.
Your second point is so obviously written by a child I won't even comment.
Just that memory ain't cheap. The whole java == memory hog is more related to the GUI java programs then server programs but that doesn't mean memory is cheap. It is in fact very very expensive. Not just in price per gigabyte but also because a program that need 2x the ram probabaly also expect the CPU to do a lot more reading and writing to that ram.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
If they really wanted to run P languages on JVM they should just support the Parrot project and offer programmers and code to it. It will run Java and P languages (starting with Perl) if enough great programmers are interested in it. The last YAPC in Tokyo had Larry Wall saying "Now we're just waiting for Guido". Well I noted before there is a group of Java people making their own JVM somewhere and these kinds of people are needed for a strong interlanguage system that lets everyone use each other's objects and libraries. The point that wxwidgets and not Java is selected for cross-platform projects shows that Java may be doing great things but not exactly what people thought it would do. I'm not involved in Parrot but I can see that Sun's experience with the JIT JVM would be useful.
Personally I use Ruby (on Rails) these days for web development: convention over configuration is, imo, a much more important advance in the art than object-orientation was.
Bad analogies are like waxing a monkey with a rainbow.
Wow, there hasn't been an update in 7 hours. Taco must be testing the dupe-dumper!
"I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)
It don't sound like they were but still.
Let me know point you to some of the most demanding applications in existence that push hardware to its limits.
Yes, games.
Now how many of the BIG titles that have your CPU and GPU groaning and gobble memory like it is candy are written in C/C++ vs Java?
This is as fair as your story for showing wich is the superior language.
The fucking fact is that it don't matter shit. I bet you could do the application you describe in perl as long as the person doing it is competent.
For fun, look up code that checks wether an IP has a valid format. You get the weirdest examples. Some look really cumbersome but would translate to fast code while some of the smallest regex would choke you cpu like a java GUI (Sorry had to get a java jab in to keep my cool license)
Frankly I think the fat is for a large part still there from the days of java applets that you got on your pentium with 32mb that took ages to load and then crash.
Funny thing, you still get those. They still take ages to load and then crash.
Java applets are offcourse not server side java BUT most people don't care. Reputation matters sadly enough.
Don't expect sympathy however as long as every java programmer says PHP don't scale. We all got our prejudices.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
...what's "lacking" in Java. PHP targetting Java bytecodes would be yet still another way to skin the cat. That being said, IBM would probably chip in to help Zend on that project. It probably would love nothing better than to see PHP running on top of WebSphere Express or Community Edition talking to Java apps.
This would be good news to people still using Java because it gives them some assurance that Java will exist longer than Sun. However, in most areas, the open source world has moved on to gcj and Mono, and it's not going to come back to Sun Java: Sun Java requires a massive investment of redesign and coding to bring it up to the level of Mono in terms of functionality. More likely, people would simply grab some bits and pieces of Sun Java to improve compatibility of gcj and ikvm.
.NET and Mono are now thriving.
However, that's presuming that Sun's license will be free of pitfalls, which seems unlikely given their history. Essentially the only licenses that are going to be workable are X11, BSD, LGPL, or the GPL, together with complete freedom to alter the language and platform and complete sublicensing of all necessary patents. And for the GPL, it's going to work only if it is crystal clear that people can run proprietary code on top of GPL'ed Java implementation.
And if it's any kind of dual license, then it would defeat the purpose: dual licensing means that a company intends to keep control of the platform and intends to poison the open source version of the platform somehow in order to maintain a revenue model for themselves. And it's Sun's incompetence at handling the Java platform that has caused it to fail in those areas where
Windows users load all of that regardless, where as they wouldn't otherwise load the JVM.
You may not realize, but "libraries are the new language". Seriousely, what good is a cool language if you have to reinvent the wheel everytime you want to have something like a report printer with print preview - a bit upset on python, with which I'm fighting right now to get something nice for a business app, I would really like something like jasper reports for python. Drawing on the DC with wx sucks for more then one form, and using reportlab to generate pdfs sucks as well. I've settled on doing a mono-platform hack, generating html with simpletal and calling its print preview dialog through ActiveX.
I'll do the stupid thing first and then you shy people follow...
s{Che(e)rs}{Am$1n};
I dont understand what do you mean by "Java" here but they are already providing JDK source: http://wwws.sun.com/software/communitysource/j2se/ java2/download.html
C is portable, fast, very complex and since 35+ years the leading standard for professional OS and APP development.
.NET??? ...amusing.
C is so successful that C++ had to be invented to get more people into OO style C programming. C++ was designed as an syntax aid for people who lacked the skill writing OO in C by disciplined use of structs and func pointers.
C is obviously too complex for the average CS student who crouch from one alternative to the next.
Java?
Anyone can write a JVM to spec.
Creating, testing and certifying the APIs is the biggie.
SLM
main() {1;}
Flame away if you will but every Java app I've used (on Windows) has been clunky, buggy, and hard to use. None of the standard keyboard shortcuts seem to work, the apps *always* seem to be sluggish, and to top it off, they look funny - they don't inherit any of the look and feel aspects of the desktop. Now some smart Java person will say all these problems are fixable but it seems to me that it takes more effort to put out a quality Java app then say, an MFC or other similar program. The lure of cross-platform portability is nice but not at the expense of usability.
I'll stick to C++ and code in native development environments thank you.
I do pretty agree about the fact that it's a bit late to do that, and I pretty feel Java would not live for a long time. By the way, that is just my very humble opinion. Nevertheless, open sourcing Java would be very nice and useful for the Linux and BSD communities since the World Wide Web still "requires" the Java Plug-in (please notice quotes) and OpenOffice.org does have full functionality only with the Big Official Proprietary JVM installed. Separately from the distro/OS you have and it's own powerful packages installation system. Having it freely available would make Open Source systems a step more powerful and a step less handicapped in the desktop environment.
Yep, it's about time!! They could make real money on support, and also will get a big help from opensource comunity. Oupensource rules. http://fun.ring.lt/funny_pictures/146.gif
convention over configuration is, imo, a much more important advance in the art than object-orientation was.
Convention over configuration is just another name for having sensible defaults, and nothing stops you from using that in Java. Indeed most Java frameworks have already added (or are working on) this.
Being bitter is drinking poison and hoping someone else will die
Mod up... but would have been funnier if you'd said "Java programs already take forever to run."
Great for you; I never got it to work properly (Ubuntu and SCIM/Anthy). I first had to add fonts to some java-specific list to get it to show CJK at all. When I run the app with Swedish locale it refuses to let me input Japanese (it does not listen to the SCIM server).
Janne, have you submitted a bug report for this? If you do, I'm willing to give it a try to get a bug fix submitted to java 1.6. No guarantees though, I'm only on the JCP so Sun might not even look at my suggested patch.
Hälsningar,
Lars
Being bitter is drinking poison and hoping someone else will die
The main argument for open-sourcing Java is that it'll be more likely to be used by open-source enthusiasts, and will therefore gain a greater number of developers. RMS's arguments are somewhat valid: if you use Java now, you're completely locked in to what Sun, a large corporation which puts profits and growth first, want to do with it.
Against:
The proliferation of different versions of Java. However, this isn't too bad a problem. Java derivatives are going to be of interests to minority users, and will seldom see the light of day on a producation system. After all, the amount of testing that goes into Java is immense. If you change it, you have to test it at least as well as Sun if you're going to be taken seriously, and that's no mean feat.
So long as Sun keeps control of the Java trademark and doesn't allow derivatives to pretend to be Sun's Java, there shouldn't be a problem.
Or so it seems to me...
Whether Java is open sourced or not is of no matter to me. What would concern me if Java were to be open sourced would be a potential splintering of the JRE remeniscent of the days when Microsoft had their broken implementation of the JVM. Open Sourcing Java could be a good thing, brining Java to platforms it had not previously been on, but only if there is a strong development leadership and there is NO forking of the source.
Fact: Java apps will ALWAYS use MUCH more memory than programs written in compiled code (whether it be C, C++, VB, Delphi, etc) due to the fact that it's interpretted (ie not byte code compiled). It has nothing to do with "class meta information," which can actually be higher in some other languages. Oh and the java reflection API is much more useful than for plugins (which you can easily do in C / C++ as well).
Even byte code compiled java (ie gcj) is much more memory hungry than a compiled C / C++ app, and it shouldn't be any surprise. The Java API is quite vast and interdependant, so even using small portions of it leaves a large footprint.
I don't see why it's a bad thing either. People who argue about one language over another just aren't knowledgeable enough. Each language is a tool, and is suited for particular tasks. Trying to use one language all the time is analogous to trying to use a hammer for all carpentry tasks. Java is a good language for certain things, not so good for others.
Sun license is quite good for corporate and personal use.
"pure OSS" are geek's toys, when we need to have the job done, we need to use a more professional alternative like RH or SUSE.
there are some points where the license can improve, but open sourcing it would be an error.
Opening the java source will give spammers access to the source code to the eval function. With it, spammers can make email address harvesters that can extract email addresses 'hidden' in javascript by running it through eval.
:P
Down goes a line of defence against email harvesting!
Even having your email address imbedded in an image won't stop 'manual spammers'!
You've been duly warned....
While i like utorrent and it replaced azureus for me, its not really compareable.
Azuerus caches non-completed blocks in memory, utorrent writes them straight to disk. As a result, utorrent creates tons of additional io-traffic (as to hash check pieces, it has to read them back from disk and save them again, ect).
Also, utorrent is _extremely_ lazy on hashing and file allocation, while azureus is still using some of the older, stricter guidlines, which help the responsibilty impression on utorrent.
Not saying that the additional memory/ect is worth it, but its certainly not all a result of java.
HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
Sun don't allow redistribution or bundling of java JREs except under certain specific conditions. This makes java as a language unattractive to many organisations when compared with .NET and can also hurt developers tendering for work.
.Net. For the company, this means a single set of negotiations, one licence to review (Team A's app licence) and only 2 support contact points (Microsoft and Team A).
Lets take a hypothetical new company. So far, all they've done is bought Windows and installed their workstation and server population. Now they need an application to do Foo.
Team A propose a solution based on
Team B propose a solution based on Java. Now the company would have to have their lawyers review 2 sets of licences as opposed to one (Team A and Sun), and their support contact points climbs to 3. It also increases overall administrative hassle, as Java has to be patched / updated outside of their OS / application lifecycle.
Team B automatically look less attractive to the company because their hidden costs are much higher. If Sun just allowed Team B to bundle the JRE with their application, this would go away. Of course, then the different problem of every application trying to install Java comes up, but that can be got around by providing a 'JRE bundled' and 'No JRE' version of the products.
If you think that companies won't bother to review Sun's licence before installing Java, you'd be wrong... I've consulted at 2 different places now where they had their lawyers review the GPL and Java's licence before allowing deployment of products licenced under those.
Janne, have you submitted a bug report for this? If you do, I'm willing to give it a try to get a bug fix submitted to java 1.6. No guarantees though, I'm only on the JCP so Sun might not even look at my suggested patch.
Frankly, no. I have no idea who's to blame - the Sun packaging, the version of SCIM, something in Ubuntu, or (most probably) all and none; just an unfortunate interaction between pieces of software never designed to be used together.
My interest in getting it to work was purely operational - I wanted to run a particular app with Japanese input. Once I realized things were not going to work with a lot of effort, I gave up and looked for a different (non-Java) app with the functionality I wanted. Had this been something I had to make work I would have dug deeper (and at least posted a few questions about it on appropriate mailing lists). But seeing as I had multiple options anyway it just didn't make sense to spend more time on it.
Trust the Computer. The Computer is your friend.
Why put PHP on a free JVM? PHP license is not free.
Currently the JVM development and release cycle seems pretty controlled. Every 16 months there is a major release with 1 or 2 updates between there. And the feature set placed into those releases is also controlled, not just "Lets see how much we can throw in." I'm worried that if the JVM is open sourced java would start acting like an "open source project" with a wide feature scope and numerous and quick releases that will make it difficult to keep customers up-to-date. I can certainly see advantages on both sides. I think the main thing is if Sun wants to continue to devote resources to it.
Yes, as charity for all the anti-nazi nazis with nothing better to do. More rules please.
Frankly, no. I have no idea who's to blame - the Sun packaging, the version of SCIM, something in Ubuntu, or (most probably) all and none; just an unfortunate interaction between pieces of software never designed to be used together.
:-)
Ok, I'll take a look at it anyway, even if it is of no further interest to you for any project. I'm a bit of a japanofile, and I like both Linux and Java, so that looks like a fun thing to do on a rainy evening.
Being bitter is drinking poison and hoping someone else will die
Seriously, though, there are other problem domains out there. A lot of them, in fact. And even in web development, depending on the complexity and context of the solution, might require vast amounts of code that never interact with a GUI of any kind. When you evaluate these languages and platforms in context's outside of web development, Java starts to look far more robust and flexible.
As another poster pointed out, where are the buffered readers for ruby/php? Sure File.open("name") might LOOK nice, but Java's addition of a buffer solves a common problem many programmers in the past needed to solve by hand. There are about a thousand of these examples where Java's framework is more complex than its ruby/php counterpart, but for good reason: it adds much needed functionality for the enterprise developer.
Taft
In order to be allowed to use the trademarked term "Open Source" however, whatever license they choose must (a) comply with the Open Source Definition, and (b) be approved by the Open Source Initiative.
Did you even read the pages you were linking to? The Open Source Initiative's own certification page, that you linked to, has this to say, right in the first paragraph: "the term 'open source' itself [...] can't be protected as a trademark".
I can call anything I like Open Source, and nobody can do a thing to stop me. The new Evil Proprietary License (a viral license that infects any software in the same room with a deadly curse that can only be lifted by the sacrifice of your firstborn) could be called Open Source. What it couldn't legally be called is OSI Certified(tm).
Maybe we'll finally see an AMD64 Java plugin for Firefox.
Oh, no! You have walked into the slavering fangs of a lurking grue!
Agreed. My housemate coined the term 'available source', which I think is a far better term for products where the source code is available, but that source comes with some restrictions (such as all patches/feature additions having to go through the copyright holder).
Methinks we should stop using 'open' and replace it with 'available' for some of these things?
The Right Reverend K. Reid Wightman,
(hypathetically) ok so they've open sourced java... ok... the releases still break compatibility, and may still be very well controlled by sun (i don't see Sun giving up release control of *their* java... though what you do w/ your copy of the source, whatever)... and really my few objections generally stem around the fact that i can't upgrade without breaking *something*... another annoyance is having auto update ENABLED by default... but i cannot seriously endorce a JVM which works now... but maybe not later if the developers change something (seemingly on a whim from this side of the fence)... i've sent comments/feedback to them about this before... I'll admit it's an unfortunate cycle, because I'll find other JVMs (the "banned" MS JVM included) as alternatives before i consider Sun... i'd rather find something out of date and unsupported, than deal w/ their incompatible crap.
.02
just my
Will ./ ever stop asking this question?
Excuse my speling.
Making The Bar Project
Except freedom.
I might be mistaken here, but isn't "open sourcing Java" meaningless?
Java is an open standard already.
What I believe is being discussed, is whether Sun should open source their Java Virtual Machine (JVM) - Sun's implementation of the Java standard.
Your definition of Open Source was too liberal to begin with. Even the Linux kernel is developed in the way you've just described.
A.: Who cares?
A2.: I hope not.
Honestly, there are plenty of great options for open source programming languages. And if Java stays closed-source, we'll see the development of more great stuff like Ruby on Rails.
blog |
why, oh, why java croaks on OutOfMemoryException when we have more than 8G of ram most of which is not being used
Because you are rank amateurs who are unable to read documents or use profiling tools such as jconsole or YourKit?
https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&co _partnerId=2
Much of it isn't in Java yet (after years of engineering and more years of marketing). Why not? Java not faster than a dll? Or Java just too dang expensive to implement?
The fact that Y! can pull slow scripts out and re-code them in C++ as mod_php extensions lets you focus your heavy coders where they are most needed.
I diagree. Java is far to bloated and complicated. I've been using it since it first came out and I balk at the vast array of libraries you need to use or choose between to get anything done. I feel really sorry for anyone coming to it for the first time.
So basically Java is the Linux of programming languages? You must really hate choice and having a large amount of problems already solved for you. Java is not for those with NIH syndrome.
#!/
One commentator said, "Sun should endorse PHP and go one step forward and make sure the 'P' languages run great on the JVM [Java virtual machine] by open-sourcing Java.
You are free to write a PHP Interpreter which is Open Source and runs on a JVM
I frankly don't know if it benefits me, or anyone, if Java is OSS. However it would be horrible if we face what we currently have with C++, litterally hundrets of compilers where everyone implements his favorite subset of the language definition.
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Would this move Java up the desirability scale in your eyes? Could this be a way to help improve what's lacking in Java?
Gee, I used to sit around and wait for Sun to make Java suck less. That was until Microsoft came from left field with C# and addressed every issue I had with Java.
(But seriously, guys, what's the problem with commercializing Python?)
You can blame it squarely on Ubuntu then, since the Fedora Core 5 install I did was completely stock. Select Japanese + English in the installer options, then run the one line link command to set .xinputd correctly as was described in the Release Notes (and this is optional: only needed if you want English as the default).
But the above steps are required to make multilinguals work in any app. Java plays along nicely otherwise. My guess is that your Ubuntu has some issues, not Java.
Servlet v2.4 container in a single 161KB jar file ? Try Winstone
If you read a bit further, you'll see that they registered and are protecting the capitalized "Open Source".
Rethinking email
I just realized that in my entire life I've never once knowingly avoided the plague.
I doubt you will see much uptake from a PHP running on the JVM. When you port a langauge to the JVM, you typically leave behind the C bound modules, because they just DON'T play well with the JVM (frequently non-thread safe, etc). For this reason languages that have nothing to offer but their c bound modules (Perl, PHP) don't fair well. Languages like Python and Ruby that have significant things to recommend them as languages do much better.
Write Once, Debug Everywhere.
The big problem with J2EE is lack of standardization. Which is ironic, since the Java proponents tell us that making Java open source would lead to fragmentation.
An EAR ought to be like a JAR: you ought to be able to deploy it and run it on any J2EE implementation with a single command, like you can run a JAR on any JVM with a single command. (Or by double-clicking it, on real OSs.)
Instead, every vendor has proprietary tools you need to use to produce a proprietary file or two inside the EAR. It's a mess.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
So basically Java is the Linux of programming languages?
You hit it precisely on the head. Linux and Java proponents tend to have a particular problem with being unsympathetic to n00bs (please note that I like Linux a lot, and dislike Java a lot...a result of my own experiences).
I've checked Java out a few times thinking I might want to add it to my repetoire, but I got irritated by how difficult it seemed to be to do things...or, more specifically, how hard it was to find out how to do things.
As happens in Linux circles sometimes, my basic questions were treated with RTFM and rudeness...well, more like elitism, I guess...it wasn't *quite* rude, if you know what I mean.
It's not even that I'm especially stupid, it's just that after years of thinking in C-64 BASIC, DOS batch syntax, GW-BASIC, VB, javascript, and Perl, I wasn't really primed for it. Not having anything beyond a "Do you have any Grey Poupon?" response didn't make me any more enamored of it, so it's not so much the licensing that needs help to me, but the community.
Maybe I just had a bad experience, but from my perspective, you're exactly right...Java is the Linux of programming languages.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
I'm sacrificing Mod Points to ask this question.
You start and end your comment by lambasting Java:
Yet the body of your comment contains nothing but the highest praise for Java: So why do you hate Java?Are you a Lisp/Smalltalk/Haskell/Erlang guy?
Or does it have something to do with your background in embedded devices?
Ohh, what's really going to bake your noodle later on is, will Java Source Open Sun ?
Interesting...I've had the opposite experience. I spent time in the MS camp where there are a wealth of 'VB for dummies" books but everything beyond that comes from Microsoft itself, and you better have a MSDN subscription. With Java it seems there are tons of free online resources for specific questions, and there are also some very good books like "Thinking in Java" (perhaps a bit dated now) that get the beginner to the point of understanding all the basics, without being condescending the way, for instance, MSDN so often is.
Then again, given the languages you list Java may not be useful for what you do. If it might be, though, I'd give it another try...
Premature optimization is the root of all evil
I diagree. Java is far to bloated and complicated. I've been using it since it first came out and I balk at the vast array of libraries you need to use or choose between to get anything done. I feel really sorry for anyone coming to it for the first time.
I really don't understand this. Having a rich and versatile range of libraries is a problem?
Personally I use Ruby (on Rails) these days for web development: convention over configuration is, imo, a much more important advance in the art than object-orientation was.
And Java has had this for years. I use JDO to persist my Java objects (it is a far more powerful and versatile system than Rails - much faster, and can persist to non-relational stores as well). How much configuration do I need in principle to describe my schema? Nothing but a list of classes. By default, the schema is created and mappings are automatically set up based on the field names of my classes. By default, no configuration needed.
How long has JDO had this? Since 2000!
Convention over configuration is nothing new.
I currently avoid Java like the plauge, my reasons are the same reasons that java isnt included in debian... http://www.debian.org/doc/manuals/debian-java-faq/ ch5.html#s-license-concerns if they address those license concers i would be much happier...
Debian is simply a platform for running software. It is just a part of your system. There is no reason why Java should not be another part. Is your BIOS from debian? How about the code embedded in your graphics card? Is your processor open source?
It is already being worked on, and you can download and try it out today (though it's not finished yet). It's called Quercus, from the guys who do the Resin open-source app server. (Which is a fabulous piece of work, I might add.) It compiles PHP to Java bytecode, which can then be JIT-compiled to native code.
As a Java programmer, please allow me to roll my eyes and groan.
Well-written perl - and no, that is not an oxymoron - I find is very much easier to read than many other programming languages, mostly because it is so easy to visually separate variables from other code. All that extra "line noise" stuff, when formatted correctly, provides extra contextual information that makes it very much easier to understand what the code _does_, rather than just what it _says_.
In the hands of a skilled coder, perl just rocks. I'd rather support good perl than any other language. The perl I've written for years now is optimised for LEGIBILITY and that stuff is just a dream to support.
To me, it seems tough to get that level of legibility out of a Bondage and Discipline language like Java. Yes, you curb a lot of the excesses of the inept, but at the cost of hobbling the expert. You can write Shakespere in perl, but not Java.
DG
Want to learn about race cars? Read my Book
------- .NET and Java, and it's because a there's a quality standard and completeness not found elsewhere."
"There's a reason why the top two server side platform these days are
-------
I think your view is somewhat incomplete.
Open source is gaining steam is not because of quality but because of freedom and fair competition. As long as a single company owns a platform, any work you do is subject to disappear into that single company's portfolio eventually. It breeds monopolies which kills innovation (i.e. look at Explorer the last five years.... nothing).
And not to knock Sun's quality but the reason why Java remotely competes against open source alternatives is because of big blues adaptation a few years back. Lou and Sam realized they had to do something to fight MS--- or they were going to be eaten alive. Why the hell else would IBM support another company so fiercely?
I just so happened to work for IBM during the time Java was being rolled out internally (and therefore to clients). Don't forget for years IBM controlled the corporate markets with uber-proprietary systems without any real competition. With the prestige of IBM, Java gained credibility that honestly it would not have otherwise. Unfortunately at the time open source alternatives weren't mature enough for enterprise grade apps but today this is no longer the case.
I don't program in Java anymore but I do bump into it once and awhile and it's still slow and clunky (of course this can't be helped somewhat for an interpreted and portable language) However why someone would leave one closed source proprietary platform for another eludes me. Why not just stay with MS then? At least it will be a hell of a lot faster and Visual Studio continues to be a far superior IDE to anything out there at the moment.
CONCLUSION:
Open sourcing Java may or may not help Sun's bottom line (depends what they do to make money afterwards). However it seems likely open sourced Java would likely eventually mean real competition for visual studio as the premier IDE. Eclipse (with the full weight of IBM behind it) would be become a real threat. With the fall of the IDE (which essentially means an adoption of framework) and faster CPUS that will make JVM lag less noticeable... Java will truly arrive.
Otherwise Sun... look out for PHP. IBM Alphaworks appears to be pressuring Sun with it because it's tired of waiting for Java. Granted the framework (especially GTK) still needs plenty of work but heck that's never stopped a platform from growing (ask MS about DOS). When version six of PHP comes out with integrated caching on the server it will basically be on performance par with Java... with no strings attached. At least on the server side what motivation should I use Java again? I should put all my code jellybeans in Sun's basket rather than MS?
I think not.
If Sun doesn't open source Java soon they most certainly face eventual decline since everyone will just continue to put more energy into open source languages until critical mass is reached and Java becomes the next COBOL (a language no one wants to use except in already embedded systems). I'd prefer a more mature platform to program in but that's entirely up to Sun. If they're smart about it.. they won't wait until it's as worthless as Solaris.
Yes I agree its really neat. Its the favorite language of the smartest programmer I know. This guy was a professor of languages before he went into the private sector; he is fluent in at least a dozen programming languages. O'Caml is his language of choice.
However, he told me that in 2001...
hi again! ;)
"Having a rich and versatile range of libraries is a problem?"
nope. the problem is when you have a poor enough language without support for high level constructs and has to do literally anything with libraries. it's just a lot more tiresome than builtin language support...
"Convention over configuration is nothing new."
yeah, shame it's not used more often in the java world rather than the XML craze...
I don't feel like it...
Just a random thought while I read your comment. As you say, Java never feels 'hacked together'. Lets look at dates. Originally there was the Date object, but as there is more than one calendar and date system in the world most of the Date functionality in Java was dropped in favour of GregorianCalendar. Suddenly date manipulation became a horrid mismash of creating the objects you needed to access the date manipulation methods required.
The same applies to Swing. In Delphi you could start a project, drop a few components on a form and hook them up with a few lines of code. With Java (NetBeans/JBuilder) just getting to the point of dropping something on a form required an in depth understanding of the Swing graphical layouts. It is perhaps another example of a very flexible system, but like the Date changes, it shows two underlying issue; being more generic (ie catering for a wider class of situations) was valued over being easier to use for the majority.
Sun engineers seem to have come up with systems which cater for complex situations, while developers trying to do real world apps are left writing huge swags of code to do reasonably simple things.
Another two examples. EJB. When I started a project about four years ago I had to make a choice; whether to use EJB as a persistence layer; which was viewed at the time as the 'correct' way, to manually code JDBC into data persistence objects, or to design my own persistence engine. Well, I decided to code my own persistence engine, and the design decisions meant it turned out pretty much like Hibernate looks today. Why does Hibernate exist? Because EJB was over engineered, too complex to use for the vast majority of projects.
Second example is Mail. I tried to use the Mail API that came with Java to send emails. Once again it seemed that it had been over engineered to such an extent that it was impossible to use. I resorted to a small open source class - a single class - that could do everything very simply. Perhaps the class wouldn't do everything the JavaMail API could, but it did everything I needed, and perhaps everything most other developers would need as well.
This is a common thread; over engineering everything to be generic while making life more difficult for the majority of coders. Luckily projects such as Hibernate, Struts, Tomcat and Velocity make development much easier for me day to day.
nope. the problem is when you have a poor enough language without support for high level constructs and has to do literally anything with libraries. it's just a lot more tiresome than builtin language support...
It isn't a poor language - it was carefully designed to take the best of C++ while cutting out things that demonstrably led to poor maintanability (such as operator overloading). New features like generics and annotations have been added, but they are added slowly to avoid the mess that other languages grew into.
But anyway, there is a very good reason for having things in libraries - it allows competing implementations to provide functionality. For example, you can have competing implementations of ORMs, remoting, etc.
An example of why this a good idea is to see what happens when it isn't done. An example of this is in the next version of C# and VB.NET, where object persistence is handled by language extensions (LINQ). The problems are that (1) everyone has to upgrade to the latest language version to use these features and (2) you only get the features in those languages.
The Java way is better. Very few of the libraries depend on precise versions (you can use the latest JDO 2.0 with Java from 5 years ago), and you can use all the libraries from languages other than Java: I even use JDO from Ruby (as JRuby), and you can use them from Groovy, BeanShell, or Python on the JVM.
yeah, shame it's not used more often in the java world rather than the XML craze...
I have never understood the objection to XML. Having a standard format for configuration that can be easily handled by tools and cleanly upgraded seems like an excellent idea.
Configuration by convention has its place, but sometimes having explicit statement of what is being done makes things clearer.
At the rate of technology change isn't Java just another 1990s invention?
I just started messing with twisted last weekend, and for my first learning project I wrote a server that worked not unlike BITNET Relay Chat (for those who don't remember those days, it was a precursor to IRC). It took about 20 minutes and the code fit on a single window length of emacs, most of which was the /command parser. It didn't have passwords or channels, but that would be all application code, and wouldn't take that much more. The network stuff was about 30 seconds and forget about it.
I'll never use socket() again. My next project is to integrate twisted and pygame into a basic multiplayer shoot 'em up space game, steadily working to my goal of a big multiplayer strategy game idea I have.
If Sun were to GPL Java, it would be unstoppable.
That sounds to me rather like saying "If Windows were GPLed it would be on every desktop".
In case you hadn't noticed, Java has done rather well without being GPLed.
Try javaranch.com for friendly help. I'm not sure where you were asking, but I've mostly found Java developers to be a friendly and helpful bunch.
In this world nothing is certain but death, taxes and flawed car analogies.
Which distro prevents its users from install non-OSS stuff?
"Thanks for all the money you paid to us. We've used it to buy off ISO among other things" -Microsoft
This means end users will use closed source software, and build momentum for it, which means more people assume everyone has it, which locks more people into it. This is something open source should slow down and reverse, not accelerate and spread.
// MD_Update(&m,buf,j);
You hit it precisely on the head. Linux and Java proponents tend to have a particular problem with being unsympathetic to n00bs
Unlike Linux, Java is very well documented, so having to interact with a community is not necessary to learn and use it (the language itself). There's plenty of books, as well as courses you can take (since it is so mainstream).
Once you start using 3rd party libraries and tools, then you might need to interact with the community. Just like any large online community dealing with tech, there's always a few assholes and elitists (it's people on the Internet, what do you expect?). If that's enough to push you away from a particular technology, you might as well give up on anything that requires interaction with people.
#!/
"it was carefully designed to take the best of C++"
;)
:)
like the barroque syntax or the performance?
"they are added slowly to avoid the mess that other languages grew into."
so, it'll slowly get messy?
yeah, even operator overloading eventually gets there. There already are several DSL features in the java world, like its many web "expression languages"...
"there is a very good reason for having things in libraries - it allows competing implementations to provide functionality."
that's no reason for making the language so bare...
"object persistence is handled by language extensions (LINQ). The problems are that (1) everyone has to upgrade to the latest language version to use these features and (2) you only get the features in those languages."
you don't mention the amazing language builtin benefits, like perfect integration with the language. LINQ expressions are expressions like any other. Far better than handling persistence by means of several sequential calls for methods with long names like its been done until now...
(1) - upgrading to the latest language version is no more difficult than installing a new library in java
(2) - it's actually just a syntatic extension handled by the parser. You can tweak current language parser to understand them and even get other language parsers to do the same.
"I have never understood the objection to XML."
well, java programmers used to its extreme verborragy actually think of XML as a pretty lightweight solution, comparetively. They'll really never "get it"...
"Having a standard format for configuration that can be easily handled by tools and cleanly upgraded seems like an excellent idea."
i wish it was as simple and straightforward as old fashioned key=value pairs... how much easily handled by both human and tools can it get?
"Configuration by convention has its place, but sometimes having explicit statement of what is being done makes things clearer."
that's "sometimes", not "every-friggin-time" like the java culture predicts...
I don't feel like it...
like the barroque syntax or the performance? ;)
.NET like that. Oh, and you will have to upgrade your .NET development anyway (more money for Microsoft).
Baroque syntax? It is the same as C++ - in fact a lot less baroque - none of the * or & nonsense.
And sorry, but I can't take anyone seriously who says anything poor about Java performance. That is an issue that was dealt with years ago.
yeah, even operator overloading eventually gets there. There already are several DSL features in the java world, like its many web "expression languages"...
But that is not the point - the point is to keep the base langauge clean.
you don't mention the amazing language builtin benefits, like perfect integration with the language. LINQ expressions are expressions like any other. Far better than handling persistence by means of several sequential calls for methods with long names like its been done until now...
I have already shown clearly how language builtins hinder things. Having query features in a language is an utter waste of time for serious work - what you need is an option for external queries in SQL (or some other query language) which can be optimised by people who know what they are doing. Java persistence mechanisms (JDO and EJB) allow this (of course).
Anyway, the majority of persistence in Java (and LINQ) is 'transparent' - objects are automatically retrieved as required and modified ones changed when transactions close. The amount of explicit querying should be minimal - which is why it is so dumb to have it as a language feature.
I can use JDO on the JVM in Python (Jython) right now. Unless I am very much mistaken, You won't be able to use LINQ in IronPython on
(1) - upgrading to the latest language version is no more difficult than installing a new library in java
(2) - it's actually just a syntatic extension handled by the parser. You can tweak current language parser to understand them and even get other language parsers to do the same.
Oh come on. This is just rubbish. Since when has upgrading an entire language been as simple as placing a library file on the path? You are really stretching a point here. You may want to mess about with language parsers, but I just want to open a library and use method calls. This will only take me a few seconds to do. How many seconds will it take you to 'tweak a language parser'!!
And, of course, you have completely neglected my point about being able to use things with old code. The new Java JDO can be used entirely transparently even with compiled old code from 10 years ago.
well, java programmers used to its extreme verborragy actually think of XML as a pretty lightweight solution, comparetively. They'll really never "get it"...
No - it is precisely the other way around - the objectors just don't "get" what XML is for or what it does: Not only does it allow any configuration to be validated, it also easily allows existing formats to be cleanly extended and transformed in standard ways, and it has standard mechanisms for embedding binary information and also can handle internationalisation.
The 'verbosity' argument is plain nonsense - any decent editor or IDE will not only auto-complete your XML for you, but will also understand the definitions and suggest tags for you.
i wish it was as simple and straightforward as old fashioned key=value pairs... how much easily handled by both human and tools can it get?
No - that is a messy way to handle things, and a totally inadequate way to handle substantial configuration. You may think having several hundred key-value pairs is a really neat way to handle setting things up - I think it is an unmanageable and unmaintainable mess.
I would love to see an example of someone trying to code up a tree structure in 'key-value pairs'!
that's "sometimes", not "every-friggin-time" like the java culture predicts
"a lot less baroque - none of the * or & nonsense."
:)
.NET like that. Oh, and you will have to upgrade your .NET development anyway (more money for Microsoft)."
.net fanboy and am just playing devil's advocate here, but i'd like to point out that .Net is a free download from M$. And you can always have the open-source mono or dotGNU. monoDevelop is shaping up like a cool VS replacement for people who absolutely need an IDE ( and sure complex and verbose techs like java and .net benefit a lot from semantic completion and module navigator )...
otoh, there's plenty of @ nonsense.
"can't take anyone seriously who says anything poor about Java performance."
ok, let me clarify: CPU performance got one better, memory usage grew up like craze -- specially with the 1000+ libs needed even for small projects -- and programmer performance went down a lot, drowned in endless abstraction layers, some dozens of APIs and a few IDEs open...
"the point is to keep the base langauge clean."
it's no that difficult when it's so featureless...
"I have already shown clearly how language builtins hinder things."
you have?! afaik, you've shown how such a featureless language is a great field for implementors of libraries to fill the void...
"Having query features in a language is an utter waste of time for serious work"
in an idealized world, object-relational mappings are perfect, generated queries are perfect and perform great and all that jazz. In the real world, serious work also means a few comprimises, including a few manual hacks so things work properly.
"what you need is an option for external queries in SQL (or some other query language) which can be optimised by people who know what they are doing."
why do they need to be external? why so much loose coupling, so many layers of abstraction? It's portable, modularized, loosely coupled, just like University teachers and academics in general like to tell. But all that at an incredibly brain twisting complexity and a huge framework of many different separate projects...
oh, yeah, i forgot: that's enterprise babe!
"You won't be able to use LINQ in IronPython on
i'm not a
"Since when has upgrading an entire language been as simple as placing a library file on the path?"
If its backwards compatible, why not? A library file may require new dependencies not found in your current install and even perhaps language features, in the case of java libs...
"You may want to mess about with language parsers,"
not me, per se, but any interested parties, like people with compilers targeting the CLR...
"I just want to open a library and use method calls."
yes, i know java programmers are very lazy to create theirs own...
"The new Java JDO can be used entirely transparently even with compiled old code from 10 years ago."
well, that's very cool, i admit.
"Not only does it allow any configuration to be validated, it also easily allows existing formats to be cleanly extended and transformed in standard ways, and it has standard mechanisms for embedding binary information and also can handle internationalisation."
wow, man! what a load of marketroid terminology and enterprise jargon! i'll take a week to completely undestand it...
"The 'verbosity' argument is plain nonsense - any decent editor or IDE will not only auto-complete your XML for you, but will also understand the definitions and suggest tags for you."
yes, i know. I've worked with Eclipse and its many views, you know? It's still annoying, regardless, and specially the Ant build.xml. Wow, they really were able to transform a simple Makefile into an incredibly dull and verbose pile of attribute=values inside tags! Tag soup for soup nazis!
Code completion will only get newbies nuts with so many different but similar options, while experient user
I don't feel like it...
The first time I decided to check into Java (at the time just at the hobbyist/experimenter level) was about 5 years ago. At the time, there wasn't a lot of online tutorial material that was answering the questions I was asking, and Java seemed unnecessarily complex, so I shrugged it off.
The next time I got interested was as a result of a little contest that Sun or IBM had...I don't remember...where you program these tanks in Java and then let them battle it out together. Again, I found not a lot of online material that was answering the questions I was asking (primarily questions of the "why doesn't what I'm trying to do work" variety).
In both cases it wasn't something I wanted to do badly enough to plunk down money for a book or some course, and in both cases, the community responses I got were of the "RTFM n00b" variety.
I've been on both sides of that equation before...I sat in on the Perl-beginners mailing list for a few years, first asking, and then answering questions. In my mind, when somebody comes to a place like that to ask a question, you answer it...even a trivial question may be something that not everybody knows, but most people won't ask for fear of looking stupid.
If I have to do something because of a genuine need, of course I'll buy the book or put in the sweat equity to get to where I need to be, but at the time that I cared about learning Java, that wasn't the case, and an attitude of elitism, whether real or percieved, was what made me say "never mind".
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
otoh, there's plenty of @ nonsense. :)
:)
:)
No there isn't this is only for one small feature (Annotations) of the latest Java.
ok, let me clarify: CPU performance got one better, memory usage grew up like craze -- specially with the 1000+ libs needed even for small projects -- and programmer performance went down a lot, drowned in endless abstraction layers, some dozens of APIs and a few IDEs open.
OK - I'll take the bait. Exactly which 1000+ libs do you need for small projects? Which abstraction layers?
in an idealized world, object-relational mappings are perfect, generated queries are perfect and perform great and all that jazz. In the real world, serious work also means a few comprimises, including a few manual hacks so things work properly.
Of course you can do manual hacks in JDO, EJB, Hibernate or whatever. But having a 'hack' built in to the language is no way to go.
why do they need to be external? why so much loose coupling, so many layers of abstraction? It's portable, modularized, loosely coupled, just like University teachers and academics in general like to tell. But all that at an incredibly brain twisting complexity anda huge framework of many different separate projects...
No. They neither need to be external, or have to be external. You don't have to have layers of abstraction if you don't want to. Things can be as simple as you like.
You really do have some weird 'straw man' image of how Java developers work, don't you?
"Not only does it allow any configuration to be validated, it also easily allows existing formats to be cleanly extended and transformed in standard ways, and it has standard mechanisms for embedding binary information and also can handle internationalisation."
wow man! what a load of marketroid terminology and enterprise jargon! i'll take a week to completely undestand it...
OK - let me explain slowly.
"Configuration validated" - your IDE can see where you have made mistakes without you having to run the thing and get a program crash.
"Existing formats to be extended" - You decide you have missed out a setting in your config file, or you want to combine someone elses config file with yours. You can fix this without causing your program to crash when it reads the new file.
"transformed in standard ways" - Someone else has a config file format. You need to transfer your format to theirs. You don't need to do this by hand.
"embedding binary information" - obvious, surely.
"internationalisation." - a real tricky one. This means you can put international characters in your XML file so you can easily specify different settings in alternate languages.
Slow enough for you?
why is someone putting a tree data structure inside a configuration file for starters
Oh come on - there are loads of reasons! One example is if you want a different maps of values: You might, for example, have a set of parameters that should be set to one set of words if the language is 'en', and another set of words if the language is 'fr'.
Hey - that combines both structure and internationalisation - isn't XML cool?
yes, i know. I've worked with Eclipse and its many views, you know?
Yes, I find Eclipse immensely annoying - I use NetBeans
It's still annoying, regardless, and specially the Ant build.xml. Wow, they really were able to transform a simple Makefile into an incredibly dull and verbose pile of attribute=values inside tags!
Well, having had 25 years experience of tracking down obscure Makefile errors, give me build.xml and its validated format any day.
Tag soup for soup nazis!
Godwins law - you lose
Code completion will only get newbies nuts with so many different but similar options, while experient users will write the most used tags and attributes so fast code-complete won't even come to
the power of Christ Compels you !!!!!! ....from ...open source ....
must... stop... Sun
"No there isn't this is only for one small feature (Annotations) of the latest Java."
;) EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!
:) EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY! EMPTY!EMPTY!
:)
:)"
:) EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY! EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!
:P
one small feature here, another over there and suddenly, whoops! my language is crap! that's how it works... EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!
"Exactly which 1000+ libs do you need for small projects?"
beyond the about 100 standard ones? ok, so i was a little over-the-top...
"having a 'hack' built in to the language is no way to go."
it's not a hack when builtin. EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY! EMPTY!EMPTY!
"You don't have to have layers of abstraction if you don't want to. Things can be as simple as you like."
this is not what java culture says. i guess you're in denial. If it doesn't use several Struts Action beans, form beans, some ant xml and struts-config.xml, it isn't really serious programming...
"You really do have some weird 'straw man' image of how Java developers work, don't you?"
i see them up close and menacing, dude.
"'Configuration validated' - your IDE can see where you have made mistakes without you having to run the thing and get a program crash."
what does this have to do with xml? a simple key=value pair listing should suffice for most tools. it's far easier to parse as well... EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!
"you want to combine someone elses config file with yours. You can fix this without causing your program to crash when it reads the new file."
why would my program crash if i just added some more keys to the repertoire? and keys it doesn't reconize are simply passed over with a warning to stderr... EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!
"Someone else has a config file format. You need to transfer your format to theirs."
is that like having a camel getting transformed into a lizard? ok, ok, so there are a few intersection between the two formats. Again, they'd be represented by similar keys.
"Slow enough for you?"
you sure noticed i was being sarcastic, right? EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EM PTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPT Y!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY!EMPTY! EMPTY!
"Hey - that combines both structure and internationalisation - isn't XML cool?
how about
fr_word1=oui
fr_word2=mademoseille
fr_word3=bonjour
and
en_word1=yes
en_word2=lady
en_word3=good morning
yay! key=val pairs are cool! and very easy to create parsers to.
BTW, i saw no "tree structure" whatsoever in your example. I guess there should be so few reasons to put one into a config file that you couldn't even figure out one...
"Yes, I find Eclipse immensely annoying - I use NetBeans"
I don't feel like it...
Exactly. That is what happened with C++, with Visual Basic, and is what is likely to happen with
this is not what java culture says. i guess you're in denial. If it doesn't use several Struts Action beans, form beans, some ant xml and struts-config.xml, it isn't really serious programming...
You haven't a clue have you? If you think Java web programming is just Struts! There is Tapestry, Seam (no config files!), RIFE, Wicket etc. Pick the way you want to work, and choose your framework. No XML if you don't want it; no action or form beans. Tapestry is used for some of the largest sites - that is serious programming.
yeah, here's a lesson for you about automatic validation, like compiler validation:
Some validation is better than none, especially when you are dealing with thousands of lines.
Validation is not proof of correctness.
Who said it was? But to say that no validation is better is idiotic.
"Even the Mono developers have said that it is not suitable for scalable high-end work."
a link would be nice. otherwise, i just don't believe it.
OK.
http://www.itwriting.com/monointerview.php
"What is clear is that Mono (as opposed to
is that like having a camel getting transformed into a lizard? ok, ok, so there are a few intersection between the two formats. Again, they'd be represented by similar keys.
you are missing the point - intersections will break things.
ah! is Java Data Objects those huge in-memory database of objects? hope not.
Of course not (unless you want to use a in-memory database). JDO is extremely efficient - I have run batch processes where a single transaction can handle hundreds of thousands of records, with mimimal memory use.
Anyway, Rails developers do everything as classes, rarely needing to tweak the SQL the framework generates for the classes..
Which is potentially disastrous. Code up pages and logic based on what you think is in those generated classes, then all someone has to do is change the database a little, and your code goes 'bang'. It is a really dumb way to work - great to get things going - but very bad for maintenance. There are far better ways to work - especially in Ruby, such as Og. Designing your data model purely as database tables is extremely old-fashioned.
"an API that lets you write a GUI that can display on HTML, WML, Flash, SVG, Swing, even VT100!"
is it like a XUL xml document describing a GUI and then translated for several GUI engines? it's a task that just depends on sheer brute force from a huge taskforce. Java has a huge army of developers and they'll create all kinds of works for their platform. no big deal, just brute force...
No, it is nothing like an XUL XML document describing a GUI. It is a component-based system into which you can plug different renderkits for whatever display you want to use, and you can dynamically switch use as the application is running.
It is ok - but if you want to continue, how about some actual debates about facts, and not about what you think Java is like (as against what it is like?). I can provide plenty of facts to back up my arguments.
So basically, random individuals on the Internet (who had no connection to Sun I assume) made you lose interest in a programming language. I can understand if the developers of a product are pricks and that turns you off of a product, but I'm sick of hearing "I don't use it because people told me 'RTFM' or 'Google'". That happens everywhere on the Internet. That's what anonymous/semi-anonymous non-face-to-face communication does to people. Get over it.
So I take it you don't use Linux either because some big, bad forum jerks told you "RTFM" too?
#!/
That's what I get for trying to offer a better explanation. I will refrain from writing "RRMFP" (reread my f-ing post) and try to address your response succinctly.
No, random individuals on the internet didn't make me lose interest in a programming language. They prevented me from becoming interested in bothering to expend any effort to learn it, however. I mentioned that at the time, I was just curious...not in any particular need of learning Java, and I asked what I thought would be an easily answered question and didn't get any useful responses. At a certain point, I shrugged it all off, and said, oh well, who cares, and went back to hacking some huge and ugly Perl script.
So I take it you don't use Linux either because some big, bad forum jerks told you "RTFM" too?
Here's where I considered saying RRMFP. If you scroll up, you'll note that I actually had a need to use Linux, and put in the time and effort necessary to make it work for me. I also already said (two or three times) that the "RTFM, n00b" attitude is prevalent in both Linux and Java groups all over the place, although there are exceptions. My comment was an agreement that the Java and Linux communities share this problem, which I then followed with a personal anecdote to illustrate that point.
I have nothing against people who enjoy programming in Java or any other programming language, I just have a certain distaste for the language itself because of my past experiences.
Here's an analogy for you...not a great one: Say you buy a car...a Kia, for example. You like the car, but have a few small problems with it, so you take it to a local dealership to have it looked at. They ask you to describe the problem, and when you explain to them that it's making a funny noise, they laugh at you and tell you diagnostics don't show that there's a problem and you must be imagining it.
After that happens a couple of times, you might get irritated. If you don't need to drive a Kia, you might even trade it in on a vehicle from a company that has been more considerate in response to your questions, and not really consider buying any Kia vehicles in the future.
You sound like you're upset that my opinion of whether it's worth my effort to learn Java isn't affirmative, which leads me to assume that you like programming in Java. By that same token, I'd assume that you want me to believe that it should be worth the effort. The problem being that you're displaying (to a much lesser degree) the same type of attitude that made me not want to bother in the first place.
Maybe one day, I'll be looking for a new programming language to learn again, and I'll bother with Java again. Maybe someone can even give a link to a Java beginners list that's actually easy on newcomers. Maybe Javascript and XMLHTTP will take over the world and it'll be a moot point.
"Murphy was an optimist" - O'Toole's commentary on Murphy's Law
But how many people tries to use two locales at once? I have no idea how it works, I run sv_SE.UTF-8 ;/
But how many people tries to use two locales at once?
It's not running two locales. I run one locale (sv_SE.UTF8), but want to write sometimes in English (which uses the same input method as Swedish), and sometimes in Japanese (which uses a different method).
You'd get the same kind of issue (though perhaps not this exact problem) whenever you want to use an input method different than the one that is default for your language. There's no shortage of European and US language students, for example, or bilingual people that want to write in a different language (and not infrequently mix languages in the same document). Many of the worlds largest languages use different input methods from indoeuropean (and different from each other). You want to write a proposal to a manufacturer in China? Or, you're customer contact for a Taiwanese company and need to answer an email from India in Sanskrit?
Locale, font set and input method have been (finally, painfully) separated for very good reason - remember the bad old days when it was the same, and you had to deal with codepages and other utterly painful hacks for this?
Trust the Computer. The Computer is your friend.