1938511

Programmieren als Hobby - So klappt der Einstieg

04.06.2014 | 10:11 Uhr |

Programmieren kann ein spannender Zeitvertreib sein. Man lernt etwas dabei und produziert nebenbei auch noch nützliche Tools. Was Sie dafür benötigen, verraten wir gerne.

Heimwerkerarbeiten machen Schmutz und Lärm, außerdem benötigt man dafür jede Menge technischer Spezialgeräte. Aber es geht auch sauber und ohne schweres Werkzeug. Basteln Sie Ihre Software einfach selbst. Als Werkzeug genügt für den Anfang ein simpler Texteditor, wie er auf jedem PC zu finden ist. Wenn Sie Gefallen am Programmieren gefunden haben und mehr wollen, installieren Sie sich eine fortgeschrittenen Texteditor mit Syntax-Highlighting wie UltraEdit oder gar eine Software-Entwicklungsumgebung (IDE, Integrated Development Environment) wie Eclipse , mit der Sie auch die Programmoberfläche gestalten können.

Dieser Artikel stammt aus dem Sonderheft PC-WELT Hacks: Raspberry Pi

Raspberry Pi Schritt für Schritt, Tipps, Tricks und Anleitungen für Einsteiger & Profis, das Raspberry Pi Komplett-Paket 2014 auf DVD - das und mehr lesen Sie im neuen PC-WELT-Sonderheft Hacks .

Die beste Programmiersprache für eine Aufgabe finden

Es gibt Programmiersprachen für jeden Zweck und in jeder Geschmacksrichtung. Die Grundlagen der Programmierung kann man mit jeder lernen, da die Prinzipien überall ähnlich sind. Die wichtigsten Schlüsselwörter haben Sie sich wahrscheinlich in wenigen Stunden gemerkt. Schwierig wird es erst, wenn Sie komplexe Ideen umsetzen wollen und dafür auf bestimmte Funktionen des Betriebssystems angewiesen sind.

Wenn es nur darum geht, ein paar kleine Helferlein für den Windows- oder Linux-Alltag zu erstellen, genügt eine Script-Sprache. Die Programme bestehen aus Textdateien, die von einem Script-Interpreter verarbeitet werden. Bei Windows sind das beispielsweise Stapelverarbeitungsdateien mit der Endung BAT oder CMD, die der Kommandozeileninterpreter ausführt. Die enthaltenen Befehle starten nacheinander Programme, verarbeiten deren Ausgaben oder versorgen sie mit Parametern, die die Programmausführung beeinflussen. Allgemeine Infos zur Verwendung von Batch-Dateien unter Windows finden Sie über Wikibooks .

Mehr Möglichkeiten, aber auch einen höheren Lernaufwand haben Sie mit den höheren Programmiersprachen wie C# und Visual Basic (Microsoft-.Net) sowie Java, C, C++ oder Delphi. Damit erstellen Sie auch umfangreiche Programme für die Kommandozeile oder die grafische Oberfläche. Neben den klassischen Programmiersprachen für den Desktop gibt es noch PHP, Python und Perl. Auch hierbei handelt es sich um Script-Sprachen, die aber vor allem auf einem Webserver ausgeführt werden. Sie lassen sich aber auch lokal auf dem PC nutzen. Daneben gibt es noch Javascript, das zwar der Webserver ausliefert, aber der Javascript-Interpreter im Browser verarbeitet. Damit lassen sich die Elemente in einer Webseite ändern oder neu anordnen. Das ermöglicht dynamische Seiten mit wechselnden Inhalten etwa für Bildergalerien oder Datenbankabfragen.

Weitere Infos und Programmierkurse bzw. Bücher zu allen genannten Sprachen finden Sie erneut bei Wikibooks .

Nützliche Mini-Tools zum selbst programmieren

Tutorials und Infos zu Programmiersprachen gibt es im Internet auf vielen Websites und in Foren. Ein guter Startpunkt ist beispielsweise http://de.wikibooks.org.
Vergrößern Tutorials und Infos zu Programmiersprachen gibt es im Internet auf vielen Websites und in Foren. Ein guter Startpunkt ist beispielsweise http://de.wikibooks.org.

Mit Javascript im Browser lauffähige Programme erstellen

Javascript in Verbindung mit HTML hat durch Smartphones und Tablets in den letzten Jahren an Bedeutung gewonnen. Hinter vielen Apps stehen Webdienste und Javascripts.

