![]() |
Re: Meego vs Android apps (C or Java?)
Zimon, theory is one thing, reality is another (otherwise we'd be using lisp or prolog :) ). 5-10 years after the papers you mention and a few million (billion?) $ thrown at it by Sun and Google, it's still 'not there yet'. Android giving in to the pressure and being polluted by native code tells the story pretty well. And people wanting to earn their bread and/or geek creds writing code are doing it today - we're talking about *today's* technologies, not the hypothetical performance in some unclear point in the future.
PS. As for time critical - in mobile space 'slow' translates into 'power-hungry' (because it goes against race-to-idle, etc). |
Re: Meego vs Android apps (C or Java?)
Quote:
The other statement, that it can't be done to fully compiled code, is plain wrong. Previous week I was watching Intel-made slides about how there's various research teams trying to do exactly that (and some more optimizations that you can do when you start getting runtime information). In fact, Transmeta used to do that (as attila already pointed out). |
Re: Meego vs Android apps (C or Java?)
Quote:
Regardless of reality, that argument is invalidated by the most basic logic. Just because something has not been done, does not mean it cannot be done. |
Re: Meego vs Android apps (C or Java?)
Quote:
When you buy a car, do you look at the cars there are now on the market, or the cars that will fly? The Java/VM/JIT being faster than native code with the right tweaks is the biggest bunch of crap ever. How can someone sane believe that compiled code can't do the same stuff that VM/JIT code does? You never heard of stuff such as: if(platform)do_platform_optimized_stuff();? Or: If(have_sse)do_sse(); else do_non_sse(); There is NOTHING faster than native code (preferably well written ASM code). When you have the runtime code doing stupid stuff like garbage collection or enforcing array limits, there is a big speed penalty. Remember, the fastest code is the code that is not executed. There is absolutely no reason for garbage collection, except to accommodate lazy/newbie programmers. Same with not using pointers because omfg, they are evil. |
Re: Meego vs Android apps (C or Java?)
There is only one truth:
If you ask a developer, what is the best/perfect/fastes ... programing language. And he/she answers language XY, then he/she isn't a well experienced developer. nicolai |
Re: Meego vs Android apps (C or Java?)
Quote:
1. The predictions are based on how native compilers worked ten years ago and assume that they won't *qualitatively* be different in the future. From .NET and LLVM implementation we already know this is not true, so your baseline what you need to get better than IS moving upwards. 2. Occam's razor works against you. You know that the Java-ish VM approach has both advantages and disadvantages. There has been a tanker-loads of money sunk into optimizing it by Sun, IBM and Google. Where this turns into occam's razor is that 5-10 years later, it's still objectively slower, so either the perceived benefits are not as huge or as easily implementable as thought 10 years ago, or everybody at Sun/IBM/Google is an idiot. Your pick. 3. This 'compiler/VM/interpreter technology advances will make all current languages obsolete' is a repeating thing. I remember when lisp/prolog were the next big thing. Just imagine, you don't need to define procedures how tasks are done, so in theory a good interpreter can make a better native code path than a human programmer ever could ! The key here is - in theory. Academic papers will be happy to point out corner cases in which alternative approaches beat out the incumbent one, but we're not in the business of academic papers - software development is engineering, and engineers have the tools of today to build the applications of today. Disclaimer (again): I was a Java guy, but nowadays I do C++ (w Qt) by day and Python by night. |
Re: Meego vs Android apps (C or Java?)
we, maemo5 and Meego are saved!
http://www.myriadgroup.com/Media-Cen...id-Phones.aspx |
Re: Meego vs Android apps (C or Java?)
Quote:
On the other side, they require expresal approval and a few modifications* from the original app owners, so I believe this won't cause many "trouble". * "Dalvik is not Android" I said, remember? ;) |
Re: Meego vs Android apps (C or Java?)
Quote:
What you say is true only under perfect conditions (like looking for a non-rating black hole). In practice much of a program's speed comes from the algorithms and code organization instead of small-things optimization. For example, in theory it would be faster if you used the assembly language but in practice this will result in slower code since you'll not implement common patterns as good as they are already implemented by any other language (or its libraries). That's why it may be faster to write something in python using Qt bindings (or java) than write it in C++, since you'll take advantage of some very efficient data handling methods that you'll most probably won't implement yourself. Of course there are many exception to the above (e.g. linux kernel), but when dealing with common program developers like ourselves, the above becomes mostly true. However, there are other benefits in native code than the speed and that's where you should focus instead. |
Re: Meego vs Android apps (C or Java?)
Quote:
There is always this unknown critical mass of applications so any platform can survive. Having ability to run Android apps in Meego helps to reach this critical mass sooner, or at once now. It is interesting to see in the video, Adobe Photoshop Android application runs as fast in N900 under Alien Dalvik than in HTC (what model?) under real Dalvik. |
| All times are GMT. The time now is 08:23. |
vBulletin® Version 3.8.8