new chapter: Basic

This commit is contained in:
tTh 2023-03-03 21:27:18 +01:00
parent 6546d1d5c0
commit 6c2d6476b8
7 changed files with 85 additions and 2 deletions

65
chap/Basic.tex Normal file
View File

@ -0,0 +1,65 @@
% ----------------------------------------------------------
\chapter{Basic}
\index{dosbox}\label{chap:Basic}
% -------------------------------------------
\section{BASIC} \index{BASIC}
C'est probablement un des premiers langages interactifs utilisable par le
peuple et les gens. Déja, à ce titre, dénonce que ce langage
demande un peu de curiosité, il a traversé soixante ans
d'informatique, et il existe enore.
Mais pour moi, le véritable intérèt
est dans la multitude et la diversité des implémentations.
Des minis catatoniques des années 60 aux micros-ordinateurs 8 bits,
des dizaines de versions souvent incompatibles ont vues le jour.
Un nom ? « Locomotive », ça ira ?
Dans un premier temps, je vais les lister sommairement, et
ensuite j'aurais une idée sur lesquels seront les plus funs
à explorer.
% -------------------------------------------
\section{Bywater} \index{bywater}
\begin{verbatim}
Bywater BASIC Interpreter/Shell, version 2.10
---------------------------------------------
Copyright (c) 1993, Ted A. Campbell
for bwBASIC version 2.10, 11 October 1993
\end{verbatim}
Le mode interactif me semble un peu rustre, mais utilisable à l'ancienne.
Les messages d'erreur sont du genre \textsc{bdos error on a}.
Je n'ai pas réussi à faire une sauvegarde du programme\footnote{J'ai
renoncé au bout de 30 secondes}, ce qui limite son \textsl{utilisability}.
Heureusement, on peut utiliser son éditeur de texte favori pour écrire
le code source, et le lancer en mode batch. Voici un exemple rudimentaire
mais canonique~:
\lstinputlisting{code/Basic/bywater-1.bas}
Première conclusion : affaire à suivre.
% -------------------------------------------
\section{Yabasic} \index{yabasic}
Première innovation, les numéros de ligne ne sont plus obligatoires.
\lstinputlisting{code/Basic/yabasic-1.bas}
Et on peut faire des images qui clignotent :)
\lstinputlisting{code/Basic/yabasic-2.bas}
% -------------------------------------------
\section{Et ailleurs ?}
L'interpréteur \texttt{Qbasic} de Microsoft fonctionne très bien
dans Dosbox~: à lire en page \pageref{Qbasic}. Son prédécesseur,
\texttt{GWBASIC} marche très bien aussi.
% -------------------------------------------
% -------------------------------------------

View File

@ -31,7 +31,9 @@ keyb fr
\section{In an Out} \section{In an Out}
\textbf{Q:} J'ai téléchargé un warez de Qbasic pour jouer avec, \textbf{Q:} J'ai téléchargé un warez de Qbasic\footnote{%
cf. page \pageref{chap:Basic}}
pour jouer avec,
le l'archive 7z ne contient qu'un fichier \texttt{.img}. le l'archive 7z ne contient qu'un fichier \texttt{.img}.
Que puis-je faire pour jouer enfin à snake ? Que puis-je faire pour jouer enfin à snake ?
@ -75,6 +77,9 @@ juste pour constater que c'est un peu technique.
merveilles de l'ancien temps. merveilles de l'ancien temps.
% ----------------------------------------------------------
\section{Qbasic} \index{Qbasic} \label{Qbasic}
% ---------------------------------------------------------- % ----------------------------------------------------------

0
code/Basic/README.md Normal file
View File

4
code/Basic/bywater-1.bas Normal file
View File

@ -0,0 +1,4 @@
10 CLEAR
20 FOR I=1 TO 10
30 PRINT I, I*I
40 NEXT I

3
code/Basic/yabasic-1.bas Normal file
View File

@ -0,0 +1,3 @@
for i=1 to 10
print i, i*i
next

5
code/Basic/yabasic-2.bas Normal file
View File

@ -0,0 +1,5 @@
open window 511,511
for x=10 to 495 step 5:for y=10 to 495 step 5
colour x/2,y/2,0
fill rectangle x,y,x+5,y+5
next y:next x

View File

@ -26,7 +26,7 @@
%------ reglages des 'listings' %------ reglages des 'listings'
\lstset{frame=single} % dessin d'un cadre autour du listing \lstset{frame=single} % dessin d'un cadre autour du listing
\lstset{basicstyle=\ttfamily\small} \lstset{basicstyle=\ttfamily\small}
\lstset{aboveskip=1.4em,belowskip=0.2em} \lstset{aboveskip=1.2em,belowskip=1.2em}
\setcounter{tocdepth}{1} \setcounter{tocdepth}{1}
\pagestyle{plain} \pagestyle{plain}
@ -130,6 +130,7 @@ en ligne sur le site du Tetalab. Your mileage may vary\dots
\input{chap/Fortran} \input{chap/Fortran}
\input{chap/scripting} \input{chap/scripting}
\input{chap/Arduino} \input{chap/Arduino}
\input{chap/Basic}
% \input{chap/GMP} % \input{chap/GMP}
\input{chap/Python} \input{chap/Python}