[maemo-users] Choice of Programming Languages

From: Gustavo Sverzut Barbieri barbieri at gmail.com
Date: Thu Apr 26 15:41:37 EEST 2007
On 4/26/07, Karoliina.T.Salminen at nokia.com
<Karoliina.T.Salminen at nokia.com> wrote:
> Hi,
> Easiest way to develop applications nowadays is Python + PyGtk. It
> consumes quite a bit resources but if you can code Java, you can learn
> Python in half day when other people need about one day to learn it :).
> I am currently coding with Python, and I love it! It is so nice! And you
> may find the Python + Gtk+ quite familiar as the UI is constructed in
> the same way as in the Java - the Gtk+ has different boxes that can go
> inside other widgets and you construct UI the same way as in Java and it
> becomes scalable and everything if you like.

About UI, if you want simple interfaces to automatize process, and
that should be the main need for Maemo right now, due limited input
and interaction with device, you can try to use my wrapper around
toolkits (it's just GTK now, but can/will be extended), it's also
available for Maemo (doing Hildon stuff).

SVN: http://eagle-py.googlecode.com/svn/
WWW: http://www.gustavobarbieri.com.br/eagle/

Sean Luke, another python guy, wrote Pymaemo GUI wrapper:
http://cs.gmu.edu/~sean/stuff/n800/toolkit/  It's more focused on
Maemo, while mine is mine is a general abstraction (you don't have any
access to underlying GTK).

Again, Eagle makes your life way easier (Canvas, RichText and Table),
but it's not as flexible as GTK (DrawingArea, TextView and TreeView
are just a PAIN).

> I used to code high level
> stuff with Java several years ago, but now I don't bother hacking with
> it anymore as I have found a lot better alternatives.
> If you want speed from the application and minimal resource use and
> maybe want to do low level stuff, then the obvious choice is C and Gtk+.

If you can track a critical path, probably you can rewrite it in
pyrex, a python-C mix language that helps to create bindings for
Python and C code from python-like syntax, things like:

cdef int func(int w, int h):
   cdef int x, y
   x = 0
   y = 0
   some code with x, y, w, h

this function wil lbe handled as pure-C.

> If you want to do some library with object oriented language, you can
> also use C++. I once tested that I made a library addition to Hildon
> Desktop with C++ and utilizing STL containers and it worked without
> problems. It might be also possible to create the whole project with C++
> (and use Gtk+, not Gtkmm), but I haven't so far attempted to do that.

It's possible, Murray, the gtkmm author may explain it further.

Gustavo Sverzut Barbieri
Jabber: barbieri at gmail.com
   MSN: barbieri at gmail.com
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

More information about the maemo-users mailing list