Quote from simonckenyon on November 23, 2011, 23:25
so what is missing that would have to be added to make it a full OS? anything that you can ssh into and edit files with vi from within a bash sound pretty much like an OS to me.
Android already is a full OS. It inherits that from the Linux core it sits on. The Android environment is, more or less, and modulo the odd kernel tweak here and there, merely a user interface and software API layer, rather like X and associated libraries.
Leaving aside that it's a big, bloated pile of "Java^H^H^H^HDalvik" with massive hardware requirements, the main issues, as I see them, are:
- It leaves an awful lot to be desired as a general purpose computing platform. I say this as someone who has an Android based tablet. The "well defined UI" is fine as a front end to a smartphone, and later versions approach "acceptable" for tablet devices, but it's aimed at consumption of pre-packaged media and delivery of advertising. there's an awful lot of things that are, quite frankly, just plain wrong with Android as a general purpose OS, and I could witter on about them for hours.
Let's just look at what's wrong with Android when applied to a device that's intended as a low-cost tool for kids to learn programming:
- It restricts what you can easily do in terms of programming to, at best, languages that target the Java^H^H^H^HDalvik VM. Sure, you can go "under the hood" with "C" (assuming you can find documentation for what you can do, Android-wise), or any other language that requires merely libc, but at that point the whole Android runtime environment is superfluous.
- Programming Android, using its "well defined toolchain" require another, heavy duty and expensive computing device as the development host. You can't do it "on device" without a significant amount of work developing an Android UI for programming. That also goes for any other language you might want to implement under the hood.
So, if we assume that Android can be shoehorned on to the Pi, and totally ignoring performance issues, the choice basically comes down to whether you want to be able to develop on the device or not.