Erfahrungen mit Javascript können Sie aber zuerst auf Ihrem Windows-PC sammeln. Alles was Sie dafür benötigen, ist ein Editor und ein Webbrowser. Bequemer geht es allerdings mit einem komfortableren Editor wie Notepad++ , der die Schlüsselwörter der jeweiligen Programmiersprache farblich hervorhebt („Syntax highlighting“) und so für mehr Übersicht sorgt. Noch mehr Funktionen liefert die kostenlose Entwicklungsumgebung Microsoft Expression Web 4 . Javascript/HTML-Programme können Sie unter Windows oder Linux direkt im Browser ausprobieren. Windows bietet zudem HTML-Anwendungen (HTA-Dateien), die als eigenständige Programm laufen.

In unserem Downloadbereich finden Sie unter dem Namen „ Javascript-Quiz “ die Beispieldateien „JavaScriptMiniQuiz.html“ und „JavaScriptMini- Quiz.hta“. Beide enthalten fast den gleichen Code. Bei der HTA-Datei sind einige wenige Zusatzinfos für die Darstellung des Programmfensters und die Fenstergröße notwendig. Im Quellcode sind Kommentare enthalten, die die wichtigsten Funktionen erklären.

Probieren Sie das Programm aber zuerst einmal aus, etwa indem Sie „JavaScriptMiniQuiz.html“ per Doppelklick im Browser öffnen. Sie sehen eine Frage und darunter vier mögliche Antworten. Wählen Sie eine aus, und klicken Sie auf „Antworten“. Sie erfahren dann, ob Ihre Wahl richtig war oder nicht. Die korrekte Antwort wird grün hervorgehoben. Weiter geht es per Klick auf „Nächste Frage“. Nach der vierten und letzten Frage erfahren Sie, wie viel Prozent der Fragen Sie richtig beantwortet haben.

Die Beispielanwendung „JavaScriptMiniQuiz.html“ zeigt, wie leicht sich eigene Programmierideen nur mit einem Texteditor und einem Browser umsetzen lassen.
Vergrößern Die Beispielanwendung „JavaScriptMiniQuiz.html“ zeigt, wie leicht sich eigene Programmierideen nur mit einem Texteditor und einem Browser umsetzen lassen.

Aufbau des Javascript- Beispielprogramms

Öffnen Sie die HTML-Datei in einem Editor. Sie enthält die typischen Elemente einer HTML-Seite zwischen den Tags „<html>“, „<head>“ und „<body>“. Der Javascript-Code wird mit „<script type="text/javascript">“ eingeleitet. Am Anfang steht hinter „var dictionary“ eine kleine Datenbank mit den Fragen und Antworten. Hinter „ergebnis“ ist festgelegt, welche Antwort richtig ist. „[ '0','1','0','0' ]“ bedeutet, dass die zweite Antwort stimmt. Die Struktur sieht zwar etwas kompliziert aus, ist aber bei Javascript im Browser die einzige Möglichkeit Daten zu laden. Den Zugriff auf externe Dateien verhindert der Browser aus Sicherheitsgründen. Auf einem Webserver könnte man die Daten beispielsweise über PHP aus einer Datenbank lesen.

Scrollen Sie an das Ende der Datei. Hier ist die Benutzeroberfläche in HTML definiert. Es gibt ein paar Platzhalter für die Ergebnisse in Div und Span-Tags und ein Formular für das Quiz. Die einzelnen Elemente lassen sich per Javascript über ihre ID ansprechen. Ein Beispiel: „<span id="frage"></span>“ ist der Platzhalter für die Frage. Mit der Javascript-Methode „document. getElementById("frage")“ erhält man eine Objektreferenz auf das Element mit der ID „frage“. Der Inhalt des HTML-Elements lässt sich dann über die Eigenschaft „innerHTML" ändern. Die Zeile

document.getElementById("frage"). innerHTML="Hier steht eine Frage"

fügt den angegebenen Text zwischen den Span- Tags ein. Auf diese Weise können Sie über Javascript den Inhalt einer HTML-Seite dynamisch ändern.

Neun Entwickler-Tools für JavaScript
Javascript-Code ausführen: Bei Javascript im Browser gibt es noch eine Besonderheit. Ein Script kann erst auf die HTML-Elemente zugreifen, nachdem der Browser diese komplett verarbeitet hat. Deswegen kommt am Anfang des Scripts die Methode „setInterval“ zum Einsatz. Darüber wird alle 10 Millisekunden geprüft, ob der Browser die Seite fertig aufgebaut hat. Das ist dann der Fall, wenn die Eigenschaft „document.readyState“ den Wert „complete“ hat. Danach startet die Funktion „init()“, die dann die weiteren Programmfunktionen einleitet.

