The Artima Developer Community
Sponsored Link

Python Buzz Forum
OLPC, Python...

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Ian Bicking

Posts: 900
Nickname: ianb
Registered: Apr, 2003

Ian Bicking is a freelance programmer
OLPC, Python... Posted: Oct 21, 2006 2:05 PM
Reply to this message Reply

This post originated from an RSS feed registered with Python Buzz by Ian Bicking.
Original Post: OLPC, Python...
Feed Title: Ian Bicking
Feed URL: http://www.ianbicking.org/feeds/atom.xml
Feed Description: Thoughts on Python and Programming.
Latest Python Buzz Posts
Latest Python Buzz Posts by Ian Bicking
Latest Posts From Ian Bicking

Advertisement

Starting a week, or I guess two weeks ago, I'll be spending 50% of my time on the One Laptop Per Child project in addition to my normal job at The Open Planning Project. TOPP has been very generous and understanding about me splitting my time, and are actually funding my work for OLPC. I really like TOPP. But back to OLPC...

What has been talked about only a little (that I've seen) is how central Python is to the OLPC development. It's not the most exciting thing about the project (there's a lot of exciting things about the project), but it should be pretty exciting to the Python community, and probably the readers of this blog.

The post I linked to called Python the "application development language of choice". I think that's actually understating it. The laptop is very resource constrained (current specs are 128Mb RAM, 512Mb flash storage, and a 500MHz processor). There's not enough room to support lots of environments running simultaneously. Of course there's lots of C, and probably some C++ -- any compiled language with a small runtime would work fine. There's the shell, Javascript (in the browser), Smalltalk (in the form of Squeak and EToys), and then there's Python. And that's it.

Most of the UI (called Sugar) is being written in Python, and probably several other kinds of infrastructure are also going to be in Python.

I'm not actually sure when or how this architectural decision was made. But I think it's a very reasonable decision; Python is at the right stage in its life for this project. It's a mature language and environment, there's quite a bit of knowledge about the environment spread out over a lot of communities (for example, it's pretty commonly used in Gnome, and for system management in Red Hat). Lots of people who use Python aren't part of the Python community, which is a good thing. It's free software, not just the language core but the vast majority of the libraries. It's relatively simple and safe to program in (we can't be introducing more buffer overflows). It is by design a very practical language and environment.

I noted all the conservative reasons why someone would choose Python. OLPC is not a language development project. It isn't a framework development project. It isn't a technology project. It's an education project. When possible the technical choices should be conservative, so those reasons seem most important.

The laptop design isn't very conservative. It's far less powerful than typical modern computers. Looking at this from the eyes of someone from several years ago, it's a great machine, but it seems pokey and small now. So we just need to readjust our expectations.

But the hardware, as novel as it is, isn't the only atypical choice. For instance, OLPC won't have overlapping windows. (I'm already a fan of that.) All the UI will be trimmed back, not just because of resource limitations but because these computers need to be easy to use. Very easy to use: not only are they given to children, there won't necessarily be anyone more experienced around to help with things (except online).

And who needs a word processor when you don't have a printer? Who needs an Excel-compatible spreadsheet program when you don't know anyone who uses Excel? Especially when you are 8 years old. It's the most un-enterprisey system possible.

It's these novel system, software, and UI decisions that really excite me. More about that later...

Read: OLPC, Python...

Topic: Ubuntu and Debian on Windows Previous Topic   Next Topic Topic: Desert Code Camp is Oct. 28

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use