I've been wanting the same for Ruby, which I think is superior to Python in its syntax, clarity, and readability. I'd settle for a Ruby interpreter in every browser.
However, first, I'd like to see Firefox OS succeed. The idea behind it is better: take the most well-used web development language (client-side) and make it also the same language for writing applications (client-side). The only things missing are being able to write lower-level drivers using Javascript (not just having to hack atop Android) and for all of the server (not just Node) to be Javascript.
There is a reason that what is usually used to write OS's is basically C (or some variation), though. C is an intelligible and useful language that can be portable across architectures. C, Javascript, Python, Ruby, Java, etc. are all very similar when compared with assembly or machine code. C has the advantage of allowing more flexibility in memory management. So, I just don't see Python as an language used to develop an OS.
As for whether it makes sense to develop the appearance of everything being in Python so that kids can hack it up: you'd be better off introducing them to Scratch, Lego Mindstorms, the Arduino and have them participate in Science Olympiads. There is no modern equivalent of what we grew up with.
emacs as a login shell.... I wonder if anyone actually does that :)
Of course, in those days, everything was simpler, and for all the benefits that the modern, heterogeneous technology landscape offers us, I do think we’ve lost something by trying to make everything do everything for everyone while talking to everything else.
The people best placed to fix that are the ones who control both the hardware and the software foundation running on it, but sadly, the most obvious examples like Apple and the games console makers seem to want just about the most locked-down, developer-hostile environments in computing history.
That all said, today’s kids have the benefits of the Internet and the vast potential it offers for teaching, learning, sharing and collaborating, all on a scale we couldn’t even dream of when I was first learning to program. I wonder whether that ecosystem combined with recent hardware developments like the Raspberry Pi might offer enthusiastic youngsters a very different experience but one that ultimately encourages their interest as well or better than what we had in my generation.
Assuming you mean bash-like shells on Unix boxes, quite a few things:
1. Commands have arbitrary, hard-to-remember names.
2. Destructive commands tend not to issue warnings.
3. Mass destructive commands still tend not to issue warnings.
4. Did I mention that destructive commands don't tend to issue warnings?
5. Destructive commands typically can't be undone.
A system where you can do a lot of permanent damage without warning and where the names of things are mostly guesswork is a terrible environment for experimentation, and experimentation is often the best way to learn a new technology.
And there's a limit on your ability to destroy stuff if you're not running as root.
Nowdays with VMs, snapshots, and partition editors, learning can be accelerated.
When teaching an intro to programming, my curriculum still uses this "command shell" form. Of late, nigh unto no students have seen it, and I have to teach it as a new concept - a problem as it's more obsolete than new. Soon we'll have to give up on it as a starting point, saving it for more advanced students. GUIs rule now; beginners don't grok a text prompt.
My idea is mix https://tablib.readthedocs.org/en/latest/ as data exchange, python, ipython?, https://pypi.python.org/pypi/httpie/ (as example of the kind of commands), and termkit ideas on display, interface.
So, each command could do something like:
class ls(cmd):
def accept(self): return 'json, xml, cvs'
def output(self): return 'json, xml, cvs'
def run(self, input): return output
But the problem is that do this is hard, take time, and to be useful, require rewrite a lot of basic unix functionality (however, a compatibility can be archived, as with ipython !command) and perhaps a custom language/interpreter to make it usable.
Maximite (http://geoffg.net/maximite.html) - single IC computer running BASIC with 8 colours on VGA.