Darüber hinaus gibt es mit WebMatrix ein Werkzeug für Web-Entwickler und mit SmallBasic eine perfekte Programmierumgebung für alle, die Windows-Programmierung mit Hilfe mit einer einfachen und freundlichen Programmiersprache lernen wollen.
Ganz vollständig ist die Aufzählung der freien Programmierwerkzeuge nicht, denn Windows 7 enthält neuerdings die Windows PowerShell als Alternative zum Befehlszeileninterpreter Cmd.exe, die mit ihrer Skriptsprache ebenfalls eine gute Gelegenheit darstellt, das kleine Einmaleins der Programmierung zu erlernen. Auch wenn es mehrere Alternativen gibt - die erste Wahl sind ganz klar die Visual Studio 2010 Express Editionen.
Wer zum ersten Mal das Wort "Visual Studio" hört, wird sich vielleicht insgeheim fragen, ob er oder sie nach dieser Einleitung nun beeindruckt sein soll. Wer einen Blick auf die Preise im Microsoft Webshop wirft, wird dies schnell sein, denn dort kostet zum Beispiel ein Visual Studio 2010 Professional ganz offiziell rund 1.000 EUR (alle Preisangaben ohne Gewähr). Was für professionelle Entwickler ein gutes Angebot ist, denn sie erhalten ein modernes Werkzeug mit einer Fülle an Funktionen, kommt für jemanden, der nur aus Spaß programmiert oder die Programmierung erst einmal lernen möchte, natürlich nicht in Frage. Für alle diese Menschen bietet Microsoft die Express Editionen von Visual Studio 2010 an. Es handelt sich um voll funktionsfähige Werkzeuge, die exakt dieselbe Visual Studio-Anwendung, dieselbe Programmiersprachen und dasselbe .NET Framework 4.0 verwenden wie die Professional Edition von Visual Studio 2010. Es fehlen lediglich einige Funktionen, wie z. B. die Anbindung an eine Versionskontrollsoftware oder die Möglichkeit Komponententests zu schreiben, die nur für professionelle Entwickler interessant sind.
Express steht für freie Verfügbarkeit und eine komfortable Installation
Der Zusatz Express steht bei den Express Editionen in erster Linie für den Umstand, dass sie als Download über die Microsoft-Webseite leicht zugänglich, leicht zu installieren und kostenlos erhältlich sind. Angehende Programmierer kommen mit den Express Editionen eventuell auch schneller zum Ziel, da ganz einfach weniger Optionen zur Auswahl stehen. Wer sich für eine der Express Editionen von Visual C# und Visual Basic entscheidet, enthält das vollständige .NET Framework 4.0, die komplette Programmiersprache C# 4.0 bzw. Visual Basic 10.0 und eine Entwicklungsumgebung, in der alle wichtigen Funktionen enthalten sind. Dazu gehören unter anderem der Designer für WPF-Benutzeroberflächen (Windows Presentation Foundation), sowie der Entity Framework-Designer für den objektorientierten Datenbankzugriff – beides Werkzeuge, mit denen vor allem professionelle Entwickler arbeiten. Die Express Editionen werden im Coding Class Portal in einem eigenen Artikel ausführlicher vorgestellt.
Neben der Express Familie gibt es von Microsoft mit WebMatrix und SmallBasic zwei weitere kostenlose Angebote.
WebMatrix
Microsoft WebMatrix ist genau wie Visual Web Developer Express ein Werkzeug für Webentwickler, es besitzt aber einen anderen Fokus. Während sich Visual Web Developer an den klassischen ASP.NET-Webentwickler richtet, ist die Zielgruppe von WebMatrix sehr viel größer. WebMatrix richtet sich an den Webentwickler, bei dem eine Webanwendung nicht zwangsläufig auf ASP.NET basieren muss, sondern lediglich aus HTML und ein wenig JavaScript besteht, oder auf einem JavaScript-Framework wie jQuery aufsetzt. Serverseitiger Programmcode kann für eine solche Webanwendung in C# oder Visual Basic geschrieben werden, ist aber optional.

