On peut rechercher un langage optimal pour créer toute sorte d'outils sur mesure, selon ses besoins propres. Voici quelques-un des prérequis possibles :
Nous allons maintenant Ă©tudier quelques pistes :
Les bases du C ne sont pas excessivement compliquées (moins que l'assembleur), néanmoins il impose une certaine discipline, et si les prémices sont compréhensibles, bien qu'un peu fastidieux (par exemple il faut déclarer le type de toutes les variables), les choses se complexifient rapidement.
Et dÚs que l'on veut rajouter du graphisme, les difficultés deviennent exponentielles, bref c'est un vrai métier que de l'utiliser.
à tester : BaCon, un basic qui permet de générer des programmes en C qui se compilent directement...
=> BaCon
Uxn est un langage bas niveau, proche de l'assembleur, mais il a des caractéristiques trÚs intéressantes (concision des binaires, utilisation d'une machine virtuelle), malgré ses limitations (4 couleurs maximum). Ce n'est pas un langage "professionel", mais un hobby rassemblant quelques hackers et génies de l'informatique. Sa courbe d'apprentissage est raide, mais c'est une activité intéressante d'essayer d'en comprendre les arcanes.
=> Page sur Uxn
FreePascal et Lazarus permettent de créer des programmes en Pascal. Je ne l'ai pas assez étudié pour en parler ici.
=> https://www.lazarus-ide.org/
Inform est un systÚme de création de jeux d'aventure textuels (fictions interactives). Tandis que la version 6 ressemble à un langage assez classique, proche du C, avec une approche orientée objet et procédurale, la version 7 utilise du langage naturel et de la programmation déclarative.
Bien que ces langages soient surtout adaptés pour créer des jeux, il est également possible de programmer de façon plus classique dessus.
=> https://ganelson.github.io/inform-website/ | https://fr.wikipedia.org/wiki/Inform_(programmation)
J'ai lu quelques ouvrages sur le sujet, notamment l'excellent "Apprendre à programmer avec Python" de Gérard Swinnen, mais malgré mes efforts, je crois que je déteste tout simplement ce langage et sa syntaxe, et en particulier le fait d'imposer des signes invisibles (espaces ou tabulation des indentations) pour déterminer du sens, je trouve cela absolument contre-productif et ce n'est pas dans ma logique.
=> "Apprendre Ă programmer avec Python" de GĂ©rard Swinnen
Ajoutons qu'il est compliqué de créer une interface graphique correcte, tkinter dépanne mais n'est pas visuellement trÚs agréable, et pyQt casse sa compatibilité d'une version à l'autre, ce qui peut rappeler ce qui s'est passé lors du passage de Python 2 à Python 3.
Python possÚde de nombreuses bibliothÚques permettant de réaliser tout et n'importe quoi, et le problÚme est qu'il est nécessaire d'utiliser la bonne bibliothÚque avec la bonne version de python, et cela devient rapidement une usine à gaz de gérer tout cela, rien que pour un petit projet.
Bref, je continuerai peut-ĂȘtre Ă Ă©tudier python de par son cĂŽtĂ© "indispensable", mais cela ne deviendra jamais un langage prĂ©fĂ©rĂ©.
Je ne l'ai pas assez Ă©tudiĂ©, mais cela ne peut pas ĂȘtre pire que python de toute maniĂšre :)
La syntaxe semble assez Ă©lĂ©gante, sans avoir certains travers d'autres langages. Cela peut ĂȘtre un excellent choix. Lua est plus populaire comme scripts pour concevoir des jeux (en complĂ©ment de C ou C++), alors que Ruby se suffit Ă lui-mĂȘme (mais semble plus lent que lua).
=> https://www.ruby-lang.org/fr/documentation/quickstart/
Forth est un vieux langage, et il prĂ©sente malgrĂ© tout de nombreux avantages, j'apprĂ©cie notamment le mode REPL (que l'on peut Ă©galement retrouver dans d'autres langages interprĂ©tĂ©s). Son expressivitĂ© le rend agrĂ©able Ă utiliser, un peu comme une seconde nature, mĂȘme si les arcanes de l'apprentissage avancĂ© et sa rusticitĂ© le rendent malgrĂ© tout difficile.
Sorte d'ovni dans le paysage du thĂšme qui nous concerne, c'est Ă la fois une machine virtuelle, un environnement de programmation complet et un langage assez ancien, oĂč tout est objet.
De par son cÎté tout intégré, il semble complÚtement à l'opposé de la rudesse et la simplicité de Forth par exemple.
On pourra comparer les exemples donnés sur "Learn X in Y minutes" avec ceux en Forth par exemple...
=> Learn Smalltalk in Y minutes
=> https://squeak.org/ | introduction en vidéo | Manuel de Cuis-Smalltalk, didactique, avec un point de vue intéressant.
Je n'ai pas compris exactement si Rebol Ă©tait compilĂ© ou interprĂ©tĂ©, je pense qu'il doit ĂȘtre plus ou moins prĂ©compilĂ© Ă l'exĂ©cution (type "just in time").
Il est trÚs concis et léger, et issu du monde Amiga comme son auteur. Il ne semble plus trop développé, et n'est pas entiÚrement libre ou open-source, seule sa derniÚre version, la R3, l'est. Je n'ai pas trouvé si elle permettait toutes les applications de la R2.
Néanmoins, le langage Red est dans la continuité de Rebol, et est lui activement développé. Il permet de créer de petits programmes graphiques, mais le son n'est pas encore implémenté. Le projet semble prometteur.
=> Un tutoriel sur la R3 | Red Programming Language
Il existe quantité de Basic à utiliser, souvent en mode retro.
voir BaCon plus haut
voir GFA, STOS plus bas
=> FreeBASIC semble une référence en open-source
=> BBC Basic, utilisé sur RISC OS | Version moderne du BBC Basic
Lua est un de mes langages préférés, sa syntaxe est concise et logique, il est d'ailleurs utilisé dans quantité de logiciels et jeux, pour en étendre les possibilités.
Quand je compare Lua et Python, je me rends compte que tous les choix syntaxiques de ce dernier m'horripilent, entre les 2 points redondants, le fait que les blocs ne sont pas clairement marqués (avec "end" par exemple), l'impossibilité d'écrire un petit passage sur une seule ligne compacte, par exemple en lua :
if btn(0) then y=y-1 end
if btn(1) then y=y+1 end
Il est possible de crĂ©er des programmes graphiques en Lua avec le cadriciel "MoonNuklear" et "MoonLibs", le soucis sera qu'il ne sera pas forcĂ©ment trĂšs facilement installable sur d'autres PC. De plus le code n'a pas Ă©voluĂ© depuis 3 ans, peut-ĂȘtre que le projet est dĂ©laissĂ© par son auteur.
=> MoonNuklear | MoonLibs
Voici néanmoins la procédure d'installation (pour Debian Linux et apparentés) :
En premier lieu, vérifier que Lua 5.3 est configuré par défaut :
sudo update-alternatives --config lua-interpreter
et choisir /usr/bin/lua5.3
Ensuite :
git clone https://github.com/stetre/moonglfw.git cd moonglfw/ make sudo checkinstall git clone https://github.com/stetre/moongl.git cd moongl make sudo checkinstall git clone https://github.com/stetre/moonnuklear.git cd moonnuklear/ make sudo checkinstall cd examples/ lua demo.lua
Un autre cadriciel puissant pour créer des jeux ou d'autres applications est Löve (fonctionne sur Linux, Windows, MacOS, Android...) .
=> Love2d
Lua est également souvent utilisé dans les roguelikes
Julia est un langage qui semble avoir beaucoup d'avantages, et surtout sans les inconvénients de python. Espérons qu'à terme il pourra supplanter ce dernier...
Il possÚde un gestionnaire de paquets, comme de nombreux langages modernes. Espérons également que ça ne deviendra pas un foutoir avec des problÚmes de dépendances et d'incompatibilité comme avec nodejs ou python...
=> Site officiel | Luxor, bibliothÚque graphique pour Julia | Pour créer des jeux
Ces consoles virtuelles peuvent ĂȘtre vues comme un retour aux ordinateurs 8-bits, avec un accĂšs direct aux interfaces graphiques et sonores du systĂšme.
TIC-80 utilise Lua comme langage de script.
Il est simple à utiliser, et fonctionne un peu comme un vieil ordinateur retro, aux caractéristiques limitées (ce qui stimule d'autant la créativité) :
=> https://tic80.com/ | https://github.com/nesbox/TIC-80/wiki
Pico-8 est l'ancĂȘtre des consoles imaginaires, il n'est malheureusement pas open-source mais il y a une grande communautĂ© autour. Je pense qu'on peut lui prĂ©fĂ©rer TIC-80.
=> https://www.lexaloffle.com/pico-8.php
voir plus haut
Issu de l'Atari ST, il existe une version moderne nommée X11-Basic.
=> X11-Basic | D'autres références pour le GFA sur de multiples plate-formes.
Ăgalement issus de l'Atari ST et de l'Amiga, ces langages Ă©taient adaptĂ©s pour la crĂ©ation de jeux.
=> La référence pour le STOS | Diverses ressources pour le STOS
Le langage qui semble le plus rĂ©pondre Ă toutes les attentes est Lua, car mĂȘme si de base le graphisme et les sons ne sont pas pris en compte, de nombreux cadriciels type Löve permettent de programmer quantitĂ© d'outils.
=> â©ïž Index textes | đ Index Accueil This content has been proxied by September (3851b).Proxy Information
text/gemini;lang=fr-FR