Pages : 1
#1 Le 11/03/2018, à 01:19
- fnux
Pour les "Old" et "New" BASIC Lovers !
Bonjour.
Certains d'entre nous ont commencé à jouer avec des micro ordinateurs il y a plus de 40 ans, et à l'époque, hors le langage machine et l'assembleur, très peu de langages de programmation étaient disponibles.
Ce fut, queqlue soit votre jouet de l'époque (Attari, Aquarius, Commodore, Apple I et II, etc.), le règne du BASIC "interprété" dont le mémorable BASIC de Microsoft (le BASICA sur IBM PC dès 1981).
Très vite critiqué pour son code spaguetthi en raison des ses "goto" illisibles et in-maintenable pour de vrais projets, il devint cependant un langage majeur avec l'arrivée de QuickBasic (de Microsoft) et surtout de Turbo-Basic (de Borland), deux IDE complets avec éditeur de code, compilateur, linkeur et débuggueur intégrés n'ayant plus qu'un très loin rapport avec les versions initiales des interpréteurs où il fallait numéroter chaque ligne de code.
Le langage devenait enfin mature avec des fonctions, des prodécures, de la récursivité sans toutes fois avoir la complexité du C et de ses "pointeurs" et de sa "fine" gestion de la mémoire, les compilateurs BASIC ayant un "smart garbage memory" intégré.
De très nombreux logiciels professionnels ont alors été écrits en BASIC compilés dont en France les fameux OrdiCompta, OrdiaFacture, ou mieux Turbo-Texte Professionnel, veritable concurrent Français de WordStar ou de MSWord4.
Or ce langage, bien que devenu très performant même en comparaison des C, Pascal et autres de la même époque a pratiquement disparu après la chute de Borland et surtout après le changement d'orientation de Microosoft avec VB.
Sauf que depuis plus d'une dizaine d'années, un fou furieux (et super agréable) Autralien (Galleon Dragon) a décidé de le remettre en lice en créant QB64, un IDE complet OPEN SOURCE et GRATUIT et surtout CROSS PLATFORM (Linux, OS/X et Windows) pratiquement 100 pour 100 compatible avec QB 4.5 qui vous permet de rejouer des programmes vieux de plus de 40 ans (dont nombre de jeux) sur vos machines actuelles sans passer par des émulateurs DOS ou des VMs (Virtualox ou VMware entre autre).
Pour ce faire, QB64 propose un language BASIC (très étendu avec de nombreuses nouvelles fonctions) qu'il traduit ensuite en C++ puis le compile pour créer des exécutables en fonction de votre OS (g++ ou Mingw)
Mais ce n'est pas tout, de nombreux afficonados apportent leurs idées et leurs développents par des ADD ON à cet IDE, comme, par exemple InForm, un GDE Event Driven (à la Visual Basic) et vWATCH64, un débuggueur, deux outils créés avec le langage QB64 par un génial Brésilien : Fellippe Heitor.
Ayant pu recompiler de très vieux trucs que j'avais écrits il y a super longtemps et pour promouvoir un peu ces outils très sympatiques, il m'a semblé opportun d'écrire un script interactif multi-lingues (Anglais, Allemand, Français, Portugais et Russe) d'installation (et de désinstallation) de ces trois outils (qui me semblent indissociables) pour différentes distributions Linux (Ubuntu, Debian, Arch, CentOS, Fedora, etc.).
Vous pouvez télécharger ce script sur ma page : www.as2.com/qb64
Bien entendu, j'apprécierai toute aide de la communauté du libre pour m'aider à traduire les 80 petits messages de ce script en d'autres langues (Italien, Espagnol, Hollandais, Turc, etc. etc. etc.) juste pour le fun.
Allez : "Re"découvrez la simplicité du langage BASIC sur Linux et surtout amusez-vous bien.
PS: Je suis en train de porter ce script pour OS/X et (plus tard) pour Windows.
Très cordialement.
Fnux.
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.
Hors ligne
#2 Le 11/03/2018, à 13:32
- Roschan
Re : Pour les "Old" et "New" BASIC Lovers !
Pour ma génération, le Basic c'est surtout le langage de programmation des calculatrices lycée
Hors ligne
#3 Le 11/03/2018, à 14:00
- xinu
Re : Pour les "Old" et "New" BASIC Lovers !
1 Le script installe par défaut le programme dans le répertoire /opt. Malheureusement, ce /opt n'existe plus sous mon Ubuntu et l'installation plante.
Il faut donc créer ce répertoire manuellement avant d'installer.
2
Vérifie et si non présentes installe les dépendences nécessaires pour
compiler QB64...
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet mesa-common-dev
E: Impossible de trouver le paquet libglu1-mesa-dev
E: Impossible de trouver le paquet libasound2-dev
J'ai installé manuellement : libglu1-mesa-dev et libasound2-dev. Quant à mesa-common-dev on la trouve ici pour Xenial :
https://packages.ubuntu.com/xenial/amd6 … v/download
Une fois fait ça fonctionne.
Dernière modification par xinu (Le 13/03/2018, à 01:56)
Asus PM8H61-MX USB3 Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz DDR3 8Go
Ubuntu 16.04 LTS - ESM 64 bits. Bureau Unity. Ubuntu 20.04 LTS 64 bits . Gnome 3.36.8
Hors ligne
#4 Le 11/03/2018, à 19:46
- fnux
Re : Pour les "Old" et "New" BASIC Lovers !
Salut xinu1,
Merci pour ce retour :
1 Le script installe par défaut le programme dans le répertoire /opt. Malheureusement, ce /opt n'existe plus sous Ubuntu et l'installation plante.
Il faut donc créer ce répertoire manuellement avant d'installer.
2Vérifie et si non présentes installe les dépendences nécessaires pour compiler QB64... Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait E: Impossible de trouver le paquet mesa-common-dev E: Impossible de trouver le paquet libglu1-mesa-dev E: Impossible de trouver le paquet libasound2-dev
J'ai installé manuellement : libglu1-mesa-dev et libasound2-dev. Quant à mesa-common-dev on la trouve ici pour Xenial :
https://packages.ubuntu.com/xenial/amd6 … v/download
Une fois fait ça fonctionne.
Je suis très surpris de ce que tu dis car j'utilise aussi Ubuntu Xenial (16.04.3) mais en version Anglaise et le répertoire /opt est bien présent.
Je vais donc installer une version Française et de toutes les manières faire une correction si ce répertoire n'existe pas.
De même, les paquets mesa-common-dev, libglu1-mesa-dev et libasound2-dev sont eux aussi parfaitement disponibles.
Il faut que je vois pourquoi ça n'a pas fonctionné pour toi et éventuellement mettre ces paquets sur mon propre site (au cas où).
Merci encore de ton aide.
Cordialement.
Fnux.
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.
Hors ligne
#5 Le 11/03/2018, à 21:06
- xinu
Re : Pour les "Old" et "New" BASIC Lovers !
Voici les retours avant que je ne crée /opt et installe les dépendances :
Édit : Voici les retours APRES la création de /opt mais AVANT l'installation des dépendances :
OK, tout est prêt.
Etes-vous prêts à installer QB64: O/n (retour vide = Oui) ?
L'installation de QB64 démarre. Merci d'être patient...
Vérifie et si non présentes installe les dépendences nécessaires pour
compiler QB64...
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
E: Impossible de trouver le paquet mesa-common-dev
E: Impossible de trouver le paquet libglu1-mesa-dev
E: Impossible de trouver le paquet libasound2-dev
Télécharge QB64, InForm & vWATCH...
--2018-03-11 13:03:48-- http://qb64.org/autobuilds.php?os=linux
Résolution de qb64.org (qb64.org)… 160.153.76.73
Connexion à qb64.org (qb64.org)|160.153.76.73|:80… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : autobuilds/master/qb64_2018-02-28-12-16-57_c3ad985-master_lnx.tar.gz [suivant]
--2018-03-11 13:03:49-- http://qb64.org/autobuilds/master/qb64_2018-02-28-12-16-57_c3ad985-master_lnx.tar.gz
Réutilisation de la connexion existante à qb64.org:80.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 22031135 (21M) [application/x-gzip]
Enregistre : «/opt/qb64-tmp/qb64_master_lnx.tar.gz»
/opt/qb64-tmp/qb64_ 100%[===================>] 21,01M 277KB/s ds 86s
2018-03-11 13:05:15 (250 KB/s) - «/opt/qb64-tmp/qb64_master_lnx.tar.gz» enregistré [22031135/22031135]
--2018-03-11 13:05:15-- http://www.qb64.org/inform/informqb64_lnx_mac.zip
Résolution de www.qb64.org (www.qb64.org)… 160.153.76.73
Connexion à www.qb64.org (www.qb64.org)|160.153.76.73|:80… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 243733 (238K) [application/zip]
Enregistre : «/opt/qb64-tmp/informqb64_lnx_mac.zip»
/opt/qb64-tmp/infor 100%[===================>] 238,02K 207KB/s ds 1,1s
2018-03-11 13:05:18 (207 KB/s) - «/opt/qb64-tmp/informqb64_lnx_mac.zip» enregistré [243733/243733]
--2018-03-11 13:05:18-- https://github.com/FellippeHeitor/vWATCH64/archive/master.zip
Résolution de github.com (github.com)… 192.30.253.112, 192.30.253.113
Connexion à github.com (github.com)|192.30.253.112|:443… connecté.
requête HTTP transmise, en attente de la réponse… 302 Found
Emplacement : https://codeload.github.com/FellippeHeitor/vWATCH64/zip/master [suivant]
--2018-03-11 13:05:19-- https://codeload.github.com/FellippeHeitor/vWATCH64/zip/master
Résolution de codeload.github.com (codeload.github.com)… 192.30.253.120, 192.30.253.121
Connexion à codeload.github.com (codeload.github.com)|192.30.253.120|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : non indiqué [application/zip]
Enregistre : «/opt/qb64-tmp/master.zip»
/opt/qb64-tmp/maste [ <=> ] 123,02K 49,5KB/s ds 2,5s
2018-03-11 13:05:24 (49,5 KB/s) - «/opt/qb64-tmp/master.zip» enregistré [125974]
--2018-03-11 13:05:24-- http://www.as2.com/qb64/packages/qb64-cmd.tar.bz2
Résolution de www.as2.com (www.as2.com)… 81.88.48.95
Connexion à www.as2.com (www.as2.com)|81.88.48.95|:80… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 21163 (21K) [application/x-bzip2]
Enregistre : «/opt/qb64-tmp/qb64-cmd.tar.bz2»
/opt/qb64-tmp/qb64- 100%[===================>] 20,67K --.-KB/s ds 0,06s
2018-03-11 13:05:24 (368 KB/s) - «/opt/qb64-tmp/qb64-cmd.tar.bz2» enregistré [21163/21163]
Décompacte QB64...
Archive: informqb64_lnx_mac.zip
inflating: qb64/falcon.h
creating: qb64/InForm/
inflating: qb64/InForm/InForm.ui
extracting: qb64/InForm/InFormVersion.bas
creating: qb64/InForm/resources/
inflating: qb64/InForm/resources/Icons.txt
inflating: qb64/InForm/resources/InForm.ico
inflating: qb64/InForm/resources/LICENSE_OFL.txt
inflating: qb64/InForm/resources/NotoMono-Regular.ttf
inflating: qb64/InForm/UiEditor.bas
inflating: qb64/InForm/UiEditor.frm
inflating: qb64/InForm/UiEditorPreview.bas
inflating: qb64/InForm/UiEditorPreview.frm
inflating: qb64/InForm/vbdos2inform.bas
inflating: qb64/InForm/xp.uitheme
inflating: qb64/LICENSE.md
inflating: qb64/Read me.txt
inflating: qb64/setup_inform_lnx.sh
inflating: qb64/setup_inform_macos.command
Archive: master.zip
fd58c63f89fb9d47e95f9a1598425131d2184db8
creating: qb64/vWATCH64-master/
extracting: qb64/vWATCH64-master/.gitignore
inflating: qb64/vWATCH64-master/LICENSE.md
inflating: qb64/vWATCH64-master/README.md
inflating: qb64/vWATCH64-master/direntry.h
creating: qb64/vWATCH64-master/resources/
inflating: qb64/vWATCH64-master/resources/icons.txt
inflating: qb64/vWATCH64-master/resources/wasp.ico
inflating: qb64/vWATCH64-master/resources/wasp.png
inflating: qb64/vWATCH64-master/try-me-routines.bas
inflating: qb64/vWATCH64-master/try-me.bas
inflating: qb64/vWATCH64-master/vwatch.bas
Création de la librarie LibQB...
In file included from ../../../parts/core/src.c:2:0,
from ../../../common.h:35,
from ../../../libqb.cpp:1:
../../../parts/core/glew/include/GL/glew.h:1188:24: fatal error: GL/glu.h: Aucun fichier ou dossier de ce type
# include <GL/glu.h>
^
compilation terminated.
Création de la librarie FreeType...
Création de la librarie Core:FreeGLUT...
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_callbacks.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_cursor.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_display.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_ext.c:32:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_font.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_font_data.c:56:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_gamemode.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_geometry.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut_glutfont_definitions.c:65:0:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_init.c:32:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_input_devices.c:38:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_joystick.c:37:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_main.c:32:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_menu.c:32:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_misc.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_overlay.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_spaceball.c:13:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_state.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_stroke_mono_roman.c:34:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_stroke_roman.c:34:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_structure.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_videoresize.c:31:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_window.c:46:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
In file included from ../../src/freeglut.h:17:0,
from ../../src/freeglut_xinput.c:7:
../../src/freeglut_std.h:122:19: fatal error: GL/gl.h: Aucun fichier ou dossier de ce type
compilation terminated.
ar: temp/freeglut_callbacks.o: Aucun fichier ou dossier de ce type
Préparation de QB64...
Compilation de QB64...
g++: error: libqb/os/lnx/libqb_setup.o: Aucun fichier ou dossier de ce type
g++: error: parts/core/os/lnx/src.a: Aucun fichier ou dossier de ce type
Malheureusement, il apparaît que la création de l'exécutable BQ64 a échouée !
Ceci est une indcation d'une erreur de compilation et vous avez du voir de nombreux
messages d'erreur à l'écran.
D'habitude, cela est du à des packages manquants pour la compilation.
Si vous avez beoins d'aide, merci de passer un message sur le forum QB64
ou d'envoyer un e-mail à : fnux.fl@gmail.com
Merci de détailler ce qui c'est passé et d'indiquer la distribution utilisée avec les 3
commandes de la ligne suivante :
lsb_release -sd && lsb_release -sc && lsb_release -sr
Vous avez toujours le dossier /opt/qb64-tmp pour voir ce que le script a fait.
Désolé pour cet inconvénient.
Au revoir.
--------------------------------------------------------------------------------
michel@asus:~/Téléchargements$
-----------------------------------------------------------------------
michel@asus:~$ lsb_release -sd && lsb_release -sc && lsb_release -sr
Ubuntu 16.04.4 LTS
xenial
16.04
michel@asus:~$
Une fois /opt créé et les dépendances installées, il n'y a eu aucun message d'erreur.
Dernière modification par xinu (Le 11/03/2018, à 21:16)
Asus PM8H61-MX USB3 Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz DDR3 8Go
Ubuntu 16.04 LTS - ESM 64 bits. Bureau Unity. Ubuntu 20.04 LTS 64 bits . Gnome 3.36.8
Hors ligne
#6 Le 11/03/2018, à 21:26
- nam1962
Re : Pour les "Old" et "New" BASIC Lovers !
Je suis le fil !
Le spaghetti est la raison pour laquelle, grâce au basic, je ne suis jamais devenu dev !
Mon space invader était top, et il avait plus de code goto que de code main
[Edit] Je vois deux outils intéressants : Vintage Basic et BaCon ---> https://www.thefreecountry.com/compilers/basic.shtml
Dernière modification par nam1962 (Le 11/03/2018, à 21:35)
[ Modéré ]
Hors ligne
#7 Le 12/03/2018, à 02:14
- fnux
Re : Pour les "Old" et "New" BASIC Lovers !
Re bonsoir xinu,
Encore une fois, merci de votre retour.
Mais je ne sais pas d'où vous avez pu prendre votre image d'Ubuntu Xenial 16.04.4 LTS car manifestement je n'ai pas ce problème (ce que je ne vous conteste pas).
Je viens de télécharger une image sur ce site, et je l'ai (pour vérification) installé dans une VM (en Français, ce qui n'est pas ma tasse de Thé).
Or, aussi bien avant l'installation (Live CD session) qu'après (installation faite), le répertoire /opt est bien présent !
Néanmoins, j'ai apporté une modification dans mon script qui maintenant teste l'existence de ce dossier (/opt) et qui, s'il n'existe pas, le cré (on ne sait jamais, car il y avait le même problème avec une ancienne version de Mint 17.3 "Rosa").
J'ai fait cette toute petite modification pour toutes les distributions, juste au cas où (et le script sur mon site est à jour) !
Donc, encore une fois, merci de votre intervention.
Par ailleurs, après installation de cette release d'Ubuntu 16.04.4 en Français, les dépendences sont bel et bien disponibles (vérifications faites avec Synaptc).
Cependant, il est possible que pour y avoir accès, il faille que le programme "Logiciels & mise à jour" prenne en charge les options "Pilotes propriétaires de périphériques (restricted) et "logiciels restreints pas des droits d'auteur ou des questions juridiques (multivese)" ce qui est nécessaire ne serait-ce que pour installer Synaptic !
Aussi, vais-je modifier mon script pour faire en sorte que si ces dépendences ne sont pas accessibles (en raison de ce qui est décrit précemment), ces paquets puissent être téléchargées et installées depuis mon site web.
Mais j'ai quand même un sérieux doute quand à la validité de votre image d'Ubuntu 16.04.4 car je viens de refaire une seconde fois nouvelle installation en VM sans installer synaptic (donc ni modifier les options restricted et multiverse) et le script fonctionne parfaitement.
So, what's wrong?
Il me faut cependant maitenant apprendre comment télécharger ces dépendences seules dans le cas où apt-get ne les trouve pas, puis comment les installer sans utiliser apt-get install pour le faire depuis mon script !
Donc, j'ai encore pas mal de choses à apprendre !!!! LoL
Encore merci de votre retour qui me permettra d'améliorer ce script dans des cas correspondant à votre situation..
Très cordialement.
Fnux.
PS: En cas de besoin, j'ai fait toute une série de captures d'écran avec Screenshot qui montre le process d'installation complet de Xenial 16.04.4 (et de la présence du dossier /opt en live session puis aussi après être installé) que je peux fournir, ainsi que de la disponibilité des dépendences. Aussi, comme disent les Tchi : "j'dis quoi" ! LoL
PS2: Dès que possible, je vais faire une petite vidéo de cette installation complète (aussi bien d'ubuntu lui même qu'ensuite de mon script après l'installation d'ubuntu).
Dernière modification par fnux (Le 12/03/2018, à 03:54)
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.
Hors ligne
#8 Le 12/03/2018, à 04:00
- fnux
Re : Pour les "Old" et "New" BASIC Lovers !
Salut nam1962,
Je suis le fil !
Le spaghetti est la raison pour laquelle, grâce au basic, je ne suis jamais devenu dev !
Mon space invader était top, et il avait plus de code goto que de code main[Edit] Je vois deux outils intéressants : Vintage Basic et BaCon ---> https://www.thefreecountry.com/compilers/basic.shtml
Moi, j'aime bien les "pâtes"
Plus sérieusement, les compilateurs BASIC ont très vite évolué et proposé des fonctions et des procédures évitant ainsi les "goto" sauf le fameux "on error goto".
Au fait, il me semble que seuls QB64 et FreeBasic soient disponibles pour Linux, OS/X et Windows en offrant IDE, GDE, compilateur et débeugueur, d'où mon intérêt particulier pour QB64.
Néanmoins, merci pour le lien pour les autres solutions.
Cordialement.
Fnux.
Dernière modification par fnux (Le 12/03/2018, à 08:47)
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.
Hors ligne
#9 Le 12/03/2018, à 18:29
- xinu
Re : Pour les "Old" et "New" BASIC Lovers !
Mais je ne sais pas d'où vous avez pu prendre votre image d'Ubuntu Xenial 16.04.4 LTS
Téléchargée à partir du site officiel et installée après contrôle du md5. Néanmoins j'avoue ne pas avoir vérifié que un /opt a bien été créé à l'installation.
Je suis certain de ne pas avoir supprimé /opt de manière consciente.
Il se pourrait, comme j'utilise des programmes de nettoyage système, qu'un de ces logiciels (par ex. Bleachbit ou un autre) s'en soit "occupé" à l'insu de mon plein gré...
Cela dit c'est une bonne idée d'avoir modifié le script pour qu'il teste son existence.
Par ailleurs, après installation de cette release d'Ubuntu 16.04.4 en Français, les dépendences sont bel et bien disponibles (vérifications faites avec Synaptc).
Oui, en effet, les deux premières dépendances sont disponibles. C'est d'ailleurs via synaptic que je les ai installées. Le script ne les avaient pas trouvées. En revanche la troisième "mesa-common-dev" ne s'y trouvait pas et a été installée manuellement via le site indiqué en #3.
C'est certainement mon installation qui flanche (elle n'est plus toute jeune et en a vu des vertes et des pas mûres). En tout cas merci pour ce script et bonne continuation. C'est chouette d'avoir un Basic compilé.
Dernière modification par xinu (Le 12/03/2018, à 18:33)
Asus PM8H61-MX USB3 Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz DDR3 8Go
Ubuntu 16.04 LTS - ESM 64 bits. Bureau Unity. Ubuntu 20.04 LTS 64 bits . Gnome 3.36.8
Hors ligne
#10 Le 12/03/2018, à 19:22
- fnux
Re : Pour les "Old" et "New" BASIC Lovers !
Salut xinu.
C'est certainement mon installation qui flanche (elle n'est plus toute jeune et en a vu des vertes et des pas mûres). En tout cas merci pour ce script et bonne continuation. C'est chouette d'avoir un Basic compilé.
En effet, je pense que votre installation a pris un petit coup dans l'aile.
Par acquis de conscience, j'ai téléchargé une 16.04.4 (je n'avais que la 16.04.3) et je confirme que le dossier /opt est bien toujours présent, y compris dans une "live session".
Le scipt peut même être exécuté dans une "live session" à la condition préalable d'ajouter un user (ex: "sudo add-user --force-badname moi") puis de se loguer dans ce nouvel user, de télécharger le script via ma page (www.as2.com/qb64), de le décompresser (tar -xjf QB64_install.tar.bz2), de le lancer (sudo ./QB64_install.sh) et tout fonctionne très bien (tests refaits 3 fois de suite en "live session" et sur la "fresh install").
La raison de créer un nouvel utilisateur dans une "live session" est que je ne connais ni le nom ni le mot de passe de l'utilisateur par défaut de la "live session" et que sans ces informations, le script installe bien les 3 outils (QB64, InForm et vWATCH64) mais ne crée pas les icônes ni sur le bureau, ni dans le menu des applications, ce qui n'est pas commode.
Je confirme aussi que les dépendences sont elles aussi bien disponibles sans avoir à modifier les paramètres de recherche des paquets et se téléchargent donc bien lors de l'installation (votre "/etc/apt/sources.list" doit être bien sale pour qu'il ne les trouve pas).
Merci néanmoins de votre retour car je commençais à séreiusement douter car je fais ces tests sur toutes les dirtibutions que le script est supposé supporter et qu'il n'est pas impossible que j'ai manqué quelque chose sur l'une d'entre elles.
Je vais même tester avec la prochaine "bionic" pour ne pas me faire prendre de court.
Dans tous les cas, amusez-vous bien avec ces 3 outils qui permettent de créer bien des choses avec la simplicité "relative" d'un BASIC moderne (sans "goto"), évènementiel et surtout compilé, qui plus est totalement "cross-platform" (Linux, OS/X et Windows).
Je dis souvent bravo à son équipe de devs qui continue de travailler dur pour le faire évoluer même si QB64 n'est pas encore tout à fait 100 % compatible avec QB 4.5 ou PDS 7.1 et que les interfaces (IDE, InFrom et vWATCH64) mériteraient bien un petit coup de rajeunissement.
Cordialement.
Fnux.
N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.
Hors ligne
Pages : 1