WebMatrix ist ein vielseitiges Werkzeug für Webentwickler
Gerade revolutionär mutet der Umstand an, dass WebMatrix auch PHP (allerdings nur unter Windows) unterstützt. Es spricht also nichts dagegen, serverseitigen Programmcode in PHP zu schreiben. Mit WebMatrix 2, das aktuell noch als Beta vorliegt, gibt es für PHP-Programmcode sogar Intellisense-Unterstützung bei der Eingabe, womit WebMatrix auch zu einem PHP-Editor wird.
Bei WebMatrix muss man eine Webanwendung nicht komplett neu erstellen, sondern man kann sie auch auf einer Vorlage oder einem Anwendungsframework aufbauen. Die Auswahl der Anwendungsframeworks ist überaus reichhaltig und umfasst eine Vielzahl populärer Open Source-Frameworks wie Joomla!, Drupal, Moodle oder BlogEngine.NET.
Open Source CMS-Frameworks im WebMatrix
Möchte man zum Beispiel eine neue Webanwendung auf dem populären CMS (Content Management System) Joomla! aufbauen, geht man dabei so vor:
- Mit WebMatrix ein neues Projekt anlegen
- Joomla! als Vorlage auswählen. Nun werden alle benötigten Komponenten vom Web Plattform Installer heruntergeladen und installiert, inklusive der obligatorischen MySQL-Datenbank.
- Die Anwendung mit den Hilfsmitteln, die von Joomla! zur Verfügung gestellt werden, anpassen. Dazu gehört zum Beispiel das Anlegen von Inhaltsseiten.
- Das Ganze bei einem Web-Hosting-Provider hochladen, so dass die Webanwendung kurz danach im Internet zur Verfügung steht.
Das Einrichten einer auf einem Open Source Framework basierenden Webanwendung dauert mit WebMatrix, sofern alles glatt durchläuft, oft nur wenige Minuten.
SmallBasic
SmallBasic ist neben Visual Basic eine weitere Implementierung der populären Programmiersprache BASIC (Beginners All Symbolic Instruction Code), die einst in den 60er Jahren erschaffen wurde, um Studenten das Programmieren beizubringen, und die auch fast 50 Jahre später noch zu den am weitesten verbreiteten Programmiersprachen zählt. SmallBasic ist weder ein kommerzielles Produkt noch steckt eine große Entwicklungsabteilung dahinter. Das SmallBasic-Team bei Microsoft betreibt ihr Projekt eher als ein „Spaß-Projekt“ mit dem Ziel, vor allem Kindern in der ganzen Welt den Einstieg in die faszinierende Welt der Programmierung zu ermöglichen.
Hinweis:
Im Internet gibt es einen weiteren BASIC-Dialekt mit dem Namen SmallBASIC, der mit Microsoft SmallBasic aber nichts zu tun hat.
Ein SmallBasic-Programm wird in ein Fenster eingegeben und durch Drücken von
ausgeführt. Es läuft entweder als Windows-Anwendung oder als Silverlight-Anwendung im Browser. SmallBasic umfasst eine Reihe von Standardbefehlen wie if, else, for und while, sowie 20 Klassen, deren Funktionen zum Beispiel Dateiinhalte lesen, Daten aus Webseiten abrufen, Bilder auf dem Desktop anzeigen oder geometrische Figuren über den Bildschirm bewegen. Gerade zu genial ist die Leichtigkeit, mit der sich ein SmallBasic-Programm im Internet veröffentlichen lässt. Ein Knopfdruck genügt und das eigene Programm steht im Internet als Silverlight-Anwendung bereit. Der Benutzer erhält eine URL (Uniform Resource Locator), über die er die Anwendung im Browser starten oder alternativ einen Zahlencode, den er oder sie an Freunde und Bekannte weitergeben kann, damit diese das Programm ebenfalls in ihrem SmallBasic ausführen können. Damit das Einbauen in eine eigene Homepage leichter wird, wird auf der Programmwebseite HTML-Code gezeigt, der lediglich in die eine Homepage eingefügt werden muss, damit beim Abrufen der Webseite die Anwendung heruntergeladen und ausgeführt wird. Voraussetzung ist die Silverlight-Runtime, die nicht nur für den Internet Explorer, sondern auch für den Firefox-Browser zur Verfügung steht.
SmallBasic ist die ideale Programmiersprachen für alle, die das kleine Einmaleins der Programmierung erlernen müssen
Wenn Du die beschriebene Leichtigkeit einmal selbst in Aktion erleben möchtest, starte SmallBasic, klicke auf "Importieren" und gib als Code SOKO ein. Kurz danach - eine funktionierende Internet-Verbindung vorausgesetzt - werden die Programmbefehle für ein kleines Labyrinth-Spiel geladen, das Du mit
startest, um mit dem Spielen beginnen zu können. Das Spiel ist außerdem ein sehr gutes Anschauungsbeispiel für die Möglichkeiten, die in SmallBasic stecken. Allerdings gilt bei SmallBasic, wie bei so vielem, die klassische Lebensweisheit „Ohne Fleiß, kein Preis“. In einem solchen Spiel stecken viele Stunden an Programmier- und Tüftelarbeit.
Ein kleines Labyrinth-Spiel macht sehr schön deutlich was mit SmallBasic möglich ist
Bei SmallBasic gilt das Motto „Keep it simple“. Man darf daher von SmallBasic keine Wunder erwarten. Es geht in erster Linie um kleine Programme, bei denen sich alles in einem Fenster abspielt. Es gibt weder Menüs, noch lässt sich eine Datenbank ansprechen (wenngleich dies grundsätzlich realisierbar wäre) oder die Spiele-API DirectX. Die grafischen Fähigkeiten sind auf das Anzeigen von Bitmaps und einfachen geometrischen Figuren beschränkt, die sich dafür aber animieren lassen. Dass sich auch mit dem kleinen Befehlssatz von SmallBasic einiges anfangen lässt, machen die zahlreichen Beispiele eindrucksvoll deutlich, die das SmallBasic-Team zusammengestellt hat. Dazu gehören vor allem kleine Spiele (unter anderem ist auch eine Implementierung des 80er-Jahre-Spiele-Klassikers Asteriods dabei), Programme, die Geschwindigkeit von Sortieralgorithmen visualisieren, und Primzahlenprogramme.
Der Slogan „Small ist beautiful“ passt so gut, dass er für SmallBasic erfunden sein könnte. SmallBasic besticht durch seine Einfachheit: Es gibt nur 15 Befehlswörter. Die Programmiersprache wurde speziell für alle diejenigen erfunden, die die Geheimnisse der Programmierung von Grund auf ergründen wollen. Der „Erfinder“ von SmallBasic ist Microsoft-Mitarbeiter Vijaye Raji, der das Programmierwerkzeug in seiner Freizeit entwickelt hat. Ein kleines Video-Interview über die Entstehung von SmallBasic gibt es (allerdings nur auf Englisch) auf channel9.
SmallBasic soll die Programmierung so einfach wie möglich machen und stellt dabei jene Dinge in den Mittelpunkt, die den Spaß bei der Programmierung ausmachen. Ein Beispiel ist die Anbindung an das Foto-Portal Flickr durch einen einzigen Befehl. Soll der Bildschirmhintergrund mit einem Zufallsbild aus dem Flickr-Archiv belegt werden, geht das wie folgt:
Schritt 1
Starte SmallBasic und gib das Wort Desktop ein, um den Windows-Desktop anzusprechen. Bereits nach der Eingabe des ersten Buchstabens erscheint eine Namensauswahl, in der auch der Name Desktop enthalten ist. Du kannst den angebotenen Namen per Mausklick auf den Namen oder mit der
-Taste einfügen oder einfach vollständig eingeben. Desktop ist bei SmallBasic eine so genannte "Klasse", die den Desktop repräsentiert. Welche Möglichkeiten damit einhergehen, wird durch die Namensliste am rechten Rand angezeigt. Neben Height (Höhe) und Width (Breite) steht dort auch ein SetWallPaper zur Auswahl. Dies sind die sogenannten "Members" der Klasse.
Schritt 2
Gib nach Desktop einen Punkt ein und wähle das SetWallPaper über die Maus oder durch Eingabe des Namens aus. Wie es die Beschreibung am rechten Rand angibt, muss die Datei, die durch SetWallPaper als Hintergrundbild auf dem Desktop angezeigt werden soll, als URL in runden Klammern angegeben werden.
Schritt 3
Und bekommen wir diese URL eines Bildes im Internet her? Zum Beispiel über die Flickr-Klasse, die einen direkten Zugang zum Foto-Portal Flickr zur Verfügung stellt. Eine ihrer beiden Members ist GetRandomPicture(), das ein zufälliges Bild zu einem Thema liefert, das namentlich in Anführungszeichen gesetzt übergeben wird.
Damit sieht der Befehl wie folgt aus:
Desktop.SetWallPaper(Flickr.GetRandomPicture("New York"))
Zur Ausführung genügt ein Drücken von
. Es erscheint ein „Overlay“-Fenster, das angibt, dass das noch nicht benannte Programm ausgeführt wird, und das wieder verschwindet sobald das Programm mit der Ausführung seiner Befehle fertig ist.
Ging alles gut, wirst Du feststellen, dass sich der Bildschirmhintergrund auf dem Windows-Desktop geändert hat.
Schritt 4
Wie wäre es, wenn nicht nur ein Bild, sondern gleich 20 Bilder nacheinander als Bildschirmhintergrund angezeigt werden würden? Dazu fehlt lediglich ein Wiederholungsbefehl, der den gerade vorgestellten Befehl 20 Mal wiederholt:
For n = 1 To 20
Desktop.SetWallPaper(Flickr.GetRandomPicture("New York"))
EndFor
Starte das Programm erneut und Du wirst feststellen (eine Internet-Verbindung natürlich vorausgesetzt), dass nacheinander Bilder zu dem angegebenen Suchbegriff auf dem Desktop angezeigt werden.
Dieses kleine Beispiel macht sehr schön die Zielrichtung von SmallBasic deutlich. Kleine Programme (oder besser „Progrämmchen“), oft nur aus wenigen Zeilen bestehend, die eine kleine Aufgabe lösen, die vor allem Menschen Spaß macht, die gerade dabei sind, sich in die Welt der Programmierung hineinzugeben.
SmallBasic wird in einem weiteren Artikel im Coding Class-Portal ausführlicher vorgestellt.