Talk:Higher level language options

From Openmoko

Revision as of 21:36, 27 April 2007 by Miohtama (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The 'feature matrix' is, imho, an ill-concieved idea. There is no way you can fit the subtleties and details of programming langauges into a matrix. One of the huge problems is that many languages have a variety of compilers, interpreters, etc, each with its own performance traits.

The matrix concept is salvageable - split it into multiple categories - Interpreted, Just-in-timed, and compiled. The main reason for this is the large variance in difficulty in porting each category. The matrix within each of these categories would be tailored to it. For JIT and interpreted, the core executer size is important. For JIT, the estimated startup time for complex apps is important. Another issue is portage. Many interpreters for major interpreted languages are written in C for this very reason - there's not so much that an interpreter must depend on. Compilers are quite a bit harder to handle, as they must generate quite specific code. JITs will sometimes have a subset which must be rewritten on port - for mono, this is about 5000 lines.

Mgsloan 09:04, 19 April 2007 (CEST)

It seems Python is the higher level language of choice for GNOME Mobile & Embedded Initiative , the One Laptop per Child project and the best supported HLL in Nokias Maemo platform. So we can probably expect many mobile applications for these platforms will be written in Python, and also that Python bindings for essential libraries will have lots of community support. Things like these should perhaps also be important deciding factors, not only the specifics of the language itself.

--Anderso 09:13, 20 April 2007 (CEST)

Also, Nokia has ported Python to its Series 60 platform. It's used for rapid prototyping and some third party apps.

Personal tools

The 'feature matrix' is, imho, an ill-concieved idea. There is no way you can fit the subtleties and details of programming langauges into a matrix. One of the huge problems is that many languages have a variety of compilers, interpreters, etc, each with its own performance traits.

The matrix concept is salvageable - split it into multiple categories - Interpreted, Just-in-timed, and compiled. The main reason for this is the large variance in difficulty in porting each category. The matrix within each of these categories would be tailored to it. For JIT and interpreted, the core executer size is important. For JIT, the estimated startup time for complex apps is important. Another issue is portage. Many interpreters for major interpreted languages are written in C for this very reason - there's not so much that an interpreter must depend on. Compilers are quite a bit harder to handle, as they must generate quite specific code. JITs will sometimes have a subset which must be rewritten on port - for mono, this is about 5000 lines.

Mgsloan 09:04, 19 April 2007 (CEST)

It seems Python is the higher level language of choice for GNOME Mobile & Embedded Initiative , the One Laptop per Child project and the best supported HLL in Nokias Maemo platform. So we can probably expect many mobile applications for these platforms will be written in Python, and also that Python bindings for essential libraries will have lots of community support. Things like these should perhaps also be important deciding factors, not only the specifics of the language itself.

--Anderso 09:13, 20 April 2007 (CEST)

Also, Nokia has ported Python to its Series 60 platform. It's used for rapid prototyping and some third party apps.