J'imagine que tu plaisantes, mais j'ai récemment songé sérieusement à me mettre à l'ADA, qui offre un certain nombre de points commun avec le C++, en mieux ( encore plus casse-pied sur les types, il paraît... J'aime bien l'idée! Et puis, un langage qui produit de vrais binaires, vraiment lisibles par le CPU, ça se fait rare de nos jours, alors en connaître 2 ( 4 si je compte le C et l'asm intel x86 - hum, et encore - ... ) me ferait bien plaisir )
Par contre, il semble qu'il y ait un manque critique de lib pour gérer correctement les IHM sous ce langage. Il y a aussi le fait que gnat soit infernal à utiliser. Ce truc est le pire IDE que j'aie tenté d'utiliser sérieusement... GUI bordélique à souhait, on sait même pas ou aller pour compiler un nouveau projet. Bref. Je ne parlerait pas du tuto qui présuppose un nombre élevé de trucs. Ca reste de la doc de gnou, dans le genre bestial on fait difficilement mieux (avis personnel).
Et je n'ai pas trouvé grand chose (rien en fait, mais j'avoue que pour m'initier à un nouveau langage, j'aurait préféré un outil qui en fasse un maximum à ma place, pour commencer gentiment. Donc pas plus cherché que ça) au sujet de compiler en ligne de commande, non plus ( pourtant, ça me suffit amplement, compte tenu du fait que mon système utilisateur est un vrai IDE pour c++ en tant que tel, à condition de savoir taper 3-4 commandes ).
SDL à un portage entamé pour ADA( sur github ), par quelqu'un qui veut prouver qu'on peut faire des jeux en ADA ( ce qui, compte tenu du fait que ce langage soit conçu pour créer des armes militaires, et donc pour être hyper fiable tout en pouvant gérer du bas niveau - comme C++ en fait, sauf pour les armes militaires - , me semble pas stupide! ). Mais je crains que ce portage ne soit pas spécialement utilisable.
Le concurrent de la SDL, la SFML, ne supporte certainement pas l'ADA, et personne ne semble s'y être mis ( logique, SFML est déjà peu utilisée en C++, alors porter pour ADA... ).
Et pour finir, il semble que, comme C++, ADA n'ait pas de lib pour créer des GUI, ou plutôt pas de "lib mainstream" ( mais pour un langage si peu connu... pas surprenant ).
Pour un jeu vidéo... ces détails sont gênants, car le jeu vidéo fait une grande utilisation de l'écran, et pas juste pour afficher 3 caractères qui se battent en duel ( toujours, toujours compter le témoin! Sinon, c'est un assassinat ;) ).
Du coup, coder un jeu en ADA serait... particulièrement intéressant, pour moi. Réinventer la roue n'est pas systématiquement mauvais ( la plupart des libs de toolkit le font, après tout, sauf wx ) si l'on fait un truc propre qui n'est pas lié par les contrainte historiques du langage.
Mais je ne crois pas que tout le monde serait d'accord avec moi. Réinventer la roue, remettre en question les implémentations séculaires ( ou demi-séculaires pour les logiciels ) n'est pas toujours bien vu, surtout s'il existe un truc libre.
Il s'agit de quelque chose que j'aimerais bien faire, en fait. Faire différemment des autres, par esprit de contradiction, mais aussi parce que je serais toujours moins bon que les autres dans leur domaine d'expertise si je me contente de les singer. Et faire différemment permets parfois de trouver de nouvelles façons efficaces de faire les choses. Les inventions et trouvailles majeures liées à des erreurs, ça existe, après tout (on peut rêver).
PS: si t'as des document expliquant comment faire un vrai hello world, en ligne de commande, pas à pas, expliquant la syntaxe et les paradigmes du langage plutôt que des trucs aussi inutiles que la description de l'API des fonctions standard ( pour lesquelles un lien vers un document les expliquant de façon technique me suffit. Je ne suis peut-être pas un maître du dev, mais je suis un dev malgré tout, lire de la doc d'API me fait pas peur. )
A partir d'un truc aussi petit, qui explique comment compiler et la syntaxe, on peut apprendre très vite le reste. Créer un mécanisme de GUI n'est pas si dur après tout: une classe fenetre, une sizer qui en hérite et agrège une liste de fenetre, une spacer qui hérite de fenetre, et une widget qui hérite de fenetre et agrège une image, et la moitié est faite. L'autre moitié, c'est dire que fenetre agrege des gestionnaires d'évènements... rien d'extraordinaire. Et avec la prog générique, on peut faire un truc qui aie le même comportement en mode graphique ou en mode texte en plus.)
[^] # Re: Ada ?
Posté par freem . En réponse à la dépêche Concours de programmation CodinGame le 22 mars 2014. Évalué à 1.
J'imagine que tu plaisantes, mais j'ai récemment songé sérieusement à me mettre à l'ADA, qui offre un certain nombre de points commun avec le C++, en mieux ( encore plus casse-pied sur les types, il paraît... J'aime bien l'idée! Et puis, un langage qui produit de vrais binaires, vraiment lisibles par le CPU, ça se fait rare de nos jours, alors en connaître 2 ( 4 si je compte le C et l'asm intel x86 - hum, et encore - ... ) me ferait bien plaisir )
Par contre, il semble qu'il y ait un manque critique de lib pour gérer correctement les IHM sous ce langage. Il y a aussi le fait que gnat soit infernal à utiliser. Ce truc est le pire IDE que j'aie tenté d'utiliser sérieusement... GUI bordélique à souhait, on sait même pas ou aller pour compiler un nouveau projet. Bref. Je ne parlerait pas du tuto qui présuppose un nombre élevé de trucs. Ca reste de la doc de gnou, dans le genre bestial on fait difficilement mieux (avis personnel).
Et je n'ai pas trouvé grand chose (rien en fait, mais j'avoue que pour m'initier à un nouveau langage, j'aurait préféré un outil qui en fasse un maximum à ma place, pour commencer gentiment. Donc pas plus cherché que ça) au sujet de compiler en ligne de commande, non plus ( pourtant, ça me suffit amplement, compte tenu du fait que mon système utilisateur est un vrai IDE pour c++ en tant que tel, à condition de savoir taper 3-4 commandes ).
SDL à un portage entamé pour ADA( sur github ), par quelqu'un qui veut prouver qu'on peut faire des jeux en ADA ( ce qui, compte tenu du fait que ce langage soit conçu pour créer des armes militaires, et donc pour être hyper fiable tout en pouvant gérer du bas niveau - comme C++ en fait, sauf pour les armes militaires - , me semble pas stupide! ). Mais je crains que ce portage ne soit pas spécialement utilisable.
Le concurrent de la SDL, la SFML, ne supporte certainement pas l'ADA, et personne ne semble s'y être mis ( logique, SFML est déjà peu utilisée en C++, alors porter pour ADA... ).
Et pour finir, il semble que, comme C++, ADA n'ait pas de lib pour créer des GUI, ou plutôt pas de "lib mainstream" ( mais pour un langage si peu connu... pas surprenant ).
Pour un jeu vidéo... ces détails sont gênants, car le jeu vidéo fait une grande utilisation de l'écran, et pas juste pour afficher 3 caractères qui se battent en duel ( toujours, toujours compter le témoin! Sinon, c'est un assassinat ;) ).
Du coup, coder un jeu en ADA serait... particulièrement intéressant, pour moi. Réinventer la roue n'est pas systématiquement mauvais ( la plupart des libs de toolkit le font, après tout, sauf wx ) si l'on fait un truc propre qui n'est pas lié par les contrainte historiques du langage.
Mais je ne crois pas que tout le monde serait d'accord avec moi. Réinventer la roue, remettre en question les implémentations séculaires ( ou demi-séculaires pour les logiciels ) n'est pas toujours bien vu, surtout s'il existe un truc libre.
Il s'agit de quelque chose que j'aimerais bien faire, en fait. Faire différemment des autres, par esprit de contradiction, mais aussi parce que je serais toujours moins bon que les autres dans leur domaine d'expertise si je me contente de les singer. Et faire différemment permets parfois de trouver de nouvelles façons efficaces de faire les choses. Les inventions et trouvailles majeures liées à des erreurs, ça existe, après tout (on peut rêver).
PS: si t'as des document expliquant comment faire un vrai hello world, en ligne de commande, pas à pas, expliquant la syntaxe et les paradigmes du langage plutôt que des trucs aussi inutiles que la description de l'API des fonctions standard ( pour lesquelles un lien vers un document les expliquant de façon technique me suffit. Je ne suis peut-être pas un maître du dev, mais je suis un dev malgré tout, lire de la doc d'API me fait pas peur. )
A partir d'un truc aussi petit, qui explique comment compiler et la syntaxe, on peut apprendre très vite le reste. Créer un mécanisme de GUI n'est pas si dur après tout: une classe fenetre, une sizer qui en hérite et agrège une liste de fenetre, une spacer qui hérite de fenetre, et une widget qui hérite de fenetre et agrège une image, et la moitié est faite. L'autre moitié, c'est dire que fenetre agrege des gestionnaires d'évènements... rien d'extraordinaire. Et avec la prog générique, on peut faire un truc qui aie le même comportement en mode graphique ou en mode texte en plus.)
PPS: pardon pour le pavé