built-in scripting languages.
Matthew S. Hamrick
mhamrick at cryptonomicon.net
Wed Apr 18 19:02:17 CEST 2007
I think maybe we need a new version of Godwin's law... "any
discussion about scripting languages should stop as soon as someone
mentions Lisp (or Smalltalk.)"
But seriously... speed probably shouldn't be THE deciding factor in a
built-in scripting language. It's the ability to get things done
Navigator and Spyglass. They were "just enough" to get done what
needed doing. I've never been the worlds biggest fan of AppleScript,
but I like that Apple says it's there to stitch apps together.
At PalmSource, some of the Ex-Be guys worked on a tool called the
Binder (now known as OpenBinder (as in http://openbinder.org/)). I
come from a CORBA background, so I was slightly less than impressed
that the only language bindings it supported out of the box was C++.
But, for a while there, PalmSource was pushing the idea of opening up
all application objects to a regular interface and adding other
So... whatever the default scripting language, let's just make sure
it has a way to get at the objects exposed by applications.
That being said... I vote for Smalltalk.
On Apr 18, 2007, at 6:47 AM, Jim Thompson wrote:
> On Apr 18, 2007, at 2:41 AM, Michael 'Mickey' Lauer wrote:
>> PyGTK looks like the most likely contender to me -- not just
>> because I
>> wrote a book about it and I'm the author of almost everything
>> Python-related in OE, but also because PyGTK is pretty mature and
>> easy to extend (you probably have seen Zecke's work in wrapping
>> the Moko
>> classes did you?).
>> The thing that worries me is the performance. The Neo1973 has a
>> slow CPU. I didn't test on a device yet, but I'm afraid running
>> 'import gtk' alone will take roughly 30 seconds, if not more.
>> We will probably have to jump through hoops to make _any_ scripting
>> language to perform reasonably on the Neo1973 (first incarnation).
> Well, python is known to be slow.
> There is plenty of CPU on the OpenMoko for something like Lua.. or
> lisp, or scheme
> might look into Chicken Scheme: <http://www.call-with-current-
> It runs on the Nokia 770: <http://chicken.wiki.br/chicken%20on%
> 20handhelds>, and the Zaurus, both of which have less CPU
> than the Neo1973.
> Chicken Scheme compiles to 'C'. Its fast, way faster than Python.
> One of the more recent additions to Chicken is the 'Easy Foreign
> Function Interface'. This enables you to embed C or C++ code inside
> your Scheme code and it gets converted to Scheme automatically. The
> example given in the manual <http://chicken.wiki.br/easyffi> or
> <http://www.call-with-current-continuation.org/chicken.pdf> uses
> Chicken Scheme to write a Qt application. The Qt classes get
> automatic wrappers generated using the object system (TinyClos). So
> the actual Scheme code looks like:
> (define a (apply make <QApplication> (receive (argc+argv))))
> (define hello (make <QPushButton> "hello world!" #f))
> (resize hello 100 30)
> (setMainWidget a hello)
> (show hello)
> (exec a)
> (destroy hello)
> (destroy a)
> There is a GTK SWIG for Chicken: <http://wiki.freaks-unidos.net/
> Someone should also look into putting Einstein <http://
> www.kallisys.com/newton/einstein/> the NewtonOS port on the
> Neo1973. It already runs on the
> Nokia 770 and the Zaurus.
> OpenMoko community mailing list
> community at lists.openmoko.org
More information about the community