# Small Basic

Small Basic (nicht zu verwechseln mit SmallBASIC, einem anderen, betagteren BASIC-Derivat) ist eine sehr vereinfachte (14 Keywords) und primär für Programmiereinsteiger geschaffene, kostenlos verfügbare BASIC-Integrierte Entwicklungsumgebung von Microsoft. Mit Small Basic wird das Ziel verfolgt, durch schnell erlebbare Erfolge die Lernmotivation und Experimentierfreudigkeit bei Programmieranfängern zu wecken.
Der Anwendungssektor von Small Basic erstreckt sich jedoch nicht nur auf Lernende, auch für den "Heim-Programmierer" kann Small Basic unter Umständen ein praktischer Alltagshelfer sein, da durch externe Bibliotheken der Funktionsumfang deutlich erweitert werden kann.
Die Entwicklungsumgebung, die begleitende benutzerfreundliche Einsteigerdokumentation sowie Lehrpläne stehen in zahlreichen Sprachen (u. a. auch in Deutsch) zur Verfügung.

## Geschichte

Erste Pre-Releases von Small Basic wurden 2008/09 vom damaligen Microsoft-Entwickler Vijaye Raji erstellt und veröffentlicht. Spätere Pre-Releases wurden dann im Rahmen des DevLabs-Projekt von Microsoft betreut und publiziert. Im Juli 2011 veröffentlichte Microsoft mit Version 1.0 die erste finale Version von Small Basic. 2014 hat Microsoft ein neues Entwicklerteam aus Freiwilligen zusammengestellt, welches Small Basic für neue Geräte und Plattformen weiterentwickeln sollte. Die im Frühjahr 2015 veröffentlichte Version 1.1 hatte keinen nennenswerten Funktionszuwachs, nutzt nun aber das .NET-Framework 4.5. In Version 1.2 wurden zahlreiche bekannte Bugs gefixt und das KinectWindow Object eingeführt. Das Entwicklerteam löste sich 2015/16 wieder auf. Die Weiterentwicklung von Small Basic erfolgt nun durch Nutzung von Hackathons. Im August 2017 wurde Version 1.3 als UWP-App im Microsoft Store veröffentlicht. Diese Version hat einige neue Funktionen, einschließlich Unterstützung für drei neue Sprachen, eine neue Starthilfe-Seite beim Laden und diverse Fehlerkorrekturen. Eine große Einschränkung dieser App-Version: es können keine funktionserweiternden Bibliotheken genutzt werden.

### Aktuelle Version(en)

* 1.2 (Desktopversion; veröffentlicht am 1. Oktober 2015)
* 1.3 (App im Microsoft Store, veröffentlicht am 7. August 2017)

### Ausblicke / Weiterentwicklung

In einem Post vom 20. Juli 2018 im offiziellen Small Basic Blog macht Ed Price von Microsoft folgende Statements:
* Version 1.3 für Desktop wird bald erscheinen (wird Version 1.2 ersetzen) und die Verwendung von Erweiterungen wird hier weiterhin möglich sein. (Version 1.1 soll für ältere Windows-Versionen weiter verfügbar bleiben.)
* Eine reine Online-Version steht kurz vor der Veröffentlichung (die u. a. ebenfalls keine Erweiterungen unterstützen wird).
* Perspektivisch wird an einer Open-Source-Online-Version gearbeitet.

## Sprache

Small Basic unterstützt die imperative Programmierung. Auf die objektorientierte Programmierung wurde bewusst verzichtet.
Eine überschaubare Zahl von jedoch recht mächtigen Schlüsselwörtern erstreckt sich über zahlreiche Anwendungsgebiete und ermöglicht das Erzeugen einfacher Anwendungen und Spiele, welche in einem Text- oder Grafikfenster laufen können.

### Syntaxbeispiele
#### Programmierbeispiel (Sinnloser Knopf)
## Besonderheiten

* Befehle und ihre Ereignisse, Methoden und Eigenschaften werden im Editor komfortabel mittels "IntelliSense (TM)" vervollständigt.
* Datentypen werden vollautomatisch (und unsichtbar) zugeordnet und verwaltet.
* Für Small Basic geschriebener Code kann auf Knopfdruck zu in VB.NET weiter verarbeitbaren Code umgewandelt werden.
* Optional besteht die Möglichkeit, einen selbst erzeugten Quelltext auf einer speziellen Small-Basic-Seite zu veröffentlichen. Sofern clientseitig Microsoft Silverlight installiert ist, kann dieses Programm dann in den meisten Fällen auch auf jener Seite online ausgeführt und sogar in andere Webseiten eingebettet werden.
* Mit Hilfe anderer .Net-Framework-Sprachen (VB.NET, C#, ...) können funktionserweiternde Bibliotheken für Small Basic (nur Desktop-Version) erstellt werden.

## Voraussetzungen

Für die Verwendung der aktuellen Entwicklungsumgebung von Small Basic und zur Nutzung einer damit erzeugten EXE wird Microsoft Windows und die .NET-Laufzeitumgebung der Version 4.5 benötigt.