Suite à un journal précédent, je me suis mis un peu à Ada. Je ne suis pas programmeur, mais j'aime bien découvrir des langages : pourquoi il a été conçu, pour répondre à quel besoin, qu'est-ce qu'il apporte par rapport à d'autres...
J'aime beaucoup la syntaxe claire et lisible de Ada (avec un opérateur pipe %>% comme avec le langage R, cela aurait été top) et j'ai voulu reprendre un ancien projet que j'avais commencé en python il y a quelques années (sans jamais le terminer) pour tester. C'est une interface pour commander par MIDI un pédalier d'effets. Et malheureusement, c'est un peu la misère avec Ada :
Pour un GUI un peu complet (et esthétique ?), à part du GTK3, il n'y a pas grand chose. Et commencer un nouveau projet avec GTK3 en 2022, comment dire... En plus, il est assez incomplet (pas de GIO par exemple nécessaire pour GSettings). J'ai demandé aux développeurs de GTKAda s'il y avait des projets de binding GTK4, mais rien n'est prévu à ce jour.
Pour le MIDI, j'utilisais RTMidi. Évidemment pas de binding Ada.
Je me dis « pas de problème », il suffit d'utiliser l'option -fdump-ada-spec de gcc (ou g++ pour du C++) pour générer un binding minimal. Mais non, la plupart du temps le binding généré ne compile pas et il faut s'amuser à debugger les ads générés. Peut-être des fois plus simple de les écrire à la main directement lorsque l'on n'utilise qu'une partie réduite de l'API ?
Bref, j'ai un peu abandonné Ada (et repris mon projet en python), mais c'est dommage car le voyage était sympa.
Note : après avoir connu un certain regain d'intérêt au début des années 2010, le langage semble avoir beaucoup perdu de dynamique ces 3-4 dernières années. C'est dommage, Ada est tellement plus lisible que Rust. Je ne sais pas vous, mais le livre GUI development with Rust and GTK 4 m'a fait plutôt fuir.
# Ma courte expérience en Ada
Posté par shuihuzhuan . En réponse au journal Retour sur une année d'apprentissage d'Ada par un dev C++. Évalué à 5.
Bonjour,
Suite à un journal précédent, je me suis mis un peu à Ada. Je ne suis pas programmeur, mais j'aime bien découvrir des langages : pourquoi il a été conçu, pour répondre à quel besoin, qu'est-ce qu'il apporte par rapport à d'autres...
J'aime beaucoup la syntaxe claire et lisible de Ada (avec un opérateur pipe
%>%comme avec le langage R, cela aurait été top) et j'ai voulu reprendre un ancien projet que j'avais commencé en python il y a quelques années (sans jamais le terminer) pour tester. C'est une interface pour commander par MIDI un pédalier d'effets. Et malheureusement, c'est un peu la misère avec Ada :Pour un GUI un peu complet (et esthétique ?), à part du GTK3, il n'y a pas grand chose. Et commencer un nouveau projet avec GTK3 en 2022, comment dire... En plus, il est assez incomplet (pas de GIO par exemple nécessaire pour GSettings). J'ai demandé aux développeurs de GTKAda s'il y avait des projets de binding GTK4, mais rien n'est prévu à ce jour.
Pour le MIDI, j'utilisais RTMidi. Évidemment pas de binding Ada.
Je me dis « pas de problème », il suffit d'utiliser l'option
-fdump-ada-specde gcc (ou g++ pour du C++) pour générer un binding minimal. Mais non, la plupart du temps le binding généré ne compile pas et il faut s'amuser à debugger les ads générés. Peut-être des fois plus simple de les écrire à la main directement lorsque l'on n'utilise qu'une partie réduite de l'API ?Bref, j'ai un peu abandonné Ada (et repris mon projet en python), mais c'est dommage car le voyage était sympa.
Note : après avoir connu un certain regain d'intérêt au début des années 2010, le langage semble avoir beaucoup perdu de dynamique ces 3-4 dernières années. C'est dommage, Ada est tellement plus lisible que Rust. Je ne sais pas vous, mais le livre GUI development with Rust and GTK 4 m'a fait plutôt fuir.