Per Javascript kann der Browser nicht auf externe Dateien zugreifen. Die Daten für das Frage-Antwort-Spiel müssen Sie daher im Quelltext selbst in einer Variablen ablegen.
Vergrößern Per Javascript kann der Browser nicht auf externe Dateien zugreifen. Die Daten für das Frage-Antwort-Spiel müssen Sie daher im Quelltext selbst in einer Variablen ablegen.

Variablen und Funktionen in Javascript

Beim Umgang mit Javascript sollten Sie ein paar Grundregeln beachten. Die wichtigste davon: In Javascript wird grundsätzlich zwischen Groß- und Kleinschreibung unterschieden (case sensitive). Es muss genau „getElementById“ heißen, „getelementByID“ funktioniert nicht. Variablen müssen immer deklariert werden, beispielsweise „var anzFragen=0“. Die Namen der Variablen können Sie selbst bestimmen, Sie dürfen dabei aber keine reservierten Schlüsselwörter und keine Sonder- oder Leerzeichen verwenden. Erfolgt die Deklaration einer Variablen am Anfang des Scripts außerhalb einer Funktion, gilt die Variable für das ganze Script. Ist sie innerhalb einer Funktion deklariert, gilt sie nur für die Funktion selbst. Javascript unterscheidet zwischen Variablen mit Zeichenketten oder Zahlen.

Die Deklarationen

var Frage="Was ist eine Variable?";  var y="42"; 

enthalten beide jeweils eine Zeichenkette. Fehlen die Anführungszeichen, lässt sich mit den Variablen auch rechnen:

var y=42;  var x=5;  var z=y+x;  

„z“ enthält nach dieser Operation den Wert „47“. Bei Zeichenketten wirkt das „+“-Zeichen anders. Die Zeile

var y="42";  var x="5";  var z=y+x;  

füllt die Variable „z“ mit der Zeichenkette „425“, verbindet also die Zeichen.

Traditionell endet jede Befehlszeile mit einen Strichpunkt „;“. Das ist jedoch optional. Viele Programmierer haben das jedoch beibehalten, um die Übersichtlichkeit zu verbessern. Sie müssen den Strichpunkt jedoch auf jeden Fall setzen, wenn mehrere Befehle in einer Zeile stehen und nicht durch einen Zeilenumbruch getrennt sind.

Wenn Sie mehrere Werte in einer Variable speichern möchten, verwenden Sie ein Array wie für die Daten in der Beispieldatei „JavaScriptMiniQuiz. htm“. Ein einfaches Array kann beispielsweise so aussehen:

var farben = ["rot", "grün", "blau"];  

An das erste Element kommen Sie dann mit „farben[0]“ heran, an das zweite mit „farben[ 1]“. Die Zählung beginnt also bei „0“. Das müssen Sie beachten, wenn Sie anderweitig Zähler verwenden, etwa für „Fragen“ bei denen die Zählung mit „1“ beginnt.

Funktionen: Damit der Programmcode übersichtlich bleibt, sollte Sie wann immer möglich Funktionen verwenden. Häufig benötigten Programmcode müssen Sie dann auch nur einmal eintippen und können ihn mehrfach verwenden. Die allgemein Form einer Funktion ist

function Funktionsname() { Anweisungen };  

In die runden Klammern setzen Sie Variablen für Parameter ein, das Schlüsselwort „return“ liefert einen Rückgabewert. Nach Aufruf von

function Addieren (a,b) { return a + b };  

mit

var y = Addieren (40,2));  

enthält die Variable „y“ den Wert „42“.

Die meisten Browser enthalten Entwicklungswerkzeuge für Javascript und HTML. Sie können damit den Javascript-Code über einen Debugger zeilenweise ausführen.
Vergrößern Die meisten Browser enthalten Entwicklungswerkzeuge für Javascript und HTML. Sie können damit den Javascript-Code über einen Debugger zeilenweise ausführen.

Javascript-Code entwickeln und im Browser prüfen

Die grundlegenden Funktionen von Javascript sind schnell erlernt. Zum Nachschlagen können Sie beispielsweise http://de.selfhtml.org aufrufen. Hier finden Sie alles Wissenswerte zu HTML und Javascript sowie zahlreiche Beispiele. Ein Entwicklungswerkzeug wie Microsoft Expression Web kann beim Lernen ebenfalls helfen. Die automatische Code-Ergänzung zeigt Ihnen die verfügbaren Methoden oder Eigenschaften an, wenn Sie einen Befehl eintippen.

