> > 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. ps: 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. _______________________________________________ Devel mailing list [email protected] http://lists.laptop.org/listinfo/devel
