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):
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
More information about the Devel