Alle aktuellen Browser bringen zahlreiche Entwicklungswerkzeuge mit, die Sie über die F12-Taste aufrufen. In Firefox beispielsweise klicken Sie dann auf „Konsole“. In einem Javascript können Sie sich etwa über „console.log(x)“ den Wert der Variablen „x“ ausgeben lassen. Auf der Registerkarte „Debugger“ setzen Sie per Mausklick Haltepunkte vor eine Codezeile. Die Script-Ausführung stoppt dann an dieser Stelle, und Sie sehen die Werte der Variablen. Mit der F11-Taste können Sie den Code dann Zeile für Zeile abarbeiten und dabei jeweils die geänderten Werte beobachten.

Eigenständige Programme mit Lazarus entwickeln

Lazarus ist eine Open-Source-Entwicklungsumgebung. Als Programmiersprache kommt Object Pascal zum Einsatz. Lazarus ist weitgehend kompatibel zum kommerziellen Delphi.

Sie steht für Windows, Linux und Mac-OS X zur Verfügung. Wir empfehlen für Windows die 32-Bit-Version von Lazarus. Damit erstellte Programme laufen unter Systemen ab Windows XP.

Wenn Sie Lazarus das erste Mal starten, öffnen sich mehrere Fenster. Das oberste Fenster zeigt die Menüleiste, Symbolleisten und mehrere Registerkarten. Unter den Registerkarten („Komponentenpalette“) sind Elemente zu sehen, die Sie in die Oberfläche Ihres Programms einbauen können, beispielsweise Schaltflächen, Eingabefelder oder Klickboxen. Der „Objektinspektor“ auf der linken Seite zeigt Eigenschaften an, mit denen Sie das Aussehen oder die Funktion der Elemente bestimmen. Rechts davon ist ein Fenster mit dem Titel „Form1“. Dieses „Formular“ bildet später das Fenster Ihres Programms.

In der Mitte sehen Sie den „Quelltexteditor“, in den Sie den Programmcode eintippen. Darunter gibt es noch das Fenster „Nachrichten“. Hier gibt Lazarus Informationen und Fehlermeldungen des Compilers aus.

Object Pascal: Die Verwendung von Variablen

Beim ersten Start von Lazarus öffnen sich mehrere Fenster. In dem zunächst leeren Formular bringen Sie die gewünschten Elemente des Programmfensters unter.
Vergrößern Beim ersten Start von Lazarus öffnen sich mehrere Fenster. In dem zunächst leeren Formular bringen Sie die gewünschten Elemente des Programmfensters unter.

Ein erstes einfaches Programm

Klicken Sie auf der Registerkarte „Standard“ das Symbol für die Schaltfläche an („TButton“). Dann klicken Sie auf das Formular. Die Schaltfläche lässt sich an eine beliebige Position ziehen, und über die Anfasspunkte verändern Sie die Größe. Setzen Sie auf die gleiche Weise ein Texteingabefeld („TEdit“) in das Formular ein. Klicken Sie die Schaltfläche einmal an und ändern im Objektinspektor hinter „Caption“ die Beschriftung der Schaltfläche, etwa auf „Hallo Welt!“. Hinter „Name“ tragen Sie beispielsweise btnHallo ein. Klicken Sie auf das Text-Eingabefeld und löschen den Eintrag hinter „Text“. Hinter „Name“ tragen Sie edtHallo ein.

Klicken Sie doppelt auf die Schaltfläche „Hallo Welt!“. Lazarus fügt in den Quelltexteditor automatisch die Zeilen

procedure TForm1. btnHalloClick(Sender: TObject);  begin  end;  

hinzu. „procedure“ kennzeichnet in Pascal ein eigenständiges Unterprogramm. Daneben gibt es noch „function“, das für Unterprogramme mit Rückgabewerten verwendet wird. Danach folgt der Programmblock, der immer zwischen „begin“ und „end;“ steht. Achten Sie auf den Strichpunkt am Ende der Zeile. Er steht bei Pascal immer am Ende von Codeblöcken oder Anweisungen.

Tragen Sie zwischen „begin“ und „end;“ folgende Zeile ein:

edtHello.Text:=‘Hello World!‘;  

und starten Sie das Programm testweise (F9). Wenn Sie die Schaltfläche jetzt anklicken, setzt das Programm „Hello World!“ in das Texteingabefeld ein.

