Originally posted by: Chris
Originally posted by: Deeko
And frankly your knowledge of programming languages is shockingly inaccurate for someone that claims to have been coding for 13 years. Especially now that you're throwing out blanket statements like the one you just made, that's completely absurd.
Such as? If you want to call you my knowledge of programming languages, cite some examples or don't make the claim.
I already did. You claimed its impossible to get good performance out of a VM. That is false. I already provided examples of companies doing just that.
Oh, and you made that comment about 80k apps above - its estimated that the Android Market has somewhere between 12-15k apps. Despite a MUCH lower installed user base of Android phones, almost primarily on the nation's smallest carrier. Now that more and more Android phones are hitting the market (Hero/Droid/Cliq are just a few, there are a lot coming in the next six months), that number will skyrocket. It has nothing to do with the quality of the SDK or Java vs C. Hell, look at consoles. PS2 was the hardest to code for of the 3 consoles last generation...and yet has by FAR the most games. Why? Because of the larger install base. Developers (well, good ones that are interested in making money) put their effort into platforms with the most potential for money, not what programming language they have to use.
You're assuming Apple will site idol and A) not sell any more iPhones and B) not go to any other carrier. There's already a rumor that the iPhone will hit Verizon's G4 service in July 2010.
There are 21M iPhones out there and 20M iPod Touches. So Apple has over a 40M unit lead and growing. So you're right, the platform with the most units will win.
I never said they wouldn't sell any more iPhones, where did I say that? I also didn't say developers would stop writing for the App Store. You have this warped little fanboy view that it has to be all or nothing. There can be phones better than iPhone for certain things. There can be apps developed for multiple platforms.
My point is simple - the Android Market has between 15-20% as many apps as the App Store. This with, I'd imagine, considerably less marketshare than that, with pretty much two phones in one year on the smallest carrier. Add a dozen phones on the larger carrier, including Verizon, and you've got a lot more Android phones on the market - and thus a lot more incentive to code for the platform - and thus a lot more than the already impressive number of Android apps already. This isn't hard.
There's a difference between the 500ms you wait for a database or web service call to return vs the 16 - 33ms response time you need to render a frame in a fluid UI app.
Most back-end jobs are just cranking out the same queries over and over which get cached in memory and the code gets compiled to native by the JIT. If there's any deviation the latency is definitely on the data provider side of the equation.
Java performance is perfectly acceptable for a back-end applications because the latency is not measured in hundredths of a second as is the case with UI apps.
You have a very strange, narrow view of the programming world. Why must every back end server wait for a database? Why must a web service call take 500ms? Why do you assume the code calling those things has no computation of its own? Believe it or not...there is more done in the programming world than rendering a UI and calling a database. Shocking, I know.
I recently worked on a middle/back end Java service that would time out after 150ms, had a target of <50ms for 99.9% of calls, and averaged about 9ms. It talked to no databases and called no other services. This Java service was directly related to a UI control - while it did not render the UI itself, the return value from the call populated the UI.
Guess what? This service was migrated from a legacy C++ call that did similar things...and had faster performance than its legacy version. Who woulda thought that was possible with a VM it is impossible to get performance out of???
Its flat out ignorant and foolish to say you can't get performance out of a language like Java or C#. Seriously, give up arguing, you are wrong. As I said before, a well coded application will perform well, period.