Programming language support?


#1

I was curious, what programming languages are most commonly used and readily available on Haiku? I know a decent number of languages, but I would like to know if Haiku has the potential to be a primary os capable of handling all of my development.

This is why I ask what languages are most commonly supported. My main languages are C, C++, and Python, but I use many more whenever I get bored or if someone wants something specific done.

Thank you for any and all assistance provided.
~aChallenger


#2

Look here: https://github.com/haikuports/haikuports/tree/master/dev-lang
And here:
https://github.com/haikuports/haikuports/tree/master/sys-devel


#3

Hello. If you want to develop native apps with full integration with the Haiku API, I guess you have to use C++

If you want some portability with other platforms, you can use the Qt framework.

If I remember correctly, the rest of the languages not have the same level of integration with Haiku, specially about the graphic interface.


#4

The only other language (I believe) besides C++ that has native Haiku API bindings at the moment is YAB, a kind of BASIC dialect.

For python there are qt bindings available.


#5

No, there are Python and Perl bindings too. I don’t think these are in the package repositories yet, but they do work: http://haiku.healynet.org/cgi-bin/fossil/haiku-api-bindings/home


#6

Ah, great, good to know. Will definitely try the python binding.


#7

The link for the Perl sample code is dead.


#8

I have fooled around with bindings to Haskell (GHC), more than just proof of concept. It makes about as much sense as bindings to any other non-C++ language - i.e., not much. If you want to use the API, it’s C++. A binding is for someone who is familiar enough with the C++ API but just has some Haskell software that needs a Haiku graphic interface, and that person practically doesn’t exist. Or someone who just does stuff like that for pointless amusement.

An Objective CAML binding might be worth a look. I fiddled around with that a ways back, maybe on BeOS 5? and up to a point it was not too bad, and whatever problems I may have run into have probably been addressed since then. In particular, there’s likely a better situation with concurrency vs. the runtime, which you have to watch with Haiku API. Objective CAML has a pretty sweet OOP implementation, much under-used because the typical FP user disdains such fripperies - but they shouldn’t, it’s a very respectable design.