Programming languages for GUI applications

I would be interested in doing some programming experiments for Haiku. What programming language do you recommend for developing applications with a graphical interface? (other than C and C++)

Tcl/Tk and Python+PyQT5 are two options that work well in my experience. The latter has a huge learning curve and an inconvenient license, but it’s there and works. Otherwise, a Haiku-native option I haven’t tried yet is yab, a Basic dialect with native bindings. Hope this helps!

2 Likes

Yab basic
BaCon basic with GTK or FLTK
Nim using GitHub - filcuc/nimqml: Qt Qml bindings for the Nim programming language or nimble install x11
GTK with Vala should be good.
Any language with a binding to gobect-introspection.
Icon programming language but needs WM_DELETE_WINDOW patch.
Python with PyQT
Python with haiku_pyapi
Pascal
Are some that I have tried.

1 Like

Haiku is written in C and C++, there are the main languages i think (native stuff) or yab (native too).

1 Like

I’d really recommend C++, if you’re thinking of a serious project . I have written my own API interfaces for Python, Haskell, OCaml and of course there’s a lot to like about these languages, but it’s going to be extremely difficult to get full access to the API working, in any language but C++.

My thought when I started with Python was that it would be real useful for people with a casual, lightweight need for API access, but as far as I know that demand was much smaller than I thought. At first it’s enough to have some buttons and a text window, but pretty soon you want this or that refinement, and eventually you run into the “not supported” wall. Unless you’re working in C++.

3 Likes

I’d also recommend trying to use C++.
I know that it’s not as easy and convenient as Python,but it’s what’s supported best on Haiku currently.
I tried to do some C++ and Haiku-native app experiments myself and it took me quite long to get something that’s usable,and I get that that can be frustrating,but in the end I think the result will be best that way.
Another very promising alternative using Python is Haiku-PyAPI: GitHub - coolcoder613eb/Haiku-PyAPI: Python bindings for the Haiku API
That’s still in early development,however,and I don’t know how usable it is already.

2 Likes

Indeed, Haiku-PyAPI is in its early stages. I would say it’s best only for small, simple, one-off applications.

What about HaikuApiBindings for Python? I think these are much more complete?

1 Like

Looks interesting, albeit it is targets Python 2.x (last changes on that repo from 2018, around Haiku beta1), so it will need some work to make it usable on with currently available Python versions on Haiku.

But I guess masochists people might be able to use the Perl version of those bindings as-is? (no idea, really, as I speak a negative amount of Perl).