<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Android using Java VM for apps &#8212; whatever!</title>
	<atom:link href="http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/</link>
	<description>Editor and technology critic in the midst of founding a new web startup: gdgt.</description>
	<lastBuildDate>Thu, 12 Jan 2012 15:44:30 -0800</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Tony</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-113013</link>
		<dc:creator>Tony</dc:creator>
		<pubDate>Thu, 08 Dec 2011 09:29:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-113013</guid>
		<description>LOL, gotta love Java-hating snobs. It&#039;s so 2002. Oh man, Java is slow, real men program in C/C++ (which is fast for machines, but slow and painfully error-prone for humans to actually create, compile, and maintain). Either that or &quot;Java is lame, real men program in Python&quot; (which is actually quite a bit slower than Java but hey, it&#039;s hip).</description>
		<content:encoded><![CDATA[<p>LOL, gotta love Java-hating snobs. It&#8217;s so 2002. Oh man, Java is slow, real men program in C/C++ (which is fast for machines, but slow and painfully error-prone for humans to actually create, compile, and maintain). Either that or &#8220;Java is lame, real men program in Python&#8221; (which is actually quite a bit slower than Java but hey, it&#8217;s hip).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy T</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112999</link>
		<dc:creator>Andy T</dc:creator>
		<pubDate>Thu, 13 Oct 2011 04:41:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112999</guid>
		<description>The very source of the problem is Sun Microsystems, they define and went after whomever broke off VM and go the machine-code route instead of bytecode. The language is streamlined version of C/C++ when you look at it superficially. As a general purpose language Java is very good indeed with overzealous parent that gave rise to C#.

When is last time you do unions, bitwise variables, destructors, multiple inheritance? And the crown-jewel is Garbage Collector, a phone cannot just go about rebooting in the middle of the day just because some guy forgot to dealloc() or delete heap. Now JIT, it did offer good speed; the only problem I can see is that VNC needs Native not Dalvik. Sun Micro did not say &#039;OK, we need a carbon copy of Visual Basic with a more popular syntax&#039;, they had to design entire VM to compete and wreck their hardware line up.

You should be properly armed with information before you bash it for being no good it sounded no more like OS war or browser war redux. Just GC along renders the original article quite meaningless. You can say to adopt Microsoft&#039;s early &#039;90s approach of Runtime but back to unmanaged approach of C/C++ is very bad idea.</description>
		<content:encoded><![CDATA[<p>The very source of the problem is Sun Microsystems, they define and went after whomever broke off VM and go the machine-code route instead of bytecode. The language is streamlined version of C/C++ when you look at it superficially. As a general purpose language Java is very good indeed with overzealous parent that gave rise to C#.</p>
<p>When is last time you do unions, bitwise variables, destructors, multiple inheritance? And the crown-jewel is Garbage Collector, a phone cannot just go about rebooting in the middle of the day just because some guy forgot to dealloc() or delete heap. Now JIT, it did offer good speed; the only problem I can see is that VNC needs Native not Dalvik. Sun Micro did not say &#8216;OK, we need a carbon copy of Visual Basic with a more popular syntax&#8217;, they had to design entire VM to compete and wreck their hardware line up.</p>
<p>You should be properly armed with information before you bash it for being no good it sounded no more like OS war or browser war redux. Just GC along renders the original article quite meaningless. You can say to adopt Microsoft&#8217;s early &#8217;90s approach of Runtime but back to unmanaged approach of C/C++ is very bad idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dare</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112997</link>
		<dc:creator>Dare</dc:creator>
		<pubDate>Sun, 09 Oct 2011 19:18:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112997</guid>
		<description>Now, i have nothing against Java. As i am a java developer myself. I just don&#039;t like people blindly believing in Java is any better than other languages. It has some uses like anything else.

Java worshipers, that&#039;s where i have issues with. I can&#039;t stand them.

I think Google chooses Java because the influx of Java developers out there, simplicity, and rapid development. All that to counter the climbing number of iOS developers. But doing so at the cost of alienating non java developers.

Same thing happens to the Windows Phone 7 now, with their lack of support for native code.</description>
		<content:encoded><![CDATA[<p>Now, i have nothing against Java. As i am a java developer myself. I just don&#8217;t like people blindly believing in Java is any better than other languages. It has some uses like anything else.</p>
<p>Java worshipers, that&#8217;s where i have issues with. I can&#8217;t stand them.</p>
<p>I think Google chooses Java because the influx of Java developers out there, simplicity, and rapid development. All that to counter the climbing number of iOS developers. But doing so at the cost of alienating non java developers.</p>
<p>Same thing happens to the Windows Phone 7 now, with their lack of support for native code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dare</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112996</link>
		<dc:creator>Dare</dc:creator>
		<pubDate>Sun, 09 Oct 2011 18:05:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112996</guid>
		<description>I agree with Iona ma.

People likes to think Java performs as good as C. But the fact is, that even C compilers are still not as good given the many new processor specific instructions not being used efficiently. So, how can that VM possibly be as good?

And some of you ranting about layers of layers bla.. sure, but in C or C++ you have the freedom to use the Assembly language, and processor specific codes as needed. That will give us the edge.

See this guys post if you don&#039;t believe me http://www.shervinemami.info/armAssembly.html

Also, i&#039;m about to enter the Android market as a developer. Best thing i could do is using QT (Necessitas).

For those saying Java is as fast as C++ or C give me just one, just one application written in Java that is as fast or even faster than their counterpart. What good is line by line comparison. People use application and not loops or any other benchmark test.

I don&#039;t like the iPhone, but compare the Applications there against any one developed for Android. 
One good example is this app for musician that being co-developed by Jordan Rudess http://samplewiz.com/
It was developed for the iPhone and iPad, but they are also painfully try to release an Android version, check their FAQ. http://samplewiz.com/faq.html

Oh, and some of the QT sample game applications ran very smoothly on top of Android, even if they only used software rendering. Pretty impressive don&#039;t you think?

From the Android NDK site:
&quot;The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code.&quot;

What does that tell us?</description>
		<content:encoded><![CDATA[<p>I agree with Iona ma.</p>
<p>People likes to think Java performs as good as C. But the fact is, that even C compilers are still not as good given the many new processor specific instructions not being used efficiently. So, how can that VM possibly be as good?</p>
<p>And some of you ranting about layers of layers bla.. sure, but in C or C++ you have the freedom to use the Assembly language, and processor specific codes as needed. That will give us the edge.</p>
<p>See this guys post if you don&#8217;t believe me <a href="http://www.shervinemami.info/armAssembly.html" rel="nofollow">http://www.shervinemami.info/armAssembly.html</a></p>
<p>Also, i&#8217;m about to enter the Android market as a developer. Best thing i could do is using QT (Necessitas).</p>
<p>For those saying Java is as fast as C++ or C give me just one, just one application written in Java that is as fast or even faster than their counterpart. What good is line by line comparison. People use application and not loops or any other benchmark test.</p>
<p>I don&#8217;t like the iPhone, but compare the Applications there against any one developed for Android.<br />
One good example is this app for musician that being co-developed by Jordan Rudess <a href="http://samplewiz.com/" rel="nofollow">http://samplewiz.com/</a><br />
It was developed for the iPhone and iPad, but they are also painfully try to release an Android version, check their FAQ. <a href="http://samplewiz.com/faq.html" rel="nofollow">http://samplewiz.com/faq.html</a></p>
<p>Oh, and some of the QT sample game applications ran very smoothly on top of Android, even if they only used software rendering. Pretty impressive don&#8217;t you think?</p>
<p>From the Android NDK site:<br />
&#8220;The Android NDK is a companion tool to the Android SDK that lets you build performance-critical portions of your apps in native code.&#8221;</p>
<p>What does that tell us?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Iona ma</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112993</link>
		<dc:creator>Iona ma</dc:creator>
		<pubDate>Mon, 26 Sep 2011 19:10:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112993</guid>
		<description>Well and after all these years, it is clear that android is clunky jerky even on my experia arc with 1.2 ghz. I am too a developer, and remember times I programmed and compiled with WatCom, to get the last bit of performance of a game engine.

Now I own a company with a popular app, and the performance between iOS and android is a scandal. The slower 3GS is smoother than an xperia arc. How come?

Android is mature now, and it is obvious that it was a bad choice.
Making the life  easier for developers, but badder for the user.

The only one too blame is the jvm, no matter java sheepskin like to twist and turn it.

I am seriously disappointed about  the evolution of things, with a 486 dx4 you could more amazings things than with android now. A simple app with 2 forms scroll jerky but at least they consume 3 mega of ram. Great</description>
		<content:encoded><![CDATA[<p>Well and after all these years, it is clear that android is clunky jerky even on my experia arc with 1.2 ghz. I am too a developer, and remember times I programmed and compiled with WatCom, to get the last bit of performance of a game engine.</p>
<p>Now I own a company with a popular app, and the performance between iOS and android is a scandal. The slower 3GS is smoother than an xperia arc. How come?</p>
<p>Android is mature now, and it is obvious that it was a bad choice.<br />
Making the life  easier for developers, but badder for the user.</p>
<p>The only one too blame is the jvm, no matter java sheepskin like to twist and turn it.</p>
<p>I am seriously disappointed about  the evolution of things, with a 486 dx4 you could more amazings things than with android now. A simple app with 2 forms scroll jerky but at least they consume 3 mega of ram. Great</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Markel</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112908</link>
		<dc:creator>Tom Markel</dc:creator>
		<pubDate>Thu, 14 Oct 2010 16:14:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112908</guid>
		<description>I have developed in over 15 languages with Java and Objective-C being my current heavily used languages and have owned 2 software companies and still develop heavily.  Have used C++ and even assembly for device drivers.    Java is the most widely-used language/platform in the world and is often misunderstood because many people call it bloated in the mobile world but do not understand there are different optimized versions of Java for desktop, servers, mobile and more.    It really annoys me when people who are not developers try to comment on developer specifics as Ryan did.   You will never see me telling an expert Mercedes mechanic that this aspect of the engine is crap without my as least having a pretty strong knowledge level to be even to enter the conversation.   If you don&#039;t let the ask the experts questions but acting like you are knowledgeable of something you have no experience in in ludicrous,</description>
		<content:encoded><![CDATA[<p>I have developed in over 15 languages with Java and Objective-C being my current heavily used languages and have owned 2 software companies and still develop heavily.  Have used C++ and even assembly for device drivers.    Java is the most widely-used language/platform in the world and is often misunderstood because many people call it bloated in the mobile world but do not understand there are different optimized versions of Java for desktop, servers, mobile and more.    It really annoys me when people who are not developers try to comment on developer specifics as Ryan did.   You will never see me telling an expert Mercedes mechanic that this aspect of the engine is crap without my as least having a pretty strong knowledge level to be even to enter the conversation.   If you don&#8217;t let the ask the experts questions but acting like you are knowledgeable of something you have no experience in in ludicrous,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112892</link>
		<dc:creator>James</dc:creator>
		<pubDate>Tue, 24 Aug 2010 03:59:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112892</guid>
		<description>Just about everything said about Java above is misinformation. Modern Java is very close to C++ in performance, even beating some compilers (note the difference between language and VM/compiler) in some benchmarks. Search for benchmarks for Java6 and run some tests on your own. You will be convinced.

Java runs as native code. The compilation just happens to be done later (JIT). AOT compilers exist for Java, just like C++. Not worth while though.

Java 6 is much easier to use than Java from 90s. If that is not enough, use Scala. It works seamlessly on JVM, performs about the same as Java, has adequate tooling and is *highly* expressive, far exceeding C++. It works on Android. Java can be as simple or as complicated as you would want.

The only place where Java falls short to C++ in general use (not including very low level apps that need bit flipping) is in memory use. This has to do with the fact that it is a garbage collected language. For a garbage collected language, Java performs quite well.</description>
		<content:encoded><![CDATA[<p>Just about everything said about Java above is misinformation. Modern Java is very close to C++ in performance, even beating some compilers (note the difference between language and VM/compiler) in some benchmarks. Search for benchmarks for Java6 and run some tests on your own. You will be convinced.</p>
<p>Java runs as native code. The compilation just happens to be done later (JIT). AOT compilers exist for Java, just like C++. Not worth while though.</p>
<p>Java 6 is much easier to use than Java from 90s. If that is not enough, use Scala. It works seamlessly on JVM, performs about the same as Java, has adequate tooling and is *highly* expressive, far exceeding C++. It works on Android. Java can be as simple or as complicated as you would want.</p>
<p>The only place where Java falls short to C++ in general use (not including very low level apps that need bit flipping) is in memory use. This has to do with the fact that it is a garbage collected language. For a garbage collected language, Java performs quite well.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathani</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112888</link>
		<dc:creator>Jonathani</dc:creator>
		<pubDate>Tue, 03 Aug 2010 23:27:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112888</guid>
		<description>For those of you, like me, who are web developers, working in scripts rather than compiled code, don&#039;t fret... forget about archaic java, but rather use Titanium to program all of your Mac/PC/iPhone/iPad/Android and soon Blackberry apps in html/javascript/css/php/ruby, etc... it will compile out for you in the proper language, fully packaged and ready to sell.  Bets part is, it is FREE.

Screw Java!</description>
		<content:encoded><![CDATA[<p>For those of you, like me, who are web developers, working in scripts rather than compiled code, don&#8217;t fret&#8230; forget about archaic java, but rather use Titanium to program all of your Mac/PC/iPhone/iPad/Android and soon Blackberry apps in html/javascript/css/php/ruby, etc&#8230; it will compile out for you in the proper language, fully packaged and ready to sell.  Bets part is, it is FREE.</p>
<p>Screw Java!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xezlec</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112884</link>
		<dc:creator>Xezlec</dc:creator>
		<pubDate>Wed, 07 Jul 2010 14:45:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112884</guid>
		<description>Some of you guys are talking about &quot;abstractions&quot; as though that&#039;s the problem.  It isn&#039;t.  There&#039;s nothing wrong with abstractions.  When used properly, they actually tend to make code better and faster, not slower and worse.  The problem is that Java runs on an interpreter, which is essentially an emulated machine.  Emulation, by its very nature, effectively guarantees a huge multiplication in execution time because every single operation has to trigger some conditional in a loop rather than just being executed by the processor.

Android is still good.  Interpreted Java (like all interpreted languages) is awful, and you can feel the sluggishness it imparts to an Android device, but this sluggishness isn&#039;t too bad on faster phones, and most apps aren&#039;t time-critical.  But that&#039;s not the reason that Android is still good.  Android 2.2 will have just-in-time compilation, which means Java bytecodes will be translated into native code.  That should give a massive speed boost, but that&#039;s still not the reason that Android is still good.

The reason that android is still good is that NATIVE code is supported.  No other phones I know of allow this.  Many Android apps (such as the Android SNES emulator I like to play) are written in native ARM assembly language using the Android NDK (look it up).  True, Java is the main API, where most of the features live, but it&#039;s not the only API Google has made available on the platform, and that seems like a key detail that this article fails to mention.

This article makes it sound like you have to write every function in your Android app in Java whether you want to or not, and that&#039;s patently false.</description>
		<content:encoded><![CDATA[<p>Some of you guys are talking about &#8220;abstractions&#8221; as though that&#8217;s the problem.  It isn&#8217;t.  There&#8217;s nothing wrong with abstractions.  When used properly, they actually tend to make code better and faster, not slower and worse.  The problem is that Java runs on an interpreter, which is essentially an emulated machine.  Emulation, by its very nature, effectively guarantees a huge multiplication in execution time because every single operation has to trigger some conditional in a loop rather than just being executed by the processor.</p>
<p>Android is still good.  Interpreted Java (like all interpreted languages) is awful, and you can feel the sluggishness it imparts to an Android device, but this sluggishness isn&#8217;t too bad on faster phones, and most apps aren&#8217;t time-critical.  But that&#8217;s not the reason that Android is still good.  Android 2.2 will have just-in-time compilation, which means Java bytecodes will be translated into native code.  That should give a massive speed boost, but that&#8217;s still not the reason that Android is still good.</p>
<p>The reason that android is still good is that NATIVE code is supported.  No other phones I know of allow this.  Many Android apps (such as the Android SNES emulator I like to play) are written in native ARM assembly language using the Android NDK (look it up).  True, Java is the main API, where most of the features live, but it&#8217;s not the only API Google has made available on the platform, and that seems like a key detail that this article fails to mention.</p>
<p>This article makes it sound like you have to write every function in your Android app in Java whether you want to or not, and that&#8217;s patently false.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ramon</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112823</link>
		<dc:creator>Ramon</dc:creator>
		<pubDate>Sun, 07 Feb 2010 04:10:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112823</guid>
		<description>Java sheeps

from the so many new and better language
Google had to choose JAVA.
a slow, bloated, outdated, useless language out from the 90

Java and their apps should be in a museum
next to the Borland Turbo C/C++ 
Well at least you can use the old Borland C++
to teach kids programming</description>
		<content:encoded><![CDATA[<p>Java sheeps</p>
<p>from the so many new and better language<br />
Google had to choose JAVA.<br />
a slow, bloated, outdated, useless language out from the 90</p>
<p>Java and their apps should be in a museum<br />
next to the Borland Turbo C/C++<br />
Well at least you can use the old Borland C++<br />
to teach kids programming</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: seeplusplus</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112815</link>
		<dc:creator>seeplusplus</dc:creator>
		<pubDate>Sun, 24 Jan 2010 13:57:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112815</guid>
		<description>Java was a solution looking for a problem,
Java is a solution looking for a problem,
Java will always remain as a solution looking for a problem.

What earthly benefit do you get with the following layers?
OS as an abstraction on the hardware, then Java(the JVM) as another abstraction on the OS and finally &quot;your&quot; apps accessing the Java layer (if you call that as an abstraction). It&#039;s like asking your &quot;message&quot; recipient to go check her voice mail to check her email to check whether she received the postal mail that was sent last week.</description>
		<content:encoded><![CDATA[<p>Java was a solution looking for a problem,<br />
Java is a solution looking for a problem,<br />
Java will always remain as a solution looking for a problem.</p>
<p>What earthly benefit do you get with the following layers?<br />
OS as an abstraction on the hardware, then Java(the JVM) as another abstraction on the OS and finally &#8220;your&#8221; apps accessing the Java layer (if you call that as an abstraction). It&#8217;s like asking your &#8220;message&#8221; recipient to go check her voice mail to check her email to check whether she received the postal mail that was sent last week.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fred</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112792</link>
		<dc:creator>Fred</dc:creator>
		<pubDate>Sun, 27 Dec 2009 03:27:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112792</guid>
		<description>One of the worst things about Android using Java instead of C (the NDK notwithstanding) is that doing so closes off the possibility of using all the other programming languages that have been implemented in C, but not Java (usually because doing it in Java or on the JVM is tricky business, unless you&#039;re satisfied with the most basic kind of interpreter). It&#039;s impractical to write Android programs in: D, Perl, Scheme, Lua, and many others, all of which are better than Java. The only programming language that is PRACTICAL to use for writing Android programs is Java.</description>
		<content:encoded><![CDATA[<p>One of the worst things about Android using Java instead of C (the NDK notwithstanding) is that doing so closes off the possibility of using all the other programming languages that have been implemented in C, but not Java (usually because doing it in Java or on the JVM is tricky business, unless you&#8217;re satisfied with the most basic kind of interpreter). It&#8217;s impractical to write Android programs in: D, Perl, Scheme, Lua, and many others, all of which are better than Java. The only programming language that is PRACTICAL to use for writing Android programs is Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: anton</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112786</link>
		<dc:creator>anton</dc:creator>
		<pubDate>Tue, 01 Dec 2009 14:56:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112786</guid>
		<description>And what about those apps written in C/C++, including games, that I can use on almost any linux box, even on ARM, just by running ./configure, make? People wrote these for decades, forcing java just destroys the legacy.</description>
		<content:encoded><![CDATA[<p>And what about those apps written in C/C++, including games, that I can use on almost any linux box, even on ARM, just by running ./configure, make? People wrote these for decades, forcing java just destroys the legacy.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marco</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112771</link>
		<dc:creator>marco</dc:creator>
		<pubDate>Mon, 02 Nov 2009 10:59:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112771</guid>
		<description>I agree, absolutely.

marco</description>
		<content:encoded><![CDATA[<p>I agree, absolutely.</p>
<p>marco</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amoeba</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112760</link>
		<dc:creator>Amoeba</dc:creator>
		<pubDate>Wed, 14 Oct 2009 17:42:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112760</guid>
		<description>There seems to be a lot of Java craze going on, with Android jumping into the Java bandwagon and drinking the Java kool-aid.

The only real advantage of Java is that it&#039;s a high level sand-boxed programming language. The idiot who once kept allocating memory and did not free it, the guy who kept having buffer overruns without realizing it, the guy who didn&#039;t know how to properly allocate/deallocate a linked list is now a competent programmer thanks to Java. Java does all the nitty-gritty programming for you. You no longer need to understand how pointers work, you no longer need to understand program flow, you no longer need to worry about creating garbage out of the system&#039;s memory because not only Java does all that for you, but it also ties your hands behind your back so you can&#039;t fudge with it even if you wanted to. That&#039;s awesome for idiot programmers who continually used their hands to fudge things up, but it really sucks for programmers who liked having control. It really really sucks more because Java reduces all programmers to the level of the idiot programmer, and wastes CPU cycles continually cleaning up after the idiot programmer (which is now everybody!)

Regardless of how you try to put it: running a program in an emulated virtual machine is not dignified, it&#039;s slow and clunky, and leaves a lot to be desired.

Whoever thinks it&#039;s &quot;portable&quot; and cross platform please bring me an Android app running on a different machine with a different OS without having to recompile anything. It&#039;s no more &quot;portable&quot; than C. It&#039;s no more portable than an NES program designed to run on a NES but can be run in any platform with the proper NES Emulators Java is no different of a concept.

At least with C the program is compiled into native binary that runs on the specific hardware without an emulator layer. Java&#039;s emulator emulating native code out of  Java code wastes way too many CPU cycles. I can see this very easily when I just modify my C program that ran very fast on a 33MHz 486SX, and it runs much slower on the G1 which supposedly has much faster hardware! The extra CPU cycles are spent translating Java code into native code during run time. What a waste. Whoever thinks Java isn&#039;t slow and clunky doesn&#039;t know anything about low level programming.

Luckily, Android NDK allows parts of the program to be written in C compiled into Native code. The code still has to interface with the main part of the program written in Java, but at least now you can write some native code for Android.... but good luck trying to install the NDK, there&#039;s very little documentation on the NDK.</description>
		<content:encoded><![CDATA[<p>There seems to be a lot of Java craze going on, with Android jumping into the Java bandwagon and drinking the Java kool-aid.</p>
<p>The only real advantage of Java is that it&#8217;s a high level sand-boxed programming language. The idiot who once kept allocating memory and did not free it, the guy who kept having buffer overruns without realizing it, the guy who didn&#8217;t know how to properly allocate/deallocate a linked list is now a competent programmer thanks to Java. Java does all the nitty-gritty programming for you. You no longer need to understand how pointers work, you no longer need to understand program flow, you no longer need to worry about creating garbage out of the system&#8217;s memory because not only Java does all that for you, but it also ties your hands behind your back so you can&#8217;t fudge with it even if you wanted to. That&#8217;s awesome for idiot programmers who continually used their hands to fudge things up, but it really sucks for programmers who liked having control. It really really sucks more because Java reduces all programmers to the level of the idiot programmer, and wastes CPU cycles continually cleaning up after the idiot programmer (which is now everybody!)</p>
<p>Regardless of how you try to put it: running a program in an emulated virtual machine is not dignified, it&#8217;s slow and clunky, and leaves a lot to be desired.</p>
<p>Whoever thinks it&#8217;s &#8220;portable&#8221; and cross platform please bring me an Android app running on a different machine with a different OS without having to recompile anything. It&#8217;s no more &#8220;portable&#8221; than C. It&#8217;s no more portable than an NES program designed to run on a NES but can be run in any platform with the proper NES Emulators Java is no different of a concept.</p>
<p>At least with C the program is compiled into native binary that runs on the specific hardware without an emulator layer. Java&#8217;s emulator emulating native code out of  Java code wastes way too many CPU cycles. I can see this very easily when I just modify my C program that ran very fast on a 33MHz 486SX, and it runs much slower on the G1 which supposedly has much faster hardware! The extra CPU cycles are spent translating Java code into native code during run time. What a waste. Whoever thinks Java isn&#8217;t slow and clunky doesn&#8217;t know anything about low level programming.</p>
<p>Luckily, Android NDK allows parts of the program to be written in C compiled into Native code. The code still has to interface with the main part of the program written in Java, but at least now you can write some native code for Android&#8230;. but good luck trying to install the NDK, there&#8217;s very little documentation on the NDK.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: atomicdryad</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112722</link>
		<dc:creator>atomicdryad</dc:creator>
		<pubDate>Thu, 30 Jul 2009 03:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112722</guid>
		<description>Writing this from a pocket sized device (htc g1) with 100 megs ram...that is mostly consumed by apps that use no less than 10 megs RSS each, including the very simple and basic browser that is eating 30 megs ram. I&#039;m pleased i was able to switch to the terminal and back (to get the mem info) without losing what Im writing, for android uses a VERY aggressive watchdog that slays apps constantly, to make room for the excessive memory requirements that are required by the ball and chain tha is java. I tried fennic recently and curse the gods of portability every day, as it won&#039;t be ported to google&#039;s semi-optimized, badly chosen platform. (13 megs RSS for an alarm clock?!)

native c/c++ apps are not THAT hard to port, especially seing as ARM is becoming standard for phones etc.</description>
		<content:encoded><![CDATA[<p>Writing this from a pocket sized device (htc g1) with 100 megs ram&#8230;that is mostly consumed by apps that use no less than 10 megs RSS each, including the very simple and basic browser that is eating 30 megs ram. I&#8217;m pleased i was able to switch to the terminal and back (to get the mem info) without losing what Im writing, for android uses a VERY aggressive watchdog that slays apps constantly, to make room for the excessive memory requirements that are required by the ball and chain tha is java. I tried fennic recently and curse the gods of portability every day, as it won&#8217;t be ported to google&#8217;s semi-optimized, badly chosen platform. (13 megs RSS for an alarm clock?!)</p>
<p>native c/c++ apps are not THAT hard to port, especially seing as ARM is becoming standard for phones etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jerome Haltom</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112484</link>
		<dc:creator>Jerome Haltom</dc:creator>
		<pubDate>Wed, 31 Dec 2008 04:24:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112484</guid>
		<description>So. It&#039;s been a month since the phones were released. They work GREAT. The Java development environment is Freaking Awesome.

So you&#039;re wrong. Proven. :)</description>
		<content:encoded><![CDATA[<p>So. It&#8217;s been a month since the phones were released. They work GREAT. The Java development environment is Freaking Awesome.</p>
<p>So you&#8217;re wrong. Proven. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: nickdan</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112398</link>
		<dc:creator>nickdan</dc:creator>
		<pubDate>Thu, 27 Nov 2008 10:52:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112398</guid>
		<description>At the begining, Java was slow... it&#039;s right, but it was the starting point.
Non, if you see slow application, memory consuming application (I read this, sometimes), you have a not well programmed application...
Are all C/C++ applications fast ? of course not! And it is the same thing for all languages.
The JVMs were slow, it&#039;s true, but it&#039;s not true now. It was similar with .NET
And I think that C/C++ application, 10 years ago, was more slowly than now... why? hardwares progress, OSes progress too...
And the most important, how can you say an application on an OS you don&#039;t know and on a hardware you didn&#039;t know too (and I don&#039;t know it too) will be
slower in Java than in C/C++ ?
I&#039;m don&#039;t prefer Java or C/C++, I&#039;m using two, but I&#039;m fed up with all these useless discussions that are useless for everybody. I remembers me discussions about windows/linux best OS...
They choose an SDK based on Java for lots of reasons, only future will say if it is a good choice or not, if it has suffisent performances...
But they could choose a C/C++ SDK and have a very low success too...</description>
		<content:encoded><![CDATA[<p>At the begining, Java was slow&#8230; it&#8217;s right, but it was the starting point.<br />
Non, if you see slow application, memory consuming application (I read this, sometimes), you have a not well programmed application&#8230;<br />
Are all C/C++ applications fast ? of course not! And it is the same thing for all languages.<br />
The JVMs were slow, it&#8217;s true, but it&#8217;s not true now. It was similar with .NET<br />
And I think that C/C++ application, 10 years ago, was more slowly than now&#8230; why? hardwares progress, OSes progress too&#8230;<br />
And the most important, how can you say an application on an OS you don&#8217;t know and on a hardware you didn&#8217;t know too (and I don&#8217;t know it too) will be<br />
slower in Java than in C/C++ ?<br />
I&#8217;m don&#8217;t prefer Java or C/C++, I&#8217;m using two, but I&#8217;m fed up with all these useless discussions that are useless for everybody. I remembers me discussions about windows/linux best OS&#8230;<br />
They choose an SDK based on Java for lots of reasons, only future will say if it is a good choice or not, if it has suffisent performances&#8230;<br />
But they could choose a C/C++ SDK and have a very low success too&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jagadish</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112107</link>
		<dc:creator>Jagadish</dc:creator>
		<pubDate>Wed, 24 Sep 2008 03:06:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-112107</guid>
		<description>If you want an SDK to code Apps, Java is fine.  But for NATIVE core functionality (such as the UI shell, etc.) it would be awful.  All things being equal, I challenge someone to find a JIT compiled app that runs as fast as its natively compiled and optimized counterpart.  

When I think of Java, I think of write-once, slow everywhere.  Don&#039;t even get me started on the nuances of vendor support for the different VMs.</description>
		<content:encoded><![CDATA[<p>If you want an SDK to code Apps, Java is fine.  But for NATIVE core functionality (such as the UI shell, etc.) it would be awful.  All things being equal, I challenge someone to find a JIT compiled app that runs as fast as its natively compiled and optimized counterpart.  </p>
<p>When I think of Java, I think of write-once, slow everywhere.  Don&#8217;t even get me started on the nuances of vendor support for the different VMs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: v_krishna</title>
		<link>http://ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-111891</link>
		<dc:creator>v_krishna</dc:creator>
		<pubDate>Mon, 08 Sep 2008 21:56:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.ryanblock.com/2007/11/android-using-java-vm-for-apps-whatever/#comment-111891</guid>
		<description>completely agree. as a developer, while i understand why java has been and will continue to be important, i personally hate it. again, while i understand the reasoning behind it, i&#039;m surprised that google - what with their permanent stiffie [in a good way ;) ] for python - didn&#039;t create a python-esque SDK... i know i would&#039;ve preferred it.</description>
		<content:encoded><![CDATA[<p>completely agree. as a developer, while i understand why java has been and will continue to be important, i personally hate it. again, while i understand the reasoning behind it, i&#8217;m surprised that google &#8211; what with their permanent stiffie [in a good way ;) ] for python &#8211; didn&#8217;t create a python-esque SDK&#8230; i know i would&#8217;ve preferred it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

