AA_enter_rrezendes_sxc_808026.jpg

© rrezendes, sxc.hu

Programmiersprachen und Techniken im Überblick

In die Tasten gegriffen

Wer sich ein Linux-System zulegt, dem stehen viele Möglichkeiten zum Programmieren offen. Ein Überblick hilft bei ersten Schritten durch den Dschungel der Sprachen und Konzepte.

Linux eignet sich ideal als Entwicklungsplattform. Das quelloffene System lädt geradezu dazu, eigene Versuche in Sachen Programmieren zu unternehmen. Aber wo anfangen und wie weitermachen? Dieser Artikel gibt einen Überblick über aktuell verbreitete Skriptsprachen und Programmiersprachen.

Ein blickt auf die Übersicht der Sprachen bei Github [1] zeigt, wie weit das Feld der Programmiersprachen derzeit ausfällt. Hier finden sich Youngster wie das Google-Projekt Go neben Oldtimern wie C und Perl. Für die meisten davon bieten die großen Distributionen in der einen oder anderen Form Unterstützung. Ein Auswahl tut daher zwangsläufig den Unerwähnten Unrecht.

Daher lautet der pragmatische Ansatz: Am Anfang mit dem Strom schwimmen, die Kür kommt später. Die hier vorgestellten Sprachen entsprechen dem, was Sie auf einem durchschnittlichen Linux-System beim Blick in den Quellcode von Skripten und Tools vorfinden. Die Auswahl dient der Orientierung, nicht als Lernziel: Schließlich liegt der Reiz freier Software ja gerade in der Auswahl. Und wer erst einmal seine eigenen Assembler-Programme schreibt, dem bereitet das Lernen einer neuen Sprache ohnehin kaum noch Probleme.

Shell-Skripting

Die meisten Benutzer machen die ersten Programmierschritte beim Shell-Skripting. Die Shell [2] blickt auf eine lange Geschichte als Interface zum Rechner zurück und bietet bereits umfangreiche Möglichkeiten zum Schreiben kleiner Programme. Meist handelt es sich dabei um Befehle, die in immer wiederkehrender Folge zum Einsatz kommen. Typischerweise entstehen solche Skripte also aus der Alltagsarbeit. Zu den bekannten Shells gehören die Bash ("Bourne Again Shell"), die Dash ("Debian-Almquist-Shell") sowie die Zsh.

Der Charme von Shell-Skripten liegt im einfachen Erstellen und Verwenden: Mehr als einen Editor braucht der Programmierer nicht; beim Ausführen übernimmt die Shell das Interpretieren der Befehle. Sie haben die Möglichkeit, Unix-Kommandozeilenwerkzeuge einzubinden und so auch komplexe Aufgaben zu lösen.

Buchtipp Shell-Programmierung

Rainer Krienke

Shell-Programmierung für Unix und Linux

329 Seiten, 29,90 Euro

3., erweiterte Auflage, 2006

Hanser Verlag

ISBN 978-3-446-40737-4

Das Buch bespricht viele der im Unix-Umfeld eingesetzten Shell-Varianten. Es versetzt den Leser im Verlauf der Kapitel in die Lage, immer komplexere Strukturen in Skripten einzusetzen. Abschnitte über Awk und Sed erleichtern den Einsatz häufig gebrauchter Hilfsmittel.

Dieser einfache Ansatz hat seinen Preis: Gerade bei umfangreichen Prozessen benötigen Skripte mitunter sehr viel Zeit. Zum anderen laufen sie nur dann in einem anderen Shell-Interpreter, wenn Sie sich beim Schreiben an den kleinsten gemeinsamen Nenner in Bezug auf die Funktionen halten – was im Umkehrschluss bedeutet, auf einige nützliche Features zu verzichten.

Zudem nimmt meist mit dem Bedarf für komplexere Datenstrukturen auch die Komplexität der Programme rasend schnell zu. Shell-Skripte werten in der Regel Textzeilen aus, die sie als Rückgabewerte von anderen Kommandos erhalten. Ab einem gewissen Punkt lohnt es sich also, über eine echte Skriptsprache nachzudenken. Spätestens jetzt kommt der Zeitpunkt, an dem es zudem lohnt, einige typische Hilfsmittel beim Entwickeln zu nutzen. Einen Überblick verschafft Ihnen der Artikel zu Programmiertools in dieser Ausgabe.

Wer nicht gleich zu einer maschinennahen Programmiersprache wie C greifen will, der hält sich am besten an eine der Skriptsprachen, die ein Linux-System in der Regel schon mitbringt: Perl, Python, Tcl oder Basic. Zu letzterem finden Sie in dieser Ausgabe einen Artikel, der aktuelle Basic-Entwicklungsumgebungen vergleicht.

Old School

1988 entwickelte der Programmierer John Ousterhout aus Frustration über die Arbeit von Kollegen die "Tool Command Language" ([3], kurz Tcl, gesprochen "tickel"). Lange Zeit gehörte sie zur ersten Wahl, wenn es darum ging, auf die Schnelle grafische Oberflächen zu erstellen. Heute läuft vor allem Python im Zusammenspiel mit den beiden Toolkits GTK und Qt der Sprache den Rang ab.

Eine Reihe von Erweiterungen sorgten für einen schnellen Siegeszug von Tcl: So ermöglichte es das Paket Tk (sprich "ti-kei"), mit wenigen Zeilen Code besagte Frontends zu programmieren. Noch viel interessanter, wenngleich nicht unbedingt ebenso bekannt, ist aber die Erweiterung Expect: Sie bietet die Möglichkeit, eigentlich interaktive Abläufe, wie zum Beispiel Telnet- oder SSH-Sessions, zu skripten und so Aufgaben auf entfernten Rechnern komplett zu automatisieren.

Für den angehenden Programmiernovizen lohnt es sich auf jeden Fall, die Sprache einmal anzusehen. Im Linux-System treffen Sie immer wieder auf entsprechende Skripte. Als erste Wahl empfiehlt sie sich aber nicht. Zum Vergleich: Die populäre Projektseite Sourceforge [4] listete Ende April 2010 rund 8900 auf Perl basierende Projekte im Gegensatz zu 1300 Projekten, die Tcl als Grundlage verwenden.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...