XO-3 super-o-fficial

NoiseEHC NoiseEHC at freemail.hu
Sun Dec 27 10:14:01 EST 2009

> Actually, I would argue that an operating system that doesn't
> natively host its development tools is not appropriate for OLPC's
> target audience.
Self hosting is not an absolute requirement. You just have traded an 
existing, usable developer environment (like Eclipse) for the 
possibility of children to modify all the code. BTW the children cannot 
even modify all the code because they cannot compile the Linux kernel or 
Python itself for example. So you effectively just defined the code 
modification treeshold a little bit lower than is possible in Android. 
The price you pay for the resulting scripting language choice is 
excessive memory consumption, slow execution and painful developer 
experience. Here is a cost-benefit "analysis" from an outsider (me):

1. Because all of Etoys, Turtle Art, Scratch and JavaScript/HTML codes 
are modifiable by children, there is not too much to win by having a 
modifiable shell. Simply I do not get why would it be so good to let 
children mess with the Journal or the Shell (Frame) code. For looking 
into the inner workings of some code there are a lot of other possibilities.
2. What you do not seem to understand (probably because you are all 
experienced Python/GTK programmers) is that programming in Python/PyGTK 
is just painful. Especially in Develop. With one eye looking to the code 
and with the other looking at the documentation of Python, the 
documentation of PyGTK, the third reads the documentation of GTK (for 
the missing parts), the fourth looks at the Log Viewer since there is no 
other "debuggers"... Contrast this with the simple fact that when I type 
a dot in Eclipse then magically it shows me all the possible members and 
methods with parameters and documentation. Now that is what I call 
"discoverability", sorry but Python does not cut it. Since I did not see 
any documentation shipped on the XO machines I cannot even imagine how 
will those children understand code without an internet connection... 
What is sure that I have not seen any activities made by children yet.
3. You could invest an enormous amount of work into making Sugar a less 
painful development environment (especially on a native host) but what 
is the point? When you will have a working IDE with a working debugger 
and a working profiler the world will have already moved farther ahead 
of you. Just to give you a little perspective: the last time I used Java 
was more than 10 years ago and I have never used Eclipse. However when I 
have downloaded Eclipse and the Android SDK I could run, debug and 
modify my first application in 10 minutes. All this is maintained by 
paid OHA member employees and you know OLPC & Sugarlabs do not have the 
same resources combined to catch up with that.

So from my viewpoint native hosting is not an absolute requirement but 
just a tradeoff does not worth making.

Note that I am not telling you to drop everything and start rewrite 
Sugar in Java (because it would be kinda stupid) but dismissing a 
convergence plan with a simple "O RLY?" seems a little bit short sighted 
to me.

More information about the Devel mailing list