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
simply. I think that's why javascript / livewire made it's way into
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
language bindings.
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.
-Cheers
-Matt H.
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
>> really
>> 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-
> continuation.org/index.html>
>
> 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.
> <http://curiousprogrammer.wordpress.com/2006/09/25/switching-scheme-
> implementations/>
>
> 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/
> chicken-gtk>
>
> 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.
>
>
> Jim
>
> _______________________________________________
> OpenMoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community
More information about the community
mailing list