I am going to rant on about Android's Dalvik Virtual Machine, so be prepared.
First off, why bother with it?
A process virtual machine developed on top of Linux to run apps developed for Android?
That sounds like a messy waste of memory, clock cycles, and effort altogether.
Why couldn't Android/Google just run apps on Linux normally, through some window system, or some GUI, rather than waste time developing a process virtual machine to run apps on?
They could have taken the Canonical approach, like with Ubuntu, and run them natively, not under a virtualized system.
I mostly prefer Ubuntu for the reason that programs run natively with the Linux kernel, not through a VM with higher memory footprint. I just never understood the reason of developing Android on top of Linux, in the first place, to develop Dalvik on top of that as well.
For that matter, they could have just changed the name to Dalvik OS/Dalvik Phones, since that's the main entry-point of all apps running through, and accessing services through Linux.
Seems like a waste of time, but maybe I'm slightly wrong here.
What does anyone here think?
Aside from Android (Unless you consider Blackberry to also be "virtual" in some form), all other modern smartphone OSes run apps natively, including iOS and Windows, even Blackberry.
Theres nothing wasted though, someone made money by twinkling their fingers over a keyboard and got money they could but y material things with,
they never even used up any raw resources baring a fraction of a nuclear fuel rod used for generating the power and the fuel used to get the hacker to work.