LWN: Comments on "Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek)" https://lwn.net/Articles/69885/ This is a special feed containing comments posted to the individual LWN article titled "Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek)". en-us Wed, 24 Sep 2025 00:10:38 +0000 Wed, 24 Sep 2025 00:10:38 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/71376/ https://lwn.net/Articles/71376/ hozelda I address points 1 and 3 with these links (the second can be reached via <br>the first link): <br>http://www-106.ibm.com/developerworks/library/j-jtp01274.html?ca=dnt-54 <br>http://www-106.ibm.com/developerworks/library/j-pj2ee10.html?ca=dnt-54 <br> <br> <br>1: Potential Myth: jvm uses too much memory.. java apps are memory <br>hogs! <br> <br>I think a reason the jvm may use up so much memory (and this is <br>probably tunable at startup time via the command line) is that the jvm does <br>its own garbage collection and the techniques require (I'm pretty sure) that <br>it ask for a large chunk of memory from the system at one time, then it <br>parcels this out as necessary. In effect, java apps on linux mean that both <br>glibc and rt.jar(?) manage system memory... besides the system itself of <br>course. Glibc just doesn't ask for as much at one time (I think) and may <br>share it amongst all apps linked to glibc (may not though). <br> <br>Maybe instead of one large chunk though, the jvm asks for exponentially <br>larger chunks as objects are created (java apps would be expected to go <br>through objects/heap space quicker than c++ or c apps, which have a <br>different programming paradigm and have free() or equiv.); Eventually, the <br>jvm may stop asking and garbage collect. Maybe this last part didn't <br>happen with a crashed app or bad jvm, but there is another possibility <br>which is addressed by (3:) comming up. <br> <br>Reference the first link above for some surprises about how future jvm's <br>from Sun and others may actually alloc/dealloc from the heap more <br>efficiently (faster) than the equiv by c libs (malloc et al). To use these <br>techniques efficiently, the jvm must handle memory in large parcels instead <br>of relying on many malloc calls (or equiv). <br> <br> <br>3: Potential Myth: JVM gc doesn't work. <br> <br>Read the first half of the second linked article above. Basically, it is more <br>than very probable that the problem wasn't/isn't with the jvm but with the <br>app programmers who created many objects without releasing the <br>references to these objects (or objects to objects to objects etc). This can <br>happen in C++ too and is refered to (in article at least) as &quot;unintentional <br>object retention&quot; and not the related but different &quot;memory leaks&quot; problem. <br>BTW, references are released usually just by going out of scope, but can <br>be released explicitly by &quot;objXXX=null;&quot; . <br> <br>Reading the bottom half gives one example of where very large objects (in <br>a possibly correctly written app) not explicitly made =null will slow app <br>down over time. Probably though this could have been avoided without <br>creating problems for the rest of the app if bigObject was local, but <br>bigObject is probably needed outside the test() method.. anyway, studying <br>these cases helps understand and prevent slowdowns and memory <br>problems in java apps. [follow the link: <br>http://www.javaspecialists.co.za/archive/Issue060.html to understand the <br>example better..] <br> <br>The article has a link at bottom <br>(http://www-106.ibm.com/developerworks/java/library/j-leaks/ ) that refers <br>to this same &quot;unintentional object retention&quot; problem by the phrase <br>&quot;memory leaks&quot;. In other words, 'memory leaks in java' are not the same <br>as the c/c++ case where an object is no longer referenceable but the <br>memory did not get released (i.e. there is no runtime gc support that <br>actually goes around testing to see what is referenceable and what is not.. <br>so c/c++ programs suffer from the two types of so-called memory leaks, <br>the one with unreferenceable unreclaimed memory and the one with <br>unintentionally (i.e. no longer used by app in any meaningful way) <br>referenced memory that should have been released). <br> <br> <br>These articles have reference links that are interesting. Also there are sites <br>and newsletters dedicated to java and java performance and java <br>whatever, which can be consulted when trouble arises or even as <br>preventive measures. <br> <br> <br>In general, because of numerous things going on behind the scenes in <br>jvm's (like array subscript checking), optimizing java apps can be a <br>challenge since lots of these things are not obvious and the jvm/rt source <br>code isn't available.. on the other hand, many things are managed <br>automatically and this makes programs (at least those that are object <br>based) stronger and easier to code and maintain. Learning to optimize <br>java apps means reading up on current practices but (as articles above <br>indicate) is becoming less and less necessary with each mew version of <br>jvm released. <br> <br>Other runtime environments also have support for gc, array bounds <br>checking, etc. These may be preferable to java or not depending on the <br>situation. <br> <br> <br>Also of relevance may be the following recent article: <br>http://linuxtoday.com/it_management/2004021600226OPSWDV . <br> <br> <br>UPDATE: the link: <br>http://www-106.ibm.com/developerworks/java/library/j-leaks/ actually <br>answers some of the 1: 3: issues more authoritatively than I just did. In <br>fact, when I finish reading that link I will probably go back and get rid of <br>all the &quot;I think&quot; written around here. Example: <br>&quot;Chances are that the garbage collector will not even be invoked before <br>the application closes, because the JVM will probably have plenty of <br>memory to create all of the objects needed by the program with leftover <br>memory to spare.&quot; <br>In other words, the jvm asks for a bunch of memory from the system that <br>the app may not use. <br> <br> <br>Disclaimer: I am only slowly figuring out what is the best tool for the job. I <br>am not a big java programmer (and don't work for Sun etc). <br> <br> Tue, 17 Feb 2004 02:45:02 +0000 Java, hip-hip hurray!!! https://lwn.net/Articles/71193/ https://lwn.net/Articles/71193/ ptr The JSDK as delivered by Sun has quite some problems, alright.<p>Not so bad (in my opinion)<p>- uses a lot of memory<br>- requires a long time to startup<p>Scary<p>- has occasional hickups when under _really_ high load (actually, I only had those problems with applications using full CPU for about half an hour, with a lot of object allocated and deallocated, but especially in such cases it's _very_ bad that it does such things)<br>- license issues, not totally free alternative<p>BUT<p>- with all their faults: The standard packages of java are a lot better than those of C++. The C++ libraries are a big heterogenous chunk of garbage (arrrg... just look at the interface of istream) I used to like the STL, but well, the resulting programs tend to take as much memory (for the code part mostly!) as java <br>- Java is a lot easier to debug (ever searched for :: in the type specification which spanned the whole screen? ever hunted a bug which triggered misbehavior at different places whether you used debug or non-debug libs?)<br>- especially for algorithmic code, Java is _not_ slow. If you are developing any complex data structure, just try out, how surprisingly well Java compares to C++ Sat, 14 Feb 2004 14:30:44 +0000 I hate Java too https://lwn.net/Articles/70907/ https://lwn.net/Articles/70907/ ncm This might be a good place to mention the "<a href="http://www.orkut.com/Community.aspx?cmm=4937">I hate Java</a>" group on Orkut.com. It's a safe place to rant without being contradicted by apologists, toadies, people worried about their unwise career choices, or even facts. Thu, 12 Feb 2004 15:45:28 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70904/ https://lwn.net/Articles/70904/ ohanssen A &quot;bad&quot; IDE like JBuilder or Visual studio can generate a lot of <br>frustration. My approach. An editor (like for instance Emacs), make and <br>Sun JDK. Eclipse is promising, however. <br> <br>The improvements to the Java language which is expected to come with 1.5 <br>are significant: Generics, etc. <br> <br> Thu, 12 Feb 2004 15:24:19 +0000 reviews of Eclipse? https://lwn.net/Articles/70889/ https://lwn.net/Articles/70889/ ohanssen I ask: Who (or what company) benefit from a division between Java and <br>Open Source communities? <br> <br>And when mentioning Eclipse, dont forget the Apache project. <br> Thu, 12 Feb 2004 14:47:22 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70829/ https://lwn.net/Articles/70829/ kunitz I can't resist to comment. <br> <br>First thing: Java is slow because linking and bytecode compiling is <br>done every time the JVM starts. With version 1.5 at least the core <br>libraries are &quot;precompiled&quot; in shared libs. Yes, it is true, Java <br>segfaults under heavy garbage collection load. There is some <br>progress however. <br> <br>However I still like the language, you can code clean and fast in it <br>and the library interfaces are reasonable. <br> <br>But there are a lot of obstacles for a free implementation of Java: <br> <br>1) Java is a trademark. <br> <br>It's a pity, that we have a programming language with a trademarked <br>name. So you can't write a Java compiler but you have to write a <br>compiler compatible with the Java(R) language (Java(R) and the <br>Java(R) logo are owned by Sun Microsystems.) <br> <br>2) There is no Java standard <br> <br>There is no consistent description of the Java language and <br>runtime system. It's quite not clear, what are the VM specific features <br>and what is the standard. That makes it very difficult to have an <br>user-acceptable open source implementation of Java. It's like the <br>Wine project, which has to reimplement the whole Windows system <br>including undocumented behaviour. It might be slow and the <br>products are expensive,but the ISO process results in quite <br>impressive and consistent documents, Sun doesn't have those for <br>Java. <br> <br>3) Available source has a restrictive license. <br> <br>Source code for java.* and javax.* classes is available in the J2SE <br>SDKs. But you can use it only for debugging purposes. The GNU <br>Classpath project recommends to remove the file with the zipped <br>source files and never to look at those source. The recommondation <br>is of course caused by the restrictive license conditions. <br> <br>4) Sun doesn't want a successful free implementation of Java. <br> <br>Maybe somebody should ask Jonathan Schwartz next time about it. <br>Sun regards Java as a proprietary technology which contributes to <br>little to the bottom line. They stopped the ISO standardization, they <br>are not contributing to Eclipse and they even &quot;leverage&quot; the brand <br>by renaming Linux in &quot;Java desktop system&quot;. (Never mind that Linux <br>is a stronger brand than Java, but it is unfortunately not owned by <br>Sun Microsystems.) <br> <br>5) Demand for free Java is low <br> <br>Most Java developers are happy to use Sun's Java VM with Linux. <br>This fact of course reduces the demand for a solid and reasonable <br>Java implementation for Linux. From the Linux companies only Red <br>hat supports the gcj project. IBM has it's own open source Research <br>VM, but it is obviously licensing Java from Sun for the Power CPUs. <br> <br>6) Sun lost the sense for revenue. <br> <br>If Sun would aggressively support a free software implementation of <br>Java, they could sell an &quot;enterprise&quot; VM implementation including <br>support. Currently they earn nothing with the runtime environment <br>because they have to keep and increase the developer base, which <br>would be a non-issue with a reasonable free software <br>implementation. <br> <br>This is all changeable, but it requires Sun managers to change the <br>perspective. But if this change happens, I'm quite sure, Sun will <br>shine again. <br> <br>Just my 2 Euro-Cents. Thu, 12 Feb 2004 11:41:00 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70508/ https://lwn.net/Articles/70508/ hozelda &quot;And I have a lot of problem with Java even for server projects...&quot; <br> <br>Just some comments on the above. <br> <br>This link, <br>http://www-106.ibm.com/developerworks/library/j-nioserver/?ca=dnt-55 , to <br>a recent article gives an idea of a class of problems that may exist in java <br>based servers created with pre-1.4 &quot;technology&quot; or simply, without the use <br>of NIO. <br> <br>Part of the conclusion from the article is that without the use of <br>nonblocking sockets (the only option with earlier versions of java), servers <br>were forced to create a new thread for each connection in order to provide <br>good throughput to clients (in parallel). The problem with this is that the <br>thread stayed around so long as the socket remained open (i.e. as long <br>as the session lasted). [I suppose the session state could be saved in <br>order to reduce threads but.. anyway the article discusses servlets not <br>ejb's.] <br> <br>With NIO, you have one thread which serves as the point of contact with <br>the underlying os/hardware, to and from which all network connections <br>pass. There is no need to have very numerous threads doing this job (in <br>the example, I think only one &quot;main&quot; thread handles this task.. didn't read <br>whole article carefully yet). The job is simple. This main thread keeps no <br>state of each connection, it simply receives and dispatches appropriately. <br>The overhead associated with a full thread context switch is certainly not <br>necessary (neither for program efficiency nor for ease of programming) <br>and is trully overhead saved. [The key is that there is no blocking on each <br>request by that main thread, so few threads (maybe just one) are needed <br>for the job of babysitting connections for traffic.] Where threading plays a <br>part is exactly were it should (and most probably where it would if the <br>server were coded in C on say &quot;unix&quot;). Threads are added based on the <br>active load at any given instance. Here &quot;active&quot; doesn't refer to an open <br>connection but to a connection either currently involved in an actual <br>transfer of http material or currently processing the work of such a request. <br>Compared to the total time that all connections remain opened, an active <br>event/connection lasts much less time and so can be handled efficiently <br>(without blocking) by a relatively smaller number of &quot;backend&quot; reusable <br>threads. <br> <br>[Once again: In the old system, a few number of threads would mean that <br>a few connections inactive would tie up those few threads in a wait state <br>while all other clients would not get a response.. thus, in practice, many, <br>and not just a few, threads would be used. Threading is not the most <br>expensive of things but there is apparently/potentially/probably some <br>added cost to having numerous threads (keep reading for examples). <br>Async io means that threading is not necessary as the mechanism of <br>waiting on input; the waiting or &quot;blocking&quot; doesn't happen, and it is instead <br>the responsibility of the application to return and query the socket again at <br>a later time, as frequently as necessary. This process of sending <br>&quot;messages&quot; and returning immediately (aio) without the need to save <br>thread state (as would most likely be the case in blocking io since all the <br>io won't be received (to unblock the caller/thread) before a new connection <br>needs to be handled) increases responsiveness to clients, especially <br>when the load is &quot;high&quot; and the main thread can serve several requests in <br>a row before a thread switch occurs (assuming threads don't each have <br>their unique processor -- a good assumption). For some cases, it is <br>preferable or irrelevent to just have the application (or sole thread) wait <br>without doing anything else, but clearly a server can't block on the socket <br>for a single connection &quot;as long as it takes&quot; since its whole job in life is to <br>service as many connections as possible with quick response time. Thus <br>to do a good job, the server spawns a new process, spawns a new <br>thread, or uses async io and puts just one thread to do the looping. The <br>latter is most likely the most efficient (eg, if one processor can be used <br>solely to handle aio then that processor's cache is consistently more up to <br>date.. a definite speed up.)] <br> <br>Java didn't gain anything that was not already an efficiency in numerous <br>operating systems/libraries. What it did gain was ..on the lead that C and <br>other languages/platforms had over java in this area (async io) because <br>java did not previously provide a way for applications to take advantage <br>of aio (this wouldn't be an implementation issue, as the semantics <br>associated with blocking io are not interchangeable with those of aio). I <br>am not saying that NIO solves all of Java's problems on the server side. I <br>am saying that Java continues to improve a lot in important ways, and that <br>complaints against it would not hold as much water on current <br>implementations of java-based software (if done properly) as they did at <br>the time the complaints were first uttered. <br> <br>Java is supposed to make life simpler for groups of programmers/ <br>organizations in a number of ways, and that it does in a lot of cases I <br>believe. I don't think, for example, that it is that different to get javascript to <br>be portable as it is to achieve portability using java applets. In either case, <br>you would probably be very surprised with the lack of results if proper <br>testing was not done. And perl and html do not replace javascript/java. <br> <br> Tue, 10 Feb 2004 22:17:17 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70461/ https://lwn.net/Articles/70461/ hozelda When a java applet doesn't work, it probably really doesn't work on just <br>about any browser or host which is a little incompatible. Html is different <br>because it attempts less as a standard (it is much more limited in scope) <br>and the way it is designed (declarative in nature) bad or nonstandard html <br>peppered throughout usually does not mean complete destruction of the <br>whole html &quot;program.&quot; That is obviously not the case with java/applets (a <br>comparison of java to javascript or perl would make a little more sense). <br> <br>I posted a reply below to a different poster that is relevant here, and I don't <br>want to repeat it. A main point was that Java tries to be a standard like C <br>but doesn't do as good a job. Perl and many other oss projects don't <br>attempt to be a standard, but that is irrelevant as they usually involve only <br>one code base (and which is open to peer review). <br> <br>I know that there is ambiguity and incomplete information on sun's site <br>which supposedly is the standard. This concerns principally the libraries <br>and there are a lot of them. This necessarily leads to cross-platform <br>inconsistencies which can certainly lead to a gray box [maybe that applet <br>was done using J++]. I for one had a recent applet gray-box until I <br>remembered to .setVisible(true) possibly even .setSize(..). On different <br>development environments or running platforms, even wether a container is <br>set to visible and then has a layout manager added w/ or w/o components <br>or vice-versa (i.e. setVisible afterwards) may make the difference on what, <br>if anything, is rendered. Consider further that different platforms may have <br>a different set of defaults so that a program/applet may only work properly <br>on a platform with a particular version of defaults. With the setVisible <br>example, it is certainly possibly that one jvm/lib flavor may automatically <br>render visible under some circumstances which would convince that app <br>makers that the program worked. A different jvm/lib/browser set may not <br>render anything or may fault elsewhere leading to the same effect (not <br>rendering). Some of these problems can involve bugs but many others <br>may signal problems in the so-called standard. Java is very very large in <br>scope, has changed quickly, and is relatively young. [not to mention that a <br>significant part of the perception is sometimes based on experiences with <br>older versions] <br> <br>AND the different versions of java are not compatible with each other. This <br>is very unfortunate but has been the tradeoff in trying to improve java <br>quickly. Unfortunately, it is not a good idea (yet and perhaps for some <br>time to come) to develop an app on one platform and expect it to work <br>well on other platforms without testing (despite the &quot;promise&quot;). &quot;Different <br>platforms&quot; refers to differences among the various software layers (in <br>addition to hardware differences), including different os versions/vendors, <br>jvm versions, jvm vendors, wm v/v, etc.. <br> <br>Additionally, java is not an oss project as much as it could be (and Sun's <br>intentions most likely were never to have that be strictly that case if at all). <br>Any comparison to php, perl, etc would be as much a comparison of <br>proprietary vs oss. Each has pro's and cons.. anyway, java development <br>should become more and more cooperatively oss based. <br> <br>On the enterprise end, java has made things much easier for many <br>programmers needing to deal with mixed environments while providing <br>security, transaction capabilities, etc.. (things that would otherwise be <br>ignored or lead much more to vendor lock-in). <br> <br>Probably the main reason java has as much of a bad rap as it does is <br>over-promising. Java is not VB on Windows as it is sometimes sold. Java <br>projects just need to factor in less assumptions (despite promises) and <br>treat java more like C++ on drugs (he he). <br> <br> Tue, 10 Feb 2004 18:52:18 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70450/ https://lwn.net/Articles/70450/ hozelda They say, &quot;the right tool for the job.&quot; This applies with java. Java has, <br>amongst other things, a security infrastructure that I don't think emacs has. <br> <br>My point isn't to state that JBuilder is a good product, but that you are not <br>comparing one Java implementation to another; you are comparing <br>apples to oranges. OK, you can make comparisons to prove some points <br>but you can't X out java on your 4 arguments. <br> <br>Numbers 3 and 4 are implementation problems and have more to do with <br>Borland, Sun, or anyone else as implementors of their products. Over time <br>these become non issues as many previous issues have so become <br>(especially with machines that get faster and faster and bugs that get <br>fixed). <br> <br>Numbers 1 and 2 are a combination of implementation &quot;problems&quot; and <br>Java spec requirements. <br> <br>It would be nice for the standard (which leaves to be desired at least in <br>some areas.. and especially if WORA is desired) to evolve to where more <br>flavors would be accepted.. so that for example, a Trusted Java <br>environment would come with little overhead by way of security checks (not <br>to downplay security but it isn't always needed in the same dosages -- <br>and notice I am using &quot;Trusted&quot; in the opposite sense as Microsoft's <br>similarly named endeavor -- to mean that trust is assumed on the network <br>or taken care of somehow without the need to involve the JVM/libraries. <br>Possibly though, the cure to some of that overhead is oss) .. in any case, <br>evolution and increased involvement in open source fashion will continue <br>to improve Java. <br> <br>I do think that the java language sometimes encourages inefficient <br>programming. <br> <br>The standard is also not defined well enough (in the area of the libraries: <br>java, javax) and I think this is a significant source of problems across <br>platforms.. but serves to sun's advantage if they can get their version to <br>dominate on the major platforms. Here, ISO standardization, while a <br>major drawback to the evolution speed of java (which is important), would <br>nevertheless help achieve better behavior across platforms and would <br>make it clearer who is to blame. [Sun's gain is that the blurry line between <br>standard and implementation (as currently defined) would be insignificant <br>if Sun's &quot;feature&quot; creature would become the de facto ....] <br> <br>If a comparison were made to Perl, I believe Perl's &quot;standard&quot; is the <br>source code itself and the experience and good sense of the current core <br>developers (so that they maintain or at least pin-point and document <br>issues with compatability), plus to a lesser extent the docs. Perl is an oss <br>project with no major forks. Java on the other hand involves many fork-ish <br>things based on a standard that is much more incomplete and ambiguous <br>than say the C ISO standard. You either get a solid standard, a unified <br>code base, or Java.. but then java evolves the fastest of the three (Perl, c, <br>java) and that is part of its value. <br> <br>The cure: consider what might be the best tool (consider ./configure-tarball <br>alternatives to solve cross-platform issues). Java has strengths and <br>should only get better in many of its weaker areas as it becomes more <br>oss based. <br> Tue, 10 Feb 2004 17:48:54 +0000 Java, hip-hip hurray!!! https://lwn.net/Articles/70043/ https://lwn.net/Articles/70043/ XERC Well, in IT, it's just what the managers find cool. If it's Java and if that's what they pay for, then the developers program Java, if it's Windows, then everybody is on Windows, etc. The real cool stuff is, what people do on their free time and what conserns Java, then one of my school mates said it very well:<p>&quot; After this fu__ing Java cource is over, I will never touch this awful thing again: it's so slow, it's big, it's fuzzy(can't compile it for a self-soldered platform).&quot;<p>By the way, I use C++ for all my hobby projects.<p> Sat, 07 Feb 2004 00:40:57 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70036/ https://lwn.net/Articles/70036/ khim <p>Ghm. I'm developing Java software and use quite a few Java-based tool at my work. Under Linux, of course. I <b>hate</b> Java.</p> <p>Why ? It's worse the Windows. It's that simple.<p> <ol> <li>Bloatware. Why I need 10 time more memory to open file in JBuiler then in emacs ? And I'm <b>not</b> talking about "startup memory" - obviously all this bells and whistles need some memory. I'm talking about 530Mb vs 52Mb when all project files are loaded.</li> <li>Slow. The same emacs can open session with all files in 10-15 sec on my system (and there are quite a few files). JBuilder needs 2-3 minutes to do the same.</li> <li>Non-working garbage collector. Usually programs use 10 time more memory then needed. When memory limit is reached I <b>do not</b> get slow down as I expect out of "normal" GC when it tries to find memory in jiffy - I usually get crash instead.</li> <li>Closed and buggy. I spend a <b>lot</b> of time trying to workaround <b>known</b> bugs in jvm, javac, etc. They <b>are</b> known, they <b>are</b> registered but I can not do <b>anything</b> to fix them. And that's not even counting cases where I can not understood - what goes on and can not trace it deep in source like I can with GTK+ or even GTK#.</li> </ol> <p>BTW I use emacs for comparision exactly since it <b>do</b> use garbage collection, it <b>do</b> use bytecode - but it does not become total hog like Java tools.</p> <p>And I have <b>a lot of</b> problem with Java even for server projects where <b>no</b> AWT, X and window managers are needed so do not talk about "KDE application with GNOME environment". I expect KDE application to work fine with GNOME btw - and while there are some glitches they <b>do</b> work on fixing them, not use it as excuse.</p> <p>And that's that. I do not know who is to blame but the end result is total disaster: bloated, slow, closed and buggy thing. Used by a lot of people since there are a lot of marketig hype around it. Exactly like Windows. Only worse. May be GCJ and eclipse will fix that, I do not know (Java as <b>language</b> is pretty decent especially with generics added). But so far it's disaster.</p> Fri, 06 Feb 2004 23:40:16 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/70016/ https://lwn.net/Articles/70016/ gsc I have not seen your Cannon application, but I have seen similar results. I'm unsure of the root causes, but I think Java doesn't always play well with all the different window managers out there. I don't know if this is a JVM issue (and there are different JVM's) or if it's more to do with the WM. <p>Although this must be irritating for you, I still feel Java is an excellent language. Do you expect applications compiled for KDE to be well behaved when you use Gnome? I think this is analogous to what you are experiencing.<p>As for the runtime cost, JDK 1.3 and later is very good. The first Java application I wrote (1997) was very slow and we ended up throwing it away.<br>Not a great start, but that seven years ago. I use it for nearly everything now, and I like it. Fri, 06 Feb 2004 21:13:38 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69985/ https://lwn.net/Articles/69985/ ballombe That answer translate to &quot;Java is the way to go&quot;. <br>Fine, it is the kind of answer I got in 1998. <br> <br>It is still not sufficient to convince me. <br> <br>About Java move since version 1.1, it look like subsequent versions <br>came with more and more free-software-hostile terms, and Java API above <br>1.1 is far from being well supported by free softwares. <br> Fri, 06 Feb 2004 16:59:40 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69988/ https://lwn.net/Articles/69988/ cpm Further, (I'd edit the other one if I could)<br>I am not natively hostile to java. I don't like the license, and think it is overly restrictive, and feel that the license is one of the things holding it back. That said, Folks who code in it, really seem to like it, I just wished<br>it worked! I have never seen anything that promised so much and delivered so little as java, except maybe CRM ;-). Fri, 06 Feb 2004 16:53:49 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69982/ https://lwn.net/Articles/69982/ cpm hey zakalwe;<p>Couple of things. I have been hoping for years that the &quot;java thing&quot; was just that. Me working with dated hardware, always behind the edge a jump or two software wise as well.<p>Just recently, the company I work for, purchased a &quot;complete document management system&quot; which incorporates a few technologies that use a Canon web interface that is a Java app.<p>Very recent.<p>On my machine, a linux box, fully patched and up-to-date on Mandrake 9.1, running J2SE 1.4.2, with and AMD 2800 and a gig of memory, I get a nice grey box that just sits there when I bring the Java app up. <p>With other boxes, of more or less 2003 vintage which do all other things quite well, I sometimes get a grey box, sometimes get the app interface, that &quot;just sits there&quot; after trying a few tasks, and has to be forced down.<br>If the box only has the default Win2K base java, it sort of works, <p>anyway, there are a few permutations, none of which are satisfactory.<br>And in the cases where a java app does work fine on say, my machine, that doesn't mean it will work fine on another. <p>This experience has been consistant for me since 1995. Slow, and unreliable. Perhaps in a fully homogenous environment, it will behave well if you have a lot of horsepower. But for us mortals, I don't know. I've just never seen it work well. And, I thought that the whole point, was to *not* be forced into a homogenous environment. <p>And I still don't like the license.<p>On the other hand, stuff spoked up with perl, php, tk/tcl, cgi, etcetera always seem to work, without regard to plaform, and perform reasonably. <br>And I like the licenses. Can't get &quot;real-time&quot; graphs that way, and a few other things, but at least you can get the work done. Fri, 06 Feb 2004 16:46:27 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69978/ https://lwn.net/Articles/69978/ rfunk What, has the Java license changed lately to be open-source? <br> <br>Or is there finally a free and *complete* version of the Java libraries, <br>so that kaffe and gcj are actually useful in the real world? Fri, 06 Feb 2004 16:02:11 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69975/ https://lwn.net/Articles/69975/ zakalwe Wow, I see somebody is still living in 1998, or just enjoy spreading the FUD around. <p>If it's the first, then you should know that Java has moved on a little from version 1.1.<p>If it's the second, well, then there is no point arguing with you, just like there isn't any point arguing with Microsoft about linux.<p> Fri, 06 Feb 2004 15:45:04 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69970/ https://lwn.net/Articles/69970/ cpm Well, <p>The one great reason I haven't spent much time with Java is that I don't see<br>any great reason to spend any time with it. <p>I don't like the license, <br>I *really* don't like the performance.<br>I *really* don't like the way it hangs,<br>and so on.<p>I don't see the point, never have.<p>I work in a world with various Microsoft platforms,<br>a couple of versions of MacOS, including X, <br>and a more than just a few Linii (linuxes?)<p><br>And have yet to see any java app that functions as advertised.<p>I for one, wish it would just go away. Fri, 06 Feb 2004 15:18:04 +0000 reviews of Eclipse? https://lwn.net/Articles/69921/ https://lwn.net/Articles/69921/ biehl Hi,<p>I'll have a go at your questions.<p>1) Not easy - the C/C++ editor and toolchain (CDT) http://www.eclipse.org/cdt/ is quite alpha-quality (my subjective feel)<p>2) Well, when the CDT matures - then this will in all likelyhood be a feature. The CDT is aiming for open integration of tools - and especially Redhat-hackers are pushing for autoconf/automake integration.<p>3) Yes - exactly as if you are used to the niceties of Xemacs.<p>4) As make is integrated it should be easy - you could also just run the script from a terminal or a button in eclipse and do a F5 (refresh).<br>- The eclipse way would be to write a small plugin for that - maybe then hook it to a key-combo (my colleagues tell me that it is very easy to implement)<p>5) GCJ is not integrated in Eclipse - i anticipate that when the CDT-builder infrastructure works, then someone will find out how to hook up the JAVA-editor to the make backend.<br> I dont know about the quality of GCJ compiled eclipse - but I'll be looking for it in Fedora core 2 ( http://fedora.redhat.com/participate/schedule/ )<p>6) Few - unless you are a JAVA-free software developer ( http://sourceforge.net/softwaremap/trove_list.php?form_cat=198 )<p>As I said Redhat seems to be pushing for integration of the usual FOSS tools and AFAIK have integrated some support for hacking GNOME libraries.<p>Hope this helps - all knowledge is from the CDT-dev mailinglist, which I read just out of curiosity.<p>-Anders Fri, 06 Feb 2004 10:03:45 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69915/ https://lwn.net/Articles/69915/ mcbridematt I personally use NetBeans myself and I think it's great - 95% of everything I've coded for Jazilla has been done in NetBeans.<p>The SPL itself is of course - a modified MPL 1.0. And, I, for one, absolutely hate the MPL/SPL. Sun probably chose it to satisfy their lawyers (AFAIK the MPL and the SPL have trademark restrictions inbuilt, along with the Apache License). Fri, 06 Feb 2004 06:31:49 +0000 Red Hat CTO: Can Eclipse End 'Java Apartheid'? (eWeek) https://lwn.net/Articles/69912/ https://lwn.net/Articles/69912/ bignose &gt; Tiemann also spoke of the divisiveness between the Java community and the<br>&gt; open-source community, claiming that to be one reason Sun Microsystems<br>&gt; Inc.'s NetBeans open-source development platform has not taken off and been<br>&gt; accepted<p>There's also the trivial fact that the NetBeans license, SPL, is incompatible with the majority of free software.<p>The crazy thing is that the NetBeans FAQ acknowledges the problems of license incompatibility:<p>&quot;Source Code (new files or modified files) contributed to the NetBeans repository must be contributed under the SPL. Why can't code be contributed under some other open source license?<br>It is highly desirable to have the entire NetBeans code base under a single license for simplicity and clarity of use. Separate licenses for contributions would require developers to track whatever specialized requirements flow from each license.&quot;<br>&lt;http://www.netbeans.org/kb/faqs/license.html#FAQ_2&gt;<p>Why they chose to release under a divisive, GPL-incompatible license in the first place is not explained.<br> Fri, 06 Feb 2004 03:41:35 +0000 reviews of Eclipse? https://lwn.net/Articles/69908/ https://lwn.net/Articles/69908/ stevenj We've been hearing a lot about Eclipse recently, but I found their website too buzzword-heavy to easily evaluate; it would be great if LWN could do a review of it. <p>In particular, if Tiemann is serious about using Eclipse to help bridge the gap between Java developers and the rest of the free-software/open-source community, I'd like to see a few questions answered, in no particular order: <ul> <li>Suppose I currently use make/automake, Emacs, gdb/ddd, etcetera for my project (say in C/C++ with various directories of source files, maybe for GNOME or KDE if it has a GUI). How easy is it to switch to Eclipse, and how would I benefit? <ul> <li>(No, "integration" is not a benefit in itself; be more concrete.) </ul> <p><li>Free-software developers aren't like commercial developers: they distribute <i>source</i>, not just binaries. If I develop my program in Eclipse, how easy is it to distribute an <a href="http://sources.redhat.com/autobook/">autoconf'ed</a> tarball that users can simply <code>./configure &amp;&amp; make &amp;&amp; make install</code> on any GNU/Linux (and most Unix-like) systems? <ul> <li>No, we don't want no stinkin' byte-codes. </ul> <p><li>If I'm using Eclipse, can I still work mainly from the command-line if I want? (e.g. from remote login) <p><li>What if I currently generate part of my sources with the help of Perl scripts, etcetera. This is easy with <code>make</code>; how about with Eclipse? <p><li>What is the status of using Eclipse with a completely free/open-source toolchain, e.g. gcc/gcj/classpath from top to bottom? <a href="http://klomp.org/mark/gij_eclipse/">Last I heard</a>, Eclipse compiled with gcj was still alpha or pre-alpha quality, and that doesn't address the question of how easy it is to use gcc/gcj <i>from</i> Eclipse. <p><li>I gather that Eclipse by itself doesn't actually <i>do</i> much&mdash;it's just a "platform" for building IDE's. What are the current best-of-breed plugins to satisfy all the needs of the typical free-software developer? </ul> <p>Anyone else have any questions they'd like to ask? Is there a document somewhere I've missed that explains all this? Fri, 06 Feb 2004 02:19:05 +0000