Microsoft Small Basic est un langage de programmation , un interpréteur et un EDI associé . Version simplifiée de BASIC développée par Microsoft , il est conçu pour aider les étudiants ayant appris des langages de programmation visuels tels que Scratch à maîtriser la programmation textuelle. L'EDI associé offre un environnement de programmation simplifié avec des fonctionnalités telles que la coloration syntaxique , la saisie semi-automatique intelligente et l'accès à la documentation directement dans l'éditeur. Le langage ne comporte que 14 mots-clés.
Histoire
Microsoft a annoncé Small Basic en octobre 2008 et a publié la première version stable le 12 juillet 2011 sur le site web Microsoft Developer Network (MSDN), accompagnée d'un programme d'enseignement et d'un guide d'introduction . Entre l'annonce et la publication de la version stable, plusieurs versions d'évaluation technologique communautaire (CTP) ont été proposées.
Le 27 mars 2015, Microsoft a publié Small Basic version 1.1, qui corrigeait un bug et mettait à niveau la version cible du .NET Framework de la version 3.5 à la version 4.5, ce qui en faisait la première version incompatible avec Windows XP .
Microsoft a publié Small Basic version 1.2 le 1er octobre 2015. Cette version 1.2 était la première mise à jour après quatre ans d'interruption et introduisait de nouvelles fonctionnalités pour Small Basic. La mise à jour ajoutait des classes pour l'utilisation des capteurs de mouvement Kinect de Microsoft , augmentait le nombre de langues prises en charge par l'objet Dictionary inclus et corrigeait plusieurs bogues.
Le 19 février 2019, Microsoft a annoncé Small Basic Online (SBO). Il s'agit d' un logiciel libre distribué sous licence MIT sur GitHub .
Langue
En Small Basic, on écrit le programme illustratif « Bonjour, monde ! » comme suit :
Microsoft Small Basic est Turing-complet . Il prend en charge les branchements conditionnels , les structures de boucles et les sous-programmes pour la gestion des événements . Les variables sont faiblement typées et dynamiques , sans règles de portée.
Branchement conditionnel
L'exemple suivant illustre le branchement conditionnel. Il demande à l'utilisateur la température en degrés Celsius ou Fahrenheit , puis commente la réponse dans l'unité de température appropriée.
Small Basic ne prend pas en charge les Ifinstructions en ligne, contrairement à Visual Basic , par exemple :
Boucle
Cet exemple illustre une boucle. Partant de un et terminant à dix, elle multiplie chaque nombre par quatre et affiche le résultat de la multiplication.
WhileLes boucles sont également prises en charge, et la Forboucle présentée peut être étendue grâce au Stepmot-clé `counter`. Ce Stepmot-clé permet de définir la valeur d' iincrémentation de la variable `counter` à chaque itération.
Types de données
Small Basic prend en charge les types de données de base , tels que les chaînes de caractères , les entiers et les nombres décimaux , et convertit facilement un type en un autre selon les besoins. Dans l'exemple, les méthodes `read` Readet `read` lisent toutes deux ReadNumberune chaîne de caractères depuis la ligne de commande, mais ReadNumberrejettent les caractères non numériques. Cela permet à l'opérateur de convertir la chaîne en un type numérique et de la traiter comme un nombre plutôt que comme une chaîne +.
Comme Small Basic permet de convertir facilement entre différents types de données, les nombres peuvent être manipulés comme des chaînes de caractères et les chaînes numériques comme des nombres. Ceci est illustré par le deuxième exemple.
Dans le deuxième exemple, les deux chaînes sont traitées comme des nombres et additionnées, ce qui donne le résultat 3100. Pour concaténer les deux valeurs et obtenir le résultat 1003000, il est nécessaire d'utiliser la méthode.Text.Append(text1, text2)
Bibliothèques
Bibliothèque standard
La bibliothèque standard Small Basic comprend des classes de base pour les mathématiques, la manipulation de chaînes de caractères et les entrées/sorties , ainsi que des classes plus exotiques conçues pour rendre l'apprentissage du langage plus ludique. On peut citer par exemple une classe graphique Turtle , une classe pour récupérer des photos depuis Flickr et des classes pour interagir avec les capteurs Microsoft Kinect.
Pour faciliter l'utilisation des cours par les apprenants, leur contenu a été simplifié. Cette simplification est illustrée par le code utilisé pour récupérer une image aléatoire de montagne sur Flickr :
Graphismes de tortue
Small Basic inclut une bibliothèque graphique « Turtle » inspirée des langages de programmation Logo . Par exemple, pour dessiner un carré avec la tortue, celle-ci est déplacée d'un nombre donné de pixels vers l'avant et pivotée de 90 degrés dans une direction donnée. Cette action est ensuite répétée quatre fois pour dessiner les quatre côtés du carré.
Il est possible de réaliser des dessins plus complexes en modifiant l'angle de rotation de la tortue et le nombre d'itérations de la boucle. Par exemple, on peut dessiner un hexagone en réglant l'angle de rotation à 60 degrés et le nombre d'itérations à six.
Bibliothèques tierces
Small Basic autorise l'utilisation de bibliothèques tierces. Ces bibliothèques doivent être écrites dans un langage compatible avec le CLR et les binaires compilés doivent cibler une version compatible du .NET Framework. Les classes fournies par la bibliothèque doivent être statiques , marquées par un attribut spécifique et utiliser un type de données spécifique.
Vous trouverez ci-dessous un exemple de classe à utiliser dans Small Basic, écrite en C# .
Si disponible, l’environnement de développement Small Basic affichera la documentation des bibliothèques tierces. Cet environnement accepte la documentation sous forme de fichier XML , qui peut être généré automatiquement à partir des commentaires du code source par des outils tels que Microsoft Visual Studio et MonoDevelop .