An diesem einfachen Beispiel erkennen Sie den objektorientierten Ansatz von Pascal. Das Eingabefeld „edtHallo“ ist das Objekt und „Text“ ist eine Eigenschaft, die Sie zur Entwurfszeit auch über den Objektinspektor festlegen können. Weitere Eigenschaften sind beispielsweise „Width“ für die Breite des Objekts oder „Visible“, womit Sie die Sichtbarkeit festlegen. Als Hilfe für den Programmierer erscheint nach Eingabe des Punktes hinter einem Objektnamen eine Liste mit allen verfügbaren Eigenschaften des jeweiligen Objekts (Property).

Das Unterprogramm „ReadMyXMLFile“ liest die Daten für Fragen und Antworten aus einer XML-Datei. Das Quiz lässt sich dadurch flexibel erweitern.
Vergrößern Das Unterprogramm „ReadMyXMLFile“ liest die Daten für Fragen und Antworten aus einer XML-Datei. Das Quiz lässt sich dadurch flexibel erweitern.

Ein Beispielprojekt für Lazarus

Damit Sie den Unterschied zum Javascript-Programm sehen, haben wir die gleiche Idee auch in Lazarus umgesetzt. Sie finden die Dateien unter dem Namen „ Lazarus-Quiz “ im Downloadbereich. Öffnen Sie die Datei „MiniQuiz.lpi“ per Doppelklick. Über die F9-Taste kompilieren und starten Sie das Programm. Es funktioniert genau so wie das Javascript-Beispiel. Beenden Sie das Programm wieder, und sehen Sie sich den Quellcode im Editor an.

Der wesentliche Unterschied ist im Unterprogramm „ReadMyXMLFile“ zu finden. Es liest die Fragen und Antworten aus der Datei „Fragen.xml“. Vom Aufbau her ähnelt die XML-Datei der Datenstruktur im Javascript. Die richtigen Antworten sind hier aber jeweils mit dem Attribut „R="1"“, die falschen mit „R="0"“ gekennzeichnet. Weitere Fragen-Antworten-Blöcke fügen Sie nach dem gleichen Muster einfach zwischen „<quiz>“ und „</quiz>“ ein.

Im Quelltext finden Sie mehrere Kommentare, die die Abläufe beschreiben. Ausführliche Beschreibungen und zahlreiche Beispiele finden Sie unter http://wiki.lazarus.freepascal.org . Eine hilfreiche Einführung in Object Pascal finden Sie auf www.delphi-treff.de .

Programmieren mit Microsofts .Net-Framework

.Net (Dotnet) ist eine von Microsoft entwickelte Familie von Programmiersprachen. Es gibt Visualbasic. net, Visual C# („C Sharp“), Visual F# und einiges mehr. Die Entwicklungsumgebung Visual Studio Express bietet Microsoft kostenlos an. Mit Visual Studio Express 2013 für Windows entwickeln Sie Windows-Store-Apps. Dafür benötigen Sie Windows 8. Visual Studio Express 2013 für Windows Desktop läuft auch unter Windows 7. Damit erstellen Sie herkömmliche Windows-Programme. Nach der Installation müssen Sie sich bei Microsoft registrieren. Sie erhalten dann per E-Mail einen Produkt-Key, mit dem Sie das jeweilige Produkt dauerhaft nutzen können. Für Visual Studio bietet Microsoft eine Fülle von Informationen, die Sie im Programm über „Hilfe > Hilfe anzeigen“ abrufen können. C# und Visualbasic.net werden von vielen Programmierern weltweit genutzt, so dass Sie im Internet schnell Hilfe auch bei speziellen Problemen finden. Wenn Sie mit Vusual Studio erstellte Programme weitergeben, müssen Sie dafür sorgen, dass die jeweils nötige .Net-Laufzeitumgebung auf dem PC installiert ist.

0 Kommentare zu diesem Artikel

PC-WELT Hacks - Technik zum Selbermachen?

Raspberry Pi erfreut sich gerade unter Bastlern einer großen Beliebtheit. Kein Wunder, denn mit der 35-Euro-Platine lassen sich viele spannende Projekte realisieren. Vom Mediacenter, Netzwerkspeicher, Fotomaschine bis hin zum Überwachungssystem ist alles möglich. Dieser Bereich ist aber nicht nur dem Raspberry Pi gewidmet, sondern bietet auch viele Tipps, Tricks und Anleitungen für andere spannende Bastelprojekte.

1938511