30.15 Zusammenfassung
Sprachen
Unter Linux- und BSD-Systemen stehen Ihnen neben den populären Compilern und Interpretern für C, C++, Perl, Java oder Tcl auch einige etwas exotischere Programmiersprachen wie Erlang, Scheme, GNU Smalltalk, Common Lisp oder Lua zur Verfügung. Die meisten dieser Interpreter und Compiler sind quelloffen und unterliegen der GNU General Public License, der BSD-License oder sind zumindest frei erhältlich.
Debugging
Zum Debugging steht unter anderem der GNU-Debugger (GDB) zur Verfügung. Dabei handelt es sich um einen konsolenbasierten Debugger, der einigen Entwicklern etwas unmodern erscheinen mag. Dafür kann man jedoch auf die grafische X11-Oberfläche Xxgdb oder besser auf DDD zurückgreifen. Einige freie Entwicklungsumgebungen wie KDevelop integrieren den Support für GDB ebenfalls.
Profiler & Tracing
Weitere wichtige Tools sind der GNU-Profiler gprof sowie die Tools zum Tracing von Programmen. Mit ihnen ist das Verfolgen von Syscalls möglich. Unter Linux verwendet man dafür strace, unter BSD ktrace und kdump.
make & autotools
Bei Open-Source-Softwareprojekten unter Unix ist es üblich, ein Makefile ins Projekt zu integrieren. Dieses erlaubt die systematische und übersichtliche Übersetzung eines Projekts aus dem Quellcode. Falls man das Makefile nicht selbst erstellen möchte, bieten sich die GNU Autotools an, für die lediglich Konfigurationsanweisungen übergeben werden müssen. Diese Tools erstellen basierend auf diesen Konfigurationsanweisungen Skripte, die den Quellcode portabel gestalten und zudem für jedes System automatisch ein Makefile generieren.
(f)lex, yacc & bison
Die Tools lex und flex fungieren als Lexer, zerlegen einen ASCII-Stream also in Tokens, die anschließend von einem Parser wie yacc oder bison auf ihre syntaktische Korrektheit hin überprüft werden können. Auf diese Weise lassen sich mittels regulärer Ausdrücke und Syntaxvorgaben beispielsweise Skriptsprachen interpretieren oder auch Konfigurationsdateien auf ihre Korrektheit hin überprüfen und einlesen.
Open-Source- Projekte
Veröffentlicht man freie Software für Unix, so sollte man einige grundlegende Dinge beachten. Zum einen sollte die Software klar unter einer eigenen oder fremden Lizenz veröffentlicht werden. Zum anderen sollten wichtige Dateien wie AUTHOR(S), INSTALL, README, LICENSE und NEWS im Projekt vorhanden sein.
Manpages
Des Weiteren sind für Unix-Projekte Manpages wichtig. Manpages werden mit dem Programm groff formatiert und beschreiben die grundlegende Anwendung und Funktionsweise eines Projekts.
CVS & Subversion
Damit mehrere Entwickler gleichzeitig an einem Projekt arbeiten können, empfiehlt sich die Nutzung eines Versionsmanagement-Systems wie CVS oder der neueren Variante Subversion. Mit diesen Systemen wird ein zentraler Speicherort für Quelldateien geschaffen, wobei Veränderungen an diesen Dateien protokolliert und beobachtet werden können.
Qt, GTK+, Pcap und Co.
Neben diesen Möglichkeiten können Sie noch auf diverse bekannte Libraries (Bibliotheken) zugreifen. Darunter befinden sich Libraries zur Entwicklung grafischer Oberflächen (unter anderem sind dies Xlib, (Open)Motif, LessTif, GTK+, Qt), aber auch verschiedene andere Libraries, etwa libpcap zum Abfangen von Paketen auf Layer 1 im TCP/IP-Stack oder Libraries zur Kompression von Daten, zur Betrachtung und Manipulation von Bilddateien, zur Programmierung von USB-Geräten oder zur Entwicklung mit XML.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.