LWN: Comments on "Google bails out of JavaOne" https://lwn.net/Articles/402540/ This is a special feed containing comments posted to the individual LWN article titled "Google bails out of JavaOne". en-us Mon, 22 Sep 2025 07:05:36 +0000 Mon, 22 Sep 2025 07:05:36 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net Well, if you are so sure it's not just enterprise then it's easy to prove, right https://lwn.net/Articles/404211/ https://lwn.net/Articles/404211/ wookey <div class="FormattedComment"> lenov, it sounds like maybe you are a FOSS person and a java person, but really Khim is quite right that for a long time the two groups were largely separated by the Java licence. I know I spent years not using it because I couldn't, even though this was quite inconvenient (one very interesting/relevant app was written in Java).<br> <p> Open JDK has enormously improved the situation, (so I have now packaged and used the app in question, and in fact it now also works with the gcj stuff too).<br> <p> But railing at Khim because you don't like what he is saying doesn't really help your case. Java is still peripheral in Free Software, although apparently it is popular in science. I have seen it in a couple of control apps (DIYzoning, Mango - which were great but I entirely failed to get to build and run on ARM last time I tried, so I went elsewhere)<br> <p> I guess you are right that a lot of 'special purpose' software is written in Java, but very little core stuff. Most of those things are 'niches', but it's true that if you add all the niches together (biology, physics, building design, cave surveying, etc, etc) the total perhaps cannot really be described as 'niche' overall. I don't know how to do that calculation - there is so much software in the world now I'm not sure anyone is counting it anymore :-). From where I'm standing more and more of it is being done in Python instead these days, but I can only see into a few niches.<br> </div> Thu, 09 Sep 2010 12:25:11 +0000 Wow... Interesting news... https://lwn.net/Articles/403989/ https://lwn.net/Articles/403989/ mishad <div class="FormattedComment"> 4. iPhone owners being predominantly consumers with demonstrated disposable cash, rather than the more enterprise-biased owners of typical Symbian phones. Sell to the market with money to burn...<br> </div> Wed, 08 Sep 2010 11:52:57 +0000 See them at Apachecon? https://lwn.net/Articles/403910/ https://lwn.net/Articles/403910/ mishad <div class="FormattedComment"> I believe the reasoning is that, since 'pure software' is not patentable even in the US, software patents are described as running on a physical machine. This allows the patent to meet the 'physical tranformation' test for subject matter eligibility. But it also makes the 'execution on a computer and essential element of the claims, which means that non-executable versions of the software - e.g. C code - do not read on those claims so cannot be infringing.<br> <p> I have no idea whether code in scripting/interpreted languages can use this get-out clause.<br> <p> In any case, its extremely likely that, in the course of developing the software, the developer will have compiled and run it at least once, so I'm not sure how much practical defence this would provide.<br> <p> IANAL etc etc.<br> <p> M<br> </div> Tue, 07 Sep 2010 22:54:09 +0000 Wow... Interesting news... https://lwn.net/Articles/403419/ https://lwn.net/Articles/403419/ juanjux <div class="FormattedComment"> Two more languages I would consider:<br> <p> 1. Python with the Unladen Swallow JIT (already being used by Google on Youtube). Pro: lots of programmers, a lot more productive than Java. Cons: memory usage. Speed? (I dont know how un.sw. compares to Dalvnik) <br> <p> 2. D 2.0: Pros: Fast, practical, powerful syntax and very nice productivity. Cons: not many programmers or libraries. <br> </div> Thu, 02 Sep 2010 23:33:31 +0000 Liking Java https://lwn.net/Articles/403418/ https://lwn.net/Articles/403418/ Kamilion <div class="FormattedComment"> Ah, that article pretty much summed up everything I dislike about Java.<br> Thanks for the link!<br> </div> Thu, 02 Sep 2010 23:20:08 +0000 Google bails out of JavaOne https://lwn.net/Articles/403226/ https://lwn.net/Articles/403226/ daniel <div class="FormattedComment"> And no garbage collection. Still, I prefer to write in C++ over Java, I put in a little more work and the result is (usually) not a sluggish memory pig.<br> </div> Wed, 01 Sep 2010 22:57:20 +0000 Wow... Interesting news... https://lwn.net/Articles/403096/ https://lwn.net/Articles/403096/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt;Like the iPhone? Having an exotic variant of C++ and being proprietary doesn't seem to have hurt there...not to say developing for Symbian isn't a pain, but those aren't reasons.</font><br> <p> Ahh, there are several differences:<br> 1) Apple zombies.<br> 2) Symbian C++ is much much much less nicer than Objective-C/C++.<br> 3) Apple zombies.<br> </div> Wed, 01 Sep 2010 02:43:05 +0000 Google bails out of JavaOne https://lwn.net/Articles/403094/ https://lwn.net/Articles/403094/ Cyberax <div class="FormattedComment"> "I'll admit that I've kept Java at arm's length for a while, but upon firing up NetBeans to enhance something recently, I was quite shocked to see how the core Java APIs are still a complete mess, even now, despite lots of opportunities to clean them up via the Java Community Process."<br> <p> Ah, you're using NetBeans. That explains it...<br> </div> Wed, 01 Sep 2010 02:33:56 +0000 Wow... Interesting news... https://lwn.net/Articles/403088/ https://lwn.net/Articles/403088/ foom <div class="FormattedComment"> <font class="QuotedText">&gt; Developing for Symbian IS a pain, largely because it started out as a proprietary system (using an exotic variant of c++); only recently has Symbian become open source,</font><br> <p> Like the iPhone? Having an exotic variant of C++ and being proprietary doesn't seem to have hurt there...not to say developing for Symbian isn't a pain, but those aren't reasons.<br> <p> <font class="QuotedText">&gt; and it is definitely not used for "smart phones".</font><br> <p> Reeaally? What do you call the N95, etc? Nokia certainly markets them as smart phones.<br> <p> <font class="QuotedText">&gt; Nokia's smart phone OS was Maemo, and will be Meego.</font><br> <p> Maemo was an experiment on some internet tablets, for a long time. Yes, they've *now* (late last year) announced they're going to use Maemo/Meego on future smartphones...but to say that Symbian was never designed to be a smartphone OS seems a statement lacking in history.<br> <p> <font class="QuotedText">&gt; The US has a unique cell phone system that pretty much rules out Nokia phones</font><br> <p> Er, *WHAT*? Nokia was a huge player in the US cell phone market for a long time. Basically until smartphones became popular... They probably still have a large slice of the cheap phone segment of the market.<br> </div> Wed, 01 Sep 2010 01:53:29 +0000 Wow... Interesting news... https://lwn.net/Articles/403078/ https://lwn.net/Articles/403078/ klbrun <div class="FormattedComment"> Developing for Symbian IS a pain, largely because it started out as a proprietary system (using an exotic variant of c++); only recently has Symbian become open source, and it is definitely not used for "smart phones". Nokia's smart phone OS was Maemo, and will be Meego.<br> <p> The US has a unique cell phone system that pretty much rules out Nokia phones. For a while it looked like WiMax would compensate. There are good reasons why Google decided to accomodate the carriers when it introduced Android. <br> </div> Wed, 01 Sep 2010 01:06:20 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/403009/ https://lwn.net/Articles/403009/ dskoll <p>Yeah, OK. You've got me. :) The security problem is an important one. Tue, 31 Aug 2010 18:08:37 +0000 Google bails out of JavaOne https://lwn.net/Articles/402986/ https://lwn.net/Articles/402986/ pboddie <blockquote>Maybe we have something here. When did-you stop using Java?</blockquote> <p>Is this the leading question where in response to my answer you exclaim, "Ah! You're completely out of touch!" I haven't been involved in developing entire systems in Java for a few years - I guess Java 1.6 may have been round the corner but not in production - but I am currently exposed to systems written in Java as a developer.</p> <blockquote>I am ready to agree that anything until and including Java 1.2 was very slow, clunky and hardly usable.</blockquote> <p>I'll admit that I've kept Java at arm's length for a while, but upon firing up NetBeans to enhance something recently, I was quite shocked to see how the core Java APIs are still a complete mess, even now, despite lots of opportunities to clean them up via the Java Community Process. What's also shocking (although hardly "news") is how many things which were new in the anticipated Java 1.2 (or "Java 2" if you're in marketing) are mostly documented by the screams of those waiting for bugs to be fixed or even any sign of improvement, most notably in the Swing stuff. I ended up reading a lot of bug reports, which is something no IDE will help you with.</p> <p>I wouldn't recommend a Python 3 strategy for Java, but there's the lingering impression of "Something must be done!" and nothing actually being done. Whether you like the language or not, the initial deluge of opportunities and "stuff you can suddenly do more easily", mostly attached to the core APIs but also to things like the concurrency features, has given way to a increasing mass of legacy (that is, stuff the designers now regret) and overdue functionality that isn't as convincing despite the considerable performance improvements delivered over the years.</p> <p>I'll disagree with you about Java before 1.2: although certain things were less powerful than competing solutions, it had a certain elegance if you were coming from a systems programming language, and it certainly had its appropriate uses as well as its inappropriate ones.</p> Tue, 31 Aug 2010 17:31:32 +0000 Well, if you are so sure it's not just enterprise then it's easy to prove, right https://lwn.net/Articles/402984/ https://lwn.net/Articles/402984/ Trelane <blockquote>Java is too heavy for most users. Where you have power to spare it's not as important - and there Java is popular. But these are small niches: Enterprise, HPC, may be some science</blockquote> <p>In my experience, very little actual HPC is done with Java. Generally, it's C, C++, and FORTRAN, assisted by OpenMP, MPI, various linear algebra packages, and CUDA.</p> <p>That said, I'm not at all opposed to it in some places, e.g. cross-platform GUI to do scientific visualization. It's also used in some monitoring applications, iirc. Generally, in HPC, you're trying to squeeze performance from every cycle you can; you don't want to waste it if you possibly can avoid it. HPC doesn't have the luxury of throwing away CPU as you indicate, because that would raise the power and cooling requirements which are already stretched, and decrease the FLOPS. I've seen it shown that Java floating-point isn't any slower than C or C++ floating-point (likely true depending on compiler choice and flags; you can get pretty big changes depending on your compiler and flags) but to my knowledge it's never really caught on so it keeps on not catching on (rather like FORTRAN 90 or 95 not catching on despite how hard FORTRAN 77 sucks). Also, the (in?)availability of mathematical packages (they're there, but relatively unknown and untested and thus untrusted) for it also hampers.</p> <p> It could also be bigger in areas I don't have experience in (I'm a physicist, although my HPC experience comes primarily through workshops at our university's supercomputing center (which isn't a small one), so not specifically physics. I've not attended e.g. the Supercomputing Conferences, though, so it's possible I've just not been exposed to a wide enough HPC setting.</p> Tue, 31 Aug 2010 16:55:04 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402982/ https://lwn.net/Articles/402982/ bronson <div class="FormattedComment"> I think it's almost completely due to security. C/C++ apps can be nightmarish to get right. Buffer overflow exploits are still being found daily. Anyone who says that's not a problem in our era of strong memory protection isn't considering our era of dbus, bluetooth, pulseaudio, etc daemons.<br> <p> Java is a pretty bad language (just my experience) but I'll say this: its approach to pointers means *way* less presence on CVE. And that alone is reason enough to choose it over C/C++.<br> </div> Tue, 31 Aug 2010 16:48:13 +0000 Google bails out of JavaOne https://lwn.net/Articles/402980/ https://lwn.net/Articles/402980/ lenov <div class="FormattedComment"> "I started using Java in 1995 and it paid my wages for quite some time"<br> <p> Ah ... Maybe we have something here. When did-you stop using Java? Java in 1995 was ... a project. I am ready to agree that anything until and including Java 1.2 was very slow, clunky and hardly usable. <br> </div> Tue, 31 Aug 2010 16:38:52 +0000 Google bails out of JavaOne https://lwn.net/Articles/402978/ https://lwn.net/Articles/402978/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt;Nope, you're not sure that you don't use inheritance or interfaces? Well, you might not define inheritance or interfaces in your own code, but it's all going on in the rest of the system.</font><br> <p> I do not _overuse_ them. They certainly are necessary. However, they certainly are NOT necessary everywhere a simple specific class can be used.<br> </div> Tue, 31 Aug 2010 16:38:45 +0000 Well, if you are so sure it's not just enterprise then it's easy to prove, right https://lwn.net/Articles/402964/ https://lwn.net/Articles/402964/ lenov <div class="FormattedComment"> " Who am-I then?<br> <p> Opportunist, I presume."<br> <p> Is insulting people your only way of interaction, or is-this just on LWN?<br> <p> "Well, Java people tried to coopt FOSS people for years"<br> <p> What? What do-you mean by "Java people"? What is a Java person? I started my programming life with Pascal, then moved to Labview, then C, then Perl and now I am hardly coding anymore but the people I supervise are using Python and Java (and I do not mention LaTeX and other FOSS efforts outside strictly programming languages). Who do-you think you are to categorize people like that? I am not talking about the current thread here. Seriously, you must think a bit about the way you view the world and treat people. <br> <p> "Well, that's what amazes me the most in Java people: they produce lots of free code, they try to play friends with FOSS community,"<br> <p> Here we go again. "Java People" "play friends with FOSS community". WTF??!!! Except if you are RMS, I probably produced FOSS while you did not even know how to program. Play friends with FOSS community!!! To me!!! Who introduced FOSS in about every place I went because they never heard of it. Jeez you have a very very high opinion of yourself don't you?<br> <p> "and because of "original sin" FOSS community will perceive Java people as outsiders for a long, long, long time. C/C++ people are different: while it's true that many of them started with proprietary compilers and proprietary tools they embraced free replacement (GCC) wholeheartedly - but Java people never actually accepted free Java"<br> <p> OK, sorry, forget about all the above. Clearly you are either a complete lunatic, or you are 12 years old.<br> <p> Sorry but you do not know what you are talking about.<br> <p> "I hear this from Java people a lot. But somehow proof never materializes. If Java is "everywhere" then it should be easy to point on the concrete examples, right. Where are they? "<br> <p> OK, first of all, if you write "Java people" one more time, I ask LWN to help find you and I sue you for racial discrimination. Second, here are *a few* examples (listen script kiddie, you have to realize that I spend a huge amount of money just spending time to reply to you, so please, stop being an absolute idiot and listen OK? You did not listen to mommy, you did not listen to daddy, you did not listen to your teachers, for ONCE IN YOUR LIFE stop thinking you are smarter than the entire world. This IS NOT TRUE. Hard to accept, but once you do, you will realize that your relationship with your fellow human beings improve a lot)<br> <p> The most used alternative to MS office<br> <a href="http://www.openoffice.org/">http://www.openoffice.org/</a><br> <p> The most used software in functional network biology<br> <a href="http://www.cytoscape.org/">http://www.cytoscape.org/</a><br> <p> The most used software in system biology<br> <a href="http://www.celldesigner.org/">http://www.celldesigner.org/</a><br> <p> A *few* others (a few among hundreds, but the purpose is just an illustration OK? )<br> <a href="http://www.biouml.org/">http://www.biouml.org/</a><br> <a href="http://www.biotapestry.org/">http://www.biotapestry.org/</a><br> <a href="http://www.pathwayeditor.org/">http://www.pathwayeditor.org/</a><br> <a href="http://www.async.ece.utah.edu/iBioSim/">http://www.async.ece.utah.edu/iBioSim/</a><br> <a href="http://physiome.org/jsim/">http://physiome.org/jsim/</a><br> <a href="http://www.ebi.ac.uk/compneur-srv/SBMLeditor.html">http://www.ebi.ac.uk/compneur-srv/SBMLeditor.html</a><br> <a href="http://smartcell.crg.es/">http://smartcell.crg.es/</a><br> <a href="http://vanted.ipk-gatersleben.de">http://vanted.ipk-gatersleben.de</a><br> <p> That is only one subfield of life sciences. Now I got bored. I let you explore the other fields of life sciences, and the other type of sciences (use Google :-) ) You will discover several thousands end-user applications written in Java, used by several hundreds thousands users. I will not venture millions, because I do not know. <br> <p> "But these are small niches: Enterprise, HPC, may be some science. Where price of computer is not important because it's attached to some uber-expensive piece. But where people actually care about efficiency... Java is quite scarce."<br> <p> Ah ah ah. So, people in science and HPC do not care about efficiency right? Do-you just read what you write?<br> <p> And Enterprise, HPC and science are "small" niches. OK, fine, let us in our niches. Jeez. <br> <p> <p> <p> <p> <p> </div> Tue, 31 Aug 2010 16:33:46 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402957/ https://lwn.net/Articles/402957/ Tobu <p>Mozilla has a garbage collector on the javascript side (javascript being the bulk of the firefox codebase), refcounting on the XPCOM side, and a cycle collector that glues them together. They would very much like to change to a single GC accross the board. </p> <p>With many applications becoming mixed-languages (which is how gnome is evolving, look at gnome-shell for a radical example), garbage collection should become more prominent as a sensible way to free up cross-language reference cycles. </p> Tue, 31 Aug 2010 15:46:21 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402959/ https://lwn.net/Articles/402959/ dskoll <p><i>Yes, well, let's say that Java gives you a stack trace, and C gives you a segmentation violation message and maybe a stack trace if you are lucky, but the stack trace mostly consists of memory addresses due to missing symbols. The practice of stripping C programs should really be ended.</i> <p>That's really no big deal. All you need to do is keep an unstripped version of the program around on your development machine, and then use that to interpret the stack trace. I remain unconvinced that Java offers advantages over C or C++ for mobile development. <p><i>Isn't Mozilla famous for its memory leaks, anyway?</i> <p>Yes, sure. But X (as in the X server) is not, nor are most GNOME, KDE and Xfce programs. You just need to be careful. Tue, 31 Aug 2010 15:45:25 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402948/ https://lwn.net/Articles/402948/ alankila <div class="FormattedComment"> <font class="QuotedText">&gt; you lose much of the supposed memory savings.</font><br> <p> True. I don't think the code size is very interesting anyway, because the code size will probably be small compared to the data on the program, and the representation of the data files in memory.<br> <p> <font class="QuotedText">&gt; large apps in the desktop world that get by just fine without GC</font><br> <p> Yeah. Well, they have refcounting schemes or something to replace GC, if not a real GC. In practice large applications create objects and place them in various datastructures or share these objects between other objects, and therefore need a general way to track when an object becomes unnecessary anyway. Refcounting is just "GC" but poorly done. Isn't Mozilla famous for its memory leaks, anyway?<br> <p> <font class="QuotedText">&gt; changing languages won't help</font><br> <p> Yes, well, let's say that Java gives you a stack trace, and C gives you a segmentation violation message and maybe a stack trace if you are lucky, but the stack trace mostly consists of memory addresses due to missing symbols. The practice of stripping C programs should really be ended.<br> </div> Tue, 31 Aug 2010 14:20:04 +0000 Wow... Interesting news... https://lwn.net/Articles/402945/ https://lwn.net/Articles/402945/ foom <div class="FormattedComment"> <font class="QuotedText">&gt; Not completely true. Symbian is still selling every day more units (300k) than android (200k). yet, it completely fails to capture developer attention. mostly due to using too exotic variant of c++.</font><br> <p> I doubt that's the problem. <br> <p> It never even occurred to me [note: I live in the USA] until recent conversations here that it might make sense to develop an app for Symbian. In order of perceived importance: iPhone, Android, Blackberry; the end. I'll note that I've not seen any requests from users for a Symbian app either, but have seen requests for Android and Blackberry.<br> <p> When I think of Nokia, I think of "feature phones" and the N800/etc maemo tables. I suspect the lack of developer attention to Symbian is foremost a failure in marketing, not in technology. The development environment might also suck (or maybe it doesn't, I have no idea), but it doesn't seem like the main problem.<br> </div> Tue, 31 Aug 2010 14:11:43 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402946/ https://lwn.net/Articles/402946/ alankila <div class="FormattedComment"> First time I heard of unique_ptr. It may be that C++0x, which seems to contain it, will be a vastly better language than the older form of C++. I still think that almost no matter to what *_ptr&lt;T&gt; you offer to people, it's going to feel far worse than simply not having to care about the whole thing at all.<br> </div> Tue, 31 Aug 2010 14:10:18 +0000 May be this is an explanation? https://lwn.net/Articles/402943/ https://lwn.net/Articles/402943/ alankila <div class="FormattedComment"> The real reason why java code seems to have so many layers follows from the fact that method call is the only means of abstraction in Java, so every thing that you want to do ends up encoded as a method call on some object. If the task has many steps, it will have many method calls.<br> <p> However, simultaneously, Java seems to make it possible to freely call "virtual" methods in code without having to pay for it in form of significant slowdown because the JIT can often work it out and remove the indirection imposed by the myriad of layers.<br> <p> This is one of my favorite things with Java, actually, because it makes it possible to write the code in a logical way yet have it execute quickly.<br> </div> Tue, 31 Aug 2010 13:54:34 +0000 Wow... Interesting news... https://lwn.net/Articles/402939/ https://lwn.net/Articles/402939/ nhippi <div class="FormattedComment"> <font class="QuotedText">&gt; If new platform is in hands of millions of users then the developers will come - and it'll not matter if they can use existing language or not.</font><br> <p> Not completely true. Symbian is still selling every day more units (300k) than android (200k). yet, it completely fails to capture developer attention. mostly due to using too exotic variant of c++.<br> <p> j2me has by far the largest amount of supported phones, yet it is also starting to lag behind android. This time the reason is having too many minor incompatibilities between j2me phones. A problem that will also hit Android hard soon.<br> </div> Tue, 31 Aug 2010 13:46:04 +0000 Well, I can not verify it, but ok... https://lwn.net/Articles/402937/ https://lwn.net/Articles/402937/ ibukanov <div class="FormattedComment"> <font class="QuotedText">&gt; Mozilla, WebKit and Opera </font><br> <p> Sorry, I forgot MSIE, so indeed, 4 engines in total, but still nothing new for the last 10 years.<br> </div> Tue, 31 Aug 2010 12:30:25 +0000 Well, I can not verify it, but ok... https://lwn.net/Articles/402933/ https://lwn.net/Articles/402933/ ibukanov <div class="FormattedComment"> <font class="QuotedText">&gt; This still does not explain why there are four widely used independently written browser engines in C++ today and zero written in Java left.</font><br> <p> Strictly speaking there are 3 rendering engines, Mozilla, WebKit and Opera and all of them has started prior 2000. At that moment there were two reasonably performing Java browsers, something called like Espeal and IceBrowser in addition the HotJava joke. But they were not able to survive the dotcom burst (perhaps due to their proprietary nature, perhaps for other reasons). <br> <p> So the real question is why nobody was able to create a new browser engine in any language during the last 10 years outside some niche or research projects.<br> <p> <font class="QuotedText">&gt; why Sun was never able to do it (and they are inventors of Java, they had the best Java developers at the time!)</font><br> <p> You must be joking. I agree 100% with the comment above that Java programmers at Sun are among the worst ones. As often the case the inventor of a tool is its least efficient user.<br> </div> Tue, 31 Aug 2010 12:25:31 +0000 Google bails out of JavaOne https://lwn.net/Articles/402930/ https://lwn.net/Articles/402930/ pboddie <blockquote>Nope.</blockquote> <p>Nope, you're not sure that you don't use inheritance or interfaces? Well, you might not define inheritance or interfaces in your own code, but it's all going on in the rest of the system.</p> <p>Or nope, you dispute that the presence of interfaces is what makes the generation of optimised code for Java easier than for, say, dynamic languages? Well, given that declarations in Java refer in their most general form to interfaces, I'd say that they offer more easily taken opportunities for efficient method dispatch - stuff that you have to work harder to deduce in dynamic languages.</p> <p>Quite how my "class/function/method search" is undermined by a refusal to use inheritance or interfaces remains unclear. You might argue that my search won't find the right method because "it's a different one that uses the same name, and you can't tell that in Python", but if I'm coding Python like you appear to code Java, it seems less likely to be a problem (I won't have lots of classes with lots of methods with similar names), and if I'm coding Python in a more natural fashion, it only brings us right back to the mechanisms which do let you tell the difference between methods having the same name in, say, Java. Which are classes, interfaces and inheritance.</p> Tue, 31 Aug 2010 12:21:34 +0000 Well, these are weak reasons IMO... https://lwn.net/Articles/402929/ https://lwn.net/Articles/402929/ ibukanov <div class="FormattedComment"> <font class="QuotedText">&gt; You can write modular and robust code in many languages</font><br> <p> Yes, but that code in Java would also be fast. This is due to highly optimized and mature VMs. Of cause, one of the reasons for the optimizations is the need to deal with badly written Java code that Java standard library encourages, but if one know how to deal with that, then the result would be a fast, lightweight and responsive application.<br> <p> <font class="QuotedText">&gt; Java memory protection is a joke</font><br> <p> Could clarify what do you mean by "memory protection"? Do you imply an ability to run multiple applications in single VM? If so, I agree with that, but only in part that in such configuration it is impossible to prevent denial-of-service. <br> <p> <font class="QuotedText">&gt; Android does not use it anyway</font><br> <p> On Linux processes are cheap so Android can take advantage of all process isolation features that OS provides. Still I am glad that without native code one cannot write for Android something like<br> <p> while (1) {<br> malloc(1 &lt;&lt; 26);<br> fork();<br> }<br> <p> that Linux deals pretty badly with.<br> </div> Tue, 31 Aug 2010 11:57:13 +0000 Well, I can not verify it, but ok... https://lwn.net/Articles/402927/ https://lwn.net/Articles/402927/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt;Well, I'll assume you are correct and there was good Java Browser (was because as you can see it'll be dead in a few months). This still does not explain why there are four widely used independently written browser engines in C++ today and zero written in Java left. </font><br> <p> Several answers:<br> 1) No good GUI framework. SWING (still) has a lot of problems, with performance and features, in 2000-s it was even worse. <br> 2) No _need_ for a new browser.<br> 3) Resources. Java is reasonably fast, but it requires a lot of RAM.<br> 4) It's still a huge task, even in Java.<br> <p> <font class="QuotedText">&gt;If Java is oh, so much easier then why only one company ever managed to write fast and light relatively popular Java engine, why Sun was never able to do it (and they are inventors of Java, they had the best Java developers at the time!), and why even that last company now abandoned it.</font><br> <p> Heh. Sun's inability to find its ass with two hands in Java development is legendary. They produce a very good quality JVM, but for a long time they couldn't produce anything of quality _in_ Java. EJB2 was legendary for the fact that it spawned dozens of OpenSource frameworks to replace it.<br> <p> <font class="QuotedText">&gt;I'm still not sure I can explain why many (most?) Java programmers produce bloated resource hogs, but this is the fact. If Java is not to blame then what is? They can not all be idiots!</font><br> <p> Right now, I'm writing Python code. In PyCharm IDE which is based on IDEA which is written in Java. It does eat quite a lot of RAM, however it's also the fastest and most powerful Python environment I've ever seen.<br> <p> While WingIDE in Python is STILL slow as hell and has much less capable autocomplete/refactorings.<br> </div> Tue, 31 Aug 2010 11:25:22 +0000 Google bails out of JavaOne https://lwn.net/Articles/402926/ https://lwn.net/Articles/402926/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt;The notion of interfaces is fundamental to the analysis and optimisation of Java programs, so when you write the first sentence above, I can only ask this: "Are you sure?"</font><br> <p> Nope. Interfaces are just a way to create polymorphic behavior. They are certainly not 'fundamental' for optimization.<br> <p> I prefer to use concrete classes and/or static helper methods instead of heaps of 'design patterns'. And when I need to introduce polymorphic behavior (which is not all that often) I just refactor required dependencies into interfaces.<br> <p> Abstract classes are a pure evil, btw.<br> </div> Tue, 31 Aug 2010 11:09:46 +0000 May be this is an explanation? https://lwn.net/Articles/402925/ https://lwn.net/Articles/402925/ Cyberax <div class="FormattedComment"> <font class="QuotedText">&gt;Well... if it's typical for Java programmer then it's good explanation for why Java must be killed ASAP. </font><br> <p> Well... if it's typical for non-Java programmers then it's good explanation for why they must be killed ASAP. <br> <p> <font class="QuotedText">&gt;Because nothing good can come from this approach: if you don't think about rigid structure but leave some gaps here and there then it's no wonder that the end result is bloated resource hog. </font><br> <p> Be more specific.<br> <p> <font class="QuotedText">&gt;If you have ten layers (not all that strange for Java from what I'm seeing) and each layer adds 10% slowdown (as price for flexibility) then your creation wastes 60% of power, if there are 20 layers (rare, but I've seen such Java projects) and slowdown is 20% (still does not look all that scary, right?) then 97% of computer power is wasted in "flexibility".</font><br> <p> Nope. I don't have any unnecessary 'layers' in my software. Mostly because I don't NEED to create them before I really _need_ them. And then I need them - I use refactorings to introduce required abstractions.<br> </div> Tue, 31 Aug 2010 11:08:46 +0000 Google bails out of JavaOne https://lwn.net/Articles/402923/ https://lwn.net/Articles/402923/ pboddie <blockquote>Most of my code doesn't even use inheritance/interfaces. And most of my refactorings are related to code itself, not to data types.</blockquote> <p>The notion of interfaces is fundamental to the analysis and optimisation of Java programs, so when you write the first sentence above, I can only ask this: "Are you sure?"</p> Tue, 31 Aug 2010 10:29:09 +0000 Google bails out of JavaOne https://lwn.net/Articles/402920/ https://lwn.net/Articles/402920/ pboddie <blockquote>This is ridiculous. I have seen developers assembling entire applications in a day with Java + IntelliJ IDEA and Eclipse.</blockquote> <p>Well, that's great. Maybe things have moved on since I last looked at what was supposed to be the state of the art. I could ask you to distinguish between "assembling" and "developing" (and inform us about the kind of applications in question) but...</p> <blockquote>I don't understand this thread. LWN is usually full of knowledgeable, reasonably argumentative. But this thread looks like some kind of religious war against Java by ignorant script kiddies playing the geeks.</blockquote> <p>Is this your characterisation of me or are you just waving the finger generally? I started using Java in 1995 and it paid my wages for quite some time, but just because I don't buy into the whole "IDE exoskeleton" movement doesn't make me or anyone else with the same perspective "script kiddies".</p> Tue, 31 Aug 2010 10:22:52 +0000 Well, if you are so sure it's not just enterprise then it's easy to prove, right https://lwn.net/Articles/402917/ https://lwn.net/Articles/402917/ khim <blockquote><font class="QuotedText">Who am-I then?</font></blockquote> <p>Opportunist, I presume.</p> <blockquote><font class="QuotedText">I am on LWN, aren't I? And I have been here for years.</font></blockquote> <p>Well, Java people tried to coopt FOSS people for years. When FOSS people pointed out that <a href="http://www.gnu.org/philosophy/java-trap.html">Java is a trap</a> Java people explained that it's not a big deal because there are lots of free Java (funny how <a href="http://en.wikipedia.org/wiki/Adobe_Flex">the same approach of Adobe</a> is universally hated and Flex-developers are usually despised while Java people always tried to pretend "they are FOSS people too"). Not unlike KDE spat, really. Few years ago Sun finally decided to free Java and the wall started to crumble: FOSS distributions started to allow Java packages, there were even talks that <a href="http://live.gnome.org/Vala">Vala</a> is bad idea because we have Java, etc. But Oracle stopped and reversed it to a huge degree.</p> <blockquote><font class="QuotedText">As a matter of fact, every single line of code I wrote for the last 13 years has been under GPL. Every single line of code produced in my group, 95% being in Java, is under GPL.</font></blockquote> <p>Well, that's what amazes me the most in Java people: they produce lots of free code, they try to play friends with FOSS community, yet they are happy to build the castle on the sand (proprietary base owned initially by Sun and later by Oracle). This looks like <strike>F</strike>OSS camp: we use GPL because it's good business strategy, we don't care about freedom at all. Yet Java people are often becoming angry when they are excluded from FOSS community. But actions speak louder than words and because of "original sin" FOSS community will perceive Java people as outsiders for a long, long, long time. C/C++ people are different: while it's true that many of them started with proprietary compilers and proprietary tools they embraced free replacement (GCC) wholeheartedly - but Java people never actually accepted free Java (before Android, that is). I don't know how many times I've heard from Java community "stop wasting our time with your inferior tools" (or words to that effect) when GCJ, Kaffe or any other free replacement was mentioned. This put Java firmly in "people who don't care about freedom" category - and that category lies outside of FOSS community.</p> <p>That's how today we have two communities: "proper FOSS" community and "Java community". People from second camp perceive themselves as parts of FOSS community, but people from first camp rarely accede such privilege to them. When RedHat bought JBoss it was perceived as betrayal at first but then RedHat redeemed itself with it's IcedTea work. But release of IcedTea (and later OpenJDK) only started healing the chasm between FOSS community and Java community. It's slow process: KDE people are <b>still</b> not perceived as "fully FOSS people" even if their "original sin" was rectified by Trolltech and Nokia long ago. This is easy to understand: former slaves which fought for freedom and obtained it with blood and tears will long view complacent slaves who were freed just because lord decided that he does not like to keep these particular slaves as slaves with suspicion.</p> <blockquote><font class="QuotedText">Sorry but you do not know what you are talking about.</font></blockquote> <p>I hear this from Java people <b>a lot</b>. But somehow proof never materializes. If Java is "everywhere" then it should be easy to point on the concrete examples, right. Where are they? It's easy to point to these monstrous bloated "enterprise solutions", but if you take a wider look on where FOSS thrives it's hard to see any Java there. Mobile? It was mostly used by "enterprise-oriented Blackberry" while "Java for everyone" (JavaME) was not all that popular and shrank fast. Network equipment? Well, there are some tools where Java is used for configuration - and it's almost as lame as IE6-only HTML. The only place where Java hits the normal person today is bank authentication and even there it becomes less and less popular. So... if we exclude enterprise and wannabe enterprise solutions, then... where is Java? Please don't answer with "you don't know anything", if it's some important component then surely it's known to everyone who deals with this technology...</p> <blockquote><font class="QuotedText">I am not part of a commercial company. Java is everywhere around here.</font></blockquote> <p>And here is... where exactly? How many millions of users are using your technologies?</p> <p>Java is too heavy for most users. Where you have power to spare it's not as important - and there Java is popular. But these are small niches: Enterprise, HPC, may be some science. Where price of computer is not important because it's attached to some uber-expensive piece. But where people actually care about efficiency... Java is quite scarce.</p> <blockquote><font class="QuotedText">You are working in a certain domain/environment, and maybe there, Java is not a language of choice. But there are places where it is.</font></blockquote> <p>Actually where I work Java is quite popular. On "big iron". Where we can easily add the hardware to compensate for waste generated by Java. But on client side... only Android developers are using Java - and that's not real Java, it's slightly different beast...</p> Tue, 31 Aug 2010 09:18:30 +0000 See them at Apachecon? https://lwn.net/Articles/402916/ https://lwn.net/Articles/402916/ dgm <div class="FormattedComment"> I'm aware this is irrelevant more often than not, but common sense says source code, being a textual description of (part of?) the "invention", should not infringe the patent any more than a drawing or textual description of a physical patented device.<br> </div> Tue, 31 Aug 2010 07:33:05 +0000 Mildly functional then https://lwn.net/Articles/402913/ https://lwn.net/Articles/402913/ man_ls Let me answer both of you at the same time: well, I can understand why functional constructs are better when used sparingly. You don't have to filter(), map(), reduce() everything. But in certain occasions they are very useful. Tue, 31 Aug 2010 06:34:17 +0000 It's easy, actually... https://lwn.net/Articles/402912/ https://lwn.net/Articles/402912/ lenov <div class="FormattedComment"> "First of all LWN people are FOSS people and not Java people. Java people and FOSS people were separated for a long time because of Sun's policy and while in last few years the wall started to be less and less pronounced it's still there. And now Oracle made sure this wall will be resurrected"<br> <p> Who am-I then? I am on LWN, aren't I? And I have been here for years. As a matter of fact, every single line of code I wrote for the last 13 years has been under GPL. Every single line of code produced in my group, 95% being in Java, is under GPL. And my organisation has a policy that requires all code to be GPL-compatible. It comprises about 100 people spitting out Java code the whole day. All GPL-compatible.<br> <p> "A huge amount of code exists in Java"<br> <p> Sorry, but no. Java only exist in enterprise and where managers were able to shove it (Java ME, BD-ROM, etc). "<br> <p> Sorry but you do not know what you are talking about. I am not part of a commercial company. Java is everywhere around here. See my other posts. Maybe you should accept the fact that you do not know everything. You are working in a certain domain/environment, and maybe there, Java is not a language of choice. But there are places where it is. And I am not a Java Zelot. I started with C, became a Perl fan, and now my group used mostly Python and Java. My point is not to praise Java. <br> </div> Tue, 31 Aug 2010 06:11:56 +0000 It's easy, actually... https://lwn.net/Articles/402906/ https://lwn.net/Articles/402906/ sbishop <div class="FormattedComment"> Alright. You've made your point: you don't understand what you're talking about. Please quit clogging up my comment feed. Thank you.<br> </div> Tue, 31 Aug 2010 02:40:05 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402907/ https://lwn.net/Articles/402907/ dskoll <p><i>Well, they aren't interpreting Dalvik anymore but compiling it to native ARM instructions on the fly.</i> <p>There's still overhead, and if it's the case that you end up with native ARM instructions, you lose much of the supposed memory savings. <p><i>And I'd guess most people would really want to have the garbage collector, too, so that means that they will hate C/C++, almost regardless to what other goodies you would be able to offer.</i> <p>Maybe, but there are plenty of large apps in the desktop world that get by just fine without GC (Mozilla, OpenOffice, Chrome, KDE, GNOME, Xfce). <p><i>Oh, and doing something about those constant segfaults would be nice, too.</i> <p>If there are "constant segfaults", the software is defective, and changing languages won't help. Tue, 31 Aug 2010 02:39:08 +0000 What is wrong with C or C++ for mobile devices? https://lwn.net/Articles/402903/ https://lwn.net/Articles/402903/ trusmis <div class="FormattedComment"> <p> It's easy.<br> If it is your platform and you program the libraries the programs will use, you also control how they can be used.<br> You can just to unique_ptr everything and let RAII take care. <br> Just discourage the use of manually handed pointers. <br> People will follow suit, if they don't it is they seg fault problem. Not worse than a Java exception or a python runtime exception.<br> <p> <p> </div> Tue, 31 Aug 2010 01:33:36 +0000