Hallo!
C++ mit QT und GTK mit C oder C++ funktioniert super. Sowas wie QT Creator (wenn man IDEs mag) ist nett.
Zu Java schweige ich mal.
Go ist etwas, was ich ganz gerne habe, aber ich glaube nicht, dass es (derzeit) deinem Anforderungsprofil entspricht. Gründe: Auch wenn du QT und GTK-Bindings hast ist das nicht ganz so ausgereift, wie du vielleicht magst. Ich glaube nicht, dass es generell viele Go-Programmierer gibt, die ähnliches tun, wie du. Insofern müsstest du dir viel selbst bauen (was ja durchaus Spaß machen kann).
Swift ist sehr, sehr stark auf iPhone-App-Entwicklung fokussiert und selbst da raten viele Leute davon ab, weil zu neu und eventuell nur ein Trend. Kann aber dazu sonst nicht viel sagen.
Mit Rust wird einiges an Low-Level-Programmierung gemacht und es gibt auch diverse GUI-Frameworks. Allerdings eben recht neu, kleine Community und ähnlich wie bei Go wahrscheinlich viel zum komplett selbst bauen.
Was deine anderen Anforderungen betrifft.
Wenn du Rust nehmen willst. Es gab mal jemanden, der Rust an der Uni für OS-Entwicklung verwendet hat. Dazu sei angemerkt, dass das schon ein Weilchen her ist und sich seit damals sehr viel getan hat.
- C/C++ ggf. mit Qt oder GTK als GUI?
- Java?
- Go?
- Swift?
- Rust?
C++ mit QT und GTK mit C oder C++ funktioniert super. Sowas wie QT Creator (wenn man IDEs mag) ist nett.
Zu Java schweige ich mal.
Go ist etwas, was ich ganz gerne habe, aber ich glaube nicht, dass es (derzeit) deinem Anforderungsprofil entspricht. Gründe: Auch wenn du QT und GTK-Bindings hast ist das nicht ganz so ausgereift, wie du vielleicht magst. Ich glaube nicht, dass es generell viele Go-Programmierer gibt, die ähnliches tun, wie du. Insofern müsstest du dir viel selbst bauen (was ja durchaus Spaß machen kann).
Swift ist sehr, sehr stark auf iPhone-App-Entwicklung fokussiert und selbst da raten viele Leute davon ab, weil zu neu und eventuell nur ein Trend. Kann aber dazu sonst nicht viel sagen.
Mit Rust wird einiges an Low-Level-Programmierung gemacht und es gibt auch diverse GUI-Frameworks. Allerdings eben recht neu, kleine Community und ähnlich wie bei Go wahrscheinlich viel zum komplett selbst bauen.
Was deine anderen Anforderungen betrifft.
- Alle sind Cross-Platform (Go bis hin zu Plan9)
- GUI, mit allem Möglich, allerdings wirst du mit C/C++ am Besten fahren
- Stabil - Alle Sprachen werden in Production eingesetzt. Was Stabilität angeht sind Rust und Swift wohl weiter unten angesiedelt (weil neuer), dann Go (auch weil das Projekt von Anfang an sehr starken Fokus auf eine fertige Spezifikation und Kompatibilität hatte) in der Mitte und C/C++ und Java dürften die Stabilisten Sprachen sein.
- Kommunikation mit USB: Denke das geht mit allen genannten Sprachen einigermaßen gut. Nur bei Swift weiß ich nicht, wie das geht.
- Der Punkt mit der Auslieferung als Binärdatei. Da fällt Java wohl weg? Swift weiß ich nicht, Go definitiv (als einzelne Datei - in Go ist ein statisches Binary ohne irgendwelche externen Abhängigkeiten der Standardfall und Cross-Compiling ein Traum) und Rust auch.
- Einfachheit von Code: Bei C, C++ und Java hast du den Vorteil, dass die das wohl beherrschen/lesen können. Go hat den Vorteil, das es eine kleine, sehr schnell erlernbare Sprache ist. Swift ist komplexer und bei Rust kommt, selbst wenn die Sprache nicht per se schwierig ist, hinzu dass man bestimmte Konzepte verstehen muss.
- Zum letzten Punkt kann ich leider nicht viel sagen.
Wenn du Rust nehmen willst. Es gab mal jemanden, der Rust an der Uni für OS-Entwicklung verwendet hat. Dazu sei angemerkt, dass das schon ein Weilchen her ist und sich seit damals sehr viel getan hat.