Entwicklungstools für Linux

09.09.2002 von Alexander Scheb
Die Entwicklungswelt kommt unter Linux immer mehr in Schwung. Mittlerweile sind zahlreiche entsprechende Tools verfügbar. tecCHANNEL nimmt deren Praxistauglichkeit unter die Lupe.

Es ist Ziel eines jeden Software-Entwicklers, seine Arbeit möglichst schnell zu erledigen. Eine Entwicklungsumgebung sollte daher die standardmäßigen Funktionen integrieren und diese möglichst einfach zur Verfügung stellen. Jedoch ist dies nicht immer der Fall. Oft wirken die Tools lieblos zusammengestellt und von Benutzerfreundlichkeit kann nicht die Rede sein. Das oberste Gebot einer Entwicklungsumgebung sollte daher sein, dass diese intuitiv zu bedienen und zugleich so leistungsfähig wie möglich ist.

Zahlreiche Entwicklungsumgebungen (IDE, Integrated Development Environment) für Linux unterliegen der General Public Licence (GPL) und können frei aus dem Internet bezogen werden. Von den kommerziellen Entwicklungswerkzeugen steht in der Regel eine Testversion zur Verfügung.

In diesem Beitrag nehmen wir folgende vier IDEs unter die Lupe und zeigen auf, was diese leisten und wo ihre Stärken und Schwächen liegen.

Linux-Entwicklungsumgebungen im Überblick

Entwicklungsumgebung

Hersteller

Source-Navigator 5.0

Red Hat

Code-Forge 2.6

Code Forge, Inc.

SNiFF+ 4.0

Wind River Systems, Inc.

Code-Crusader 3.0

New Planet Software

Kylix 2.0

Borland

Funktionsumfang

Die primäre Frage ist, über welche Funktionalität eine gute Entwicklungsumgebung grundsätzlich verfügen sollte. Auf jeden Fall muss es ein Projektfenster geben, in dem alle Dateien des gesamten Projekts zusammengefasst dargestellt werden. Ebenso ist ein leistungsfähiger Editor zur komfortablen Bearbeitung des Quellcode unabkömmlich.

Jedes Projekt verfügt in der Regel über eine spezielle Konfiguration. Diese sollte innerhalb der Projektoptionen einfach und bequem einstellbar sein. In diesen Optionen legt man fest, in welches Verzeichnis die Projektdaten gespeichert werden und welchen Compiler man nutzen möchte.

Eine IDE soll den Entwickler aktiv bei seiner Arbeit unterstützen. Der einfachste Ansatz ist ein kontextsensitives Hilfesystem. Per Mausklick wird je nach Situation ein entsprechender Hilfetext eingeblendet. Noch benutzerfreundlicher ist es, wenn während der Eingabe des Quellcode die verfügbaren Methoden der Klasse automatisch auszuwählen sind. Sobald beim Kompilieren ein Fehler auftritt, sollte die entsprechende Stelle automatisch angezeigt werden.

Source-Navigator 5.0

Der Source-Navigator geht von der Kenntnis aus, dass Software-Projekte in der Regel schlecht dokumentiert sind. Für ein neues Teammitglied ist es oft nahezu unmöglich, die interne Architektur und die Abhängigkeiten eines bereits existierenden Projekts zu verstehen, die in Tausenden von Codezeilen versteckt sind. Für solche Fälle ist der Source-Navigator gut gerüstet. Die Entwicklungsumgebung dient gewissermaßen als Analysetool für Software-Projekte.

Aus gutem Grund stellt der Source-Navigator verschiedene Arten von Browsern bereit. Dies ermöglicht verschiedene Ansichten des Gesamtprojekts. So erkennt man sofort, über welche Klassen und Dateien ein Projekt verfügt und welche Methoden eine Klasse zur Verfügung stellt. Die IDE stellt in visualisierter Form dar, welche Klasse von anderen Klassen abhängig ist.

Einzelne Registerreiter ermöglichen verschiedene Ansichten von Klassen, Methoden, Funktionen und Dateien. Über das Projektfenster legt man ein neues Projekt an, einzelne Dateien oder ganze Verzeichnisse fügt man bequem hinzu oder löscht diese.

QuickInfo

Produkt

Source-Navigator 5.0

Hersteller

Red Hat

Preis

kostenlos

Download

http://sources.redhat.com

Unterstützte Programmiersprachen

C, C++, Cobol, Fortran, Java, Tcl

Editor und Debugger

Der integrierte Editor unterstützt Syntax-Highlighting und stellt die üblichen Funktionen zum Suchen, Ersetzen, Kopieren und Einrücken zur Verfügung. Ebenso lässt sich ein externer Editor integrieren. Die eigentliche Kompilierung findet in einem separaten Fenster statt.

Zum Debuggen steht im Source-Navigator das Tool "IDE Insight" zur Verfügung. Dies ist ein Frontend für das GNU-Programm "gdb". Die Bedienung ist nicht sehr transparent geraten, es setzt einiges an Fachwissen voraus. Eine integrierte Online-Hilfe erleichtert den Einsatz der Entwicklungsoberfläche. Sprachreferenzen und Tutorials sucht man jedoch vergebens.

Installation und Fazit

Der Source-Navigator unterliegt der General Public Licence (GPL) und lässt sich von der RedHat-Webseite beziehen. Nach dem Download entpackt man das TAR-Archiv mittels tar xvfz SN50-010322-source.tar.gz. Das Installations-Script fragt ab, in welchem Verzeichnis (usr/local) das Programm eingerichtet werden soll. Weiter wählt man aus, welche Beispielprogramme zu installieren sind. Hier stehen C++, Java und Cobol zur Auswahl.

Fazit: Der Source-Navigator ist bedienungsfreundlich aufgebaut und intuitiv zu bedienen. Zudem bietet er alle Basisfunktionen. Auch Einsteiger finden sich in der Entwicklungsumgebung schnell zurecht. Seine Stärken kann das Tool bei der Analyse vorhandener Projekte voll ausspielen. Das Werkzeug eignet sich auch für den Einsatz im Team.

Code-Forge 2.6

Bei Code-Forge handelt es sich um ein kommerzielles Produkt. Der Preis bewegt sich zwischen 74,95 US-Dollar für eine Einzelplatzlizenz und 299,95 US-Dollar für eine Professional-Version. Die Professional-Version kann auch im Team eingesetzt werden. Von der Webseite des Herstellers lässt sich nach vorheriger Registrierung eine 30-Tage-Testversion herunterladen sowie eine auf die Programmiersprache C/C++ beschränkte kostenfreie Version. Die Testversion sowie die kostenfreie Version verbieten die Entwicklung kommerzieller Software.

Nach dem Programmstart erscheint das Hauptfenster der Entwicklungsumgebung. Dieser Projektmanager ermöglicht den Zugriff auf sämtliche verfügbaren Projekte. Hier lassen sich die Projekte ausführen und Optionen global einstellen. Ebenso konfiguriert man an dieser Stelle den Compiler, den Parser sowie den Debugger und den Editor.

QuickInfo

Produkt

Code-Forge 2.6

Hersteller

Code Forge, Inc.

Preis

Einzelplatzlizenz 74,95 US-Dollar, Professional-Version 299,95 US-Dollar, Studentenversion 50,00 US-Dollar

Download

http://www.codeforge.com

Unterstützte Programmiersprachen

u.a. C, C++, Corba, Fortran, HTML, Java, Pascal, Perl, PHP3/4, Python

Projekt-Management

Der Projektmanager stellt die Schaltzentrale von Code-Forge dar. Dieser kontrolliert das Anlegen eines Projekts und die Importierung externer Make-Files. Innerhalb des Fensters erkennt man, wo ein Projekt lokalisiert ist, welche Rechte die Benutzer haben und wer gerade an einem Projekt aktiv tätig ist.

Die Möglichkeit, mehrere Projekte parallel zu öffnen, erlaubt praxisorientiertes Arbeiten. Ebenso steht eine visuelle Ansicht der Projektstruktur innerhalb eines Abhängigkeitsbaumes zur Verfügung. Die einzelnen Dateien lassen in der Umgebung gezielt ein- und auschecken. Make-Files brauchen so nicht mehr manuell erstellt werden, da der Make-File-Builder diese automatisch erzeugt. Allerdings besteht weiterhin die Möglichkeit, eigene Make-Files zu erzeugen.

Editor

Der Editor SMED bietet zahlreiche Konfigurationsmöglichkeiten und ist in die IDE integriert. Code-Eingaben formatiert er automatisch und markiert die Syntax der jeweiligen Programmiersprache farblich. Dabei achtet er auch auf die Übereinstimmung der Klammern. Ebenso blendet SMED diejenigen Funktionen ein, die einer Klasse zur Verfügung stehen. Die Sicherung der Änderungen führt der Editor selbsttätig im Hintergrund durch.

Statt des Codes lassen sich verschiedene Symbole für einzelne Sprachkonstruktionen anzeigen. Dadurch stellt man eine Grobgliederung des Quelltextes dar. Diese symbolischen Zeichen sind auf Wunsch aufklappbar und zeigen weitere Details.

Installation und Fazit

Für die Installation von Code-Forge sind GNU Make und GNU RCS (Revision Control System) nötig. Die Entwicklungsumgebung steht als RPM-Paket zum Download zur Verfügung. Die Installation erfolgt über den Befehl rpm -i cforge-386.rpm. Optional lassen sich noch die Motif Bibliothek oder der Data Display Debugger (DDD) einbinden.

Zum Starten von Code-Forge muss zunächst der Forge-Server (forge_server) aufgerufen werden. Zur Kommunikation mit dem Server verwendet die Entwicklungsumgebung den UDP-Port 9090 sowie den TCP-Port 9095. Stehen diese beiden Ports nicht zur Verfügung, kann man andere vergeben. Hierzu verwendet man die beiden Schalter -p und -E.

Zusätzlich ist für Code-Forge eine Umgebungsvariable zu setzen, welche auf das Hauptverzeichnis der Entwicklungsumgebung zeigt. Sobald man die Entwicklungsumgebung aufruft, wird durch das Script die Umgebungsvariable gesetzt.

Eine detaillierte Installationsanweisung finden Sie hier auf den Webseiten des Herstellers.

Fazit: Code-Forge bietet ausgezeichnete Navigationsmöglichkeiten und macht den Einstieg in die Entwicklungsumgebung leicht. Zudem wird der Einsteiger mit der Erstellung von Make-Files nicht belastet. Speziell für die Programmentwicklung im Team ist die Professional-Version prädestiniert, die allerdings mit rund 300 US-Dollar zu Buche schlägt.

SNiFF+

Das kommerzielle Produkt SNiFF+ ist seit kurzem in der Version 4.0 verfügbar. Die Entwicklungsumgebung wurde komplett überarbeitet, um die Bedienung noch weiter zu vereinfachen. Das Werkzeug entstand aus der Erfahrung heraus, dass ein Entwickler 50 Prozent seiner Zeit für die Suche nach bestimmten Informationen verwendet, die im Code versteckt sind. Sobald eine Anwendung in ihrer Komplexität wächst, erhöht sich der Aufwand für Suche, Analyse und Änderung proportional mit dem Code. Aus diesem Grund stellt SNiFF+ leistungsfähige Tools zur Analyse bereit.

Nach dem Start des Programms befindet man sich im Projekt-Fenster. Ein Wizard hilft beim Anlegen eines neuen Projekts. Die Bedienung ist jedoch nicht besonders intuitiv, oft muss man die Dokumentation zu Rate ziehen. Es sind zwar die gängigen Funktionen vorhanden, die Bedienung fällt aber ziemlich umständlich aus.

Legt man ein neues Projekt an, befindet man sich im Projekt-Browser. Dieser ist für die Organisation aller Dateien zuständig. Ebenso werden von hier der Editor, der Compiler und die Dokumentation aufgerufen. Da es sich dabei um separate Tools handelt, werden diese jeweils in einem eigenen Fenster angezeigt. Leider führt dies schnell zur Unübersichtlichkeit, das Wechseln zwischen den Fenstern erweist sich als unpraktisch.

Neben SNiFF+ bietet der Hersteller auch eine Version SNiFF+ Pro an, die einen erweiterten Funktionsumfang bietet. Details zu den Unterschieden zwischen beiden Versionen finden Sie hier.

QuickInfo

Produkt

SNiFF+ 4.0

Hersteller

Wind River Systems, Inc.

Preis

Ab 2.328 US-Dollar (abhängig von der Anzahl der verwendeten Programmiersprachen)

Download

http://www.windriver.com

Unterstützte Programmiersprachen

Ada, C, C++, Corba, Fortran, Java

Editor

Der Editor verfügt über die üblichen Funktionen. Ein Syntax-Highlighting ist ebenso vorhanden wie die obligatorische Suchfunktion. Auf Wunsch ist es auch möglich, einen externen Editor einzubinden. Über einen Symbol-Browser springt man gezielt zu einer bestimmten Klasse oder Methodendefinition. Über einen Klassen-Browser lassen sich die verschiedenen Details einer Klasse anzeigen, beispielsweise über welche privaten Variablen eine Klasse verfügt oder welche öffentlichen Methoden sie bereitstellt. Darüber hinaus können auch Klassenhierarchien angezeigt werden.

Die Dokumentation für ein C++- oder Java-Projekt kann "on the fly" generiert werden. Hier orientierte sich der Hersteller an Suns "javadoc". Ebenso unterstützt die Entwicklungsumgebung die gemeinsame Software-Entwicklung im Team.

Auf Grund der umfangreichen Navigationsmöglichkeiten im Code ist SNiFF+ für größere Projekte prädestiniert. Die Einarbeitung in die Entwicklungsumgebung nimmt jedoch einige Zeit in Anspruch. Als Compiler wird standardmäßig das GNU-Tool "gcc" verwendet. Die IDE ist so ausgelegt, dass sich externe Tools ohne großen Aufwand integrieren lassen. Neben einer Online-Hilfe findet man eine Referenz sowie diverse Tutorials. Gerade Einsteiger profitieren hiervon.

Installation und Fazit

Eine Testversion des kommerziellen SNiFF+ steht auf der Webseite des Herstellers zum Download bereit. Die Installations-Prozedur ist stark distributionsabhängig. Hier sollte man die Online-Hilfe zu Rate ziehen.

Fazit: Besonders Einsteiger werden sich mit SNiFF+ schwer tun. Erst nach dem Lesen der Dokumentation wird die Bedienung klar. Dafür beeindruckt die Entwicklungsumgebung durch ihre Funktionalität und eignet sich besonders für große Projekte. Besondere Stärken des Tools sind die Analyse von Quellcodes und die Projektbearbeitung im Team.

Code-Crusader 3.0

Der Code-Crusader wurde ursprünglich für den Apple Macintosh entwickelt und erst vor kurzem auf Linux portiert. Das fällt bei der Bedienung sofort auf und ist für manchen anfangs gewöhnungsbedürftig. Nach dem Start macht die Entwicklungsumgebung einen unscheinbaren Eindruck. Es wird lediglich eine Menüleiste eingeblendet, die die Standardfunktionen der IDE anbietet. An dieser Stelle kann man auch ein neues Projekt anlegen. Der Code-Crusader kommt mit Hierarchie-, Klassen- und einem Symbol-Browser daher. Die Zweige eines Vererbungsbaumes stellt das Tool grafisch dar. Die einzelnen Abhängigkeiten sind somit schnell ersichtlich.

Die eigentliche Kompilierung eines Programms erfolgt innerhalb eines Shell-Fensters. Dabei kommt das Standardprogramm "gcc" zum Einsatz. Treten Fehler auf, werden diese in einem Error-Fenster zusammengefasst. Ein großer Nachteil ist, dass der Code-Crusader jedes Werkzeug in einem separaten Fenster darstellt. Das wird schnell unübersichtlich. Als Debugger kommt "gdb" zum Einsatz.

QuickInfo

Produkt

Code-Crusader 3.0

Hersteller

New Planet Software

Preis

84 US-Dollar

Download

http://www.newplanetsoftware.com

Unterstützte Programmiersprachen

u.a. C, C++, Cobol, Fortran, Java, Perl, PHP, Python, Tcl

Editor

Der interne Editor ist sehr leistungsfähig. Er unterstützt konsequent Drag-and-Drop, was unter Linux ungewöhnlich ist. Zudem bietet das Tool Syntax-Highlighting und eine flexible Code-Navigation. Auf Wunsch lässt sich ohne großen Aufwand ein externer Editor einbinden.

Leider bietet das Entwicklungssystem keine Versionskontrolle. Dies wäre vor allem für die Programmentwicklung im Team von Nutzen gewesen. Ebenso steht keine Code-Komplettierung zur Verfügung. Eine kontextsensitive Hilfe sowie eine Sprachreferenz sucht man vergebens. Gerade Einsteigern ist diese Entwicklungsumgebung somit nicht zu empfehlen.

Installation und Fazit

Eine Testversion des Code-Crusader kann von der Webseite des Herstellers heruntergeladen werden. Nach dem Download ist das Archiv (ccrusader.tgz) zu entpacken. Da die Programme (jcc, makemake, ctags, dirdiff) im Ausführungspfad liegen müssen, sollte man das Archiv nach /usr/bin entpacken. Danach kann Code-Crusader (jcc) gestartet werden.

Fazit: Alles in allem hinterlässt der Code-Crusader einen positiven Eindruck. An einigen Stellen fehlen bestimmte Funktionen, die wichtigsten Werkzeuge stehen jedoch zur Verfügung. Einsteigern kann diese Entwicklungsumgebung auf Grund der fehlenden kontextsensitiven Hilfe und der Sprachreferenz nur bedingt empfohlen werden.

Kylix 2.0

Der erste Blick auf die Entwicklungsumgebung zeigt es schon: Bei Kylix handelt es sich um einen Delphi-Clone. Der Delphi-User findet sich sofort im Object-Inspektor, Form-Designer und Explorer-Fenster zurecht. Dem Einsteiger steht eine Vielzahl von Online-Handbüchern zur Verfügung. Borland möchte mit Kylix auch unter Linux ein leistungsfähiges RAD-Werkzeug (Rapid Application Development) etablieren.

Kylix ist für die Cross-Plattform-Entwicklung prädestiniert. Das Ziel ist es, dass Windows-Anwendungen nach einer erneuten Kompilierung des Quellcodes unter Kylix auch unter Linux lauffähig sind. Zu diesem Zweck wurde die Klassenbibliothek CLX auf Linux portiert. Da Webservices immer beliebter werden, unterstützt Kylix die neuesten Technologien wie XML, um auch eBusiness-Projekte auf einfache Art und Weise realisieren zu können.

QuickInfo

Produkt

Kylix 2.0

Hersteller

Borland

Preis

kostenlos

Download

http://www.borland.de

Unterstützte Programmiersprachen

C, C++, Delphi

Klassenbibliotheken

Kylix setzt wie Delphi zur Erzeugung von Objekten eine Klassenbibliothek ein. Hier kommt die bereits genannte Component Library für Cross-Plattform (CLX) ins Spiel. Diese ist unterteilt in BaseCLX, VisualCLX, DataCLX sowie NET.CLX. Alle visuellen Controls findet man unter VisualCLX, das die Qt-Laufzeitbibliothek als GUI-Engine einsetzt.

Zur Anbindung an unterschiedlichste Datenbanksysteme wie SQL und Oracle steht dem Entwickler dbExpress zur Verfügung. Dem Webentwickler bietet NET.CLX entsprechende Komponenten für den direkten Zugriff auf TCP, FTP oder HTTP.

Installation und Fazit

Die Open-Edition von Kylix unterliegt der General Public License (GPL) und kann kostenlos von der Webseite des Herstellers heruntergeladen werden. Ein Dialog führt durch die einzelnen Installationsschritte. Zum Starten benötigt man einen kostenlosen Registrierungs-Code, den man über die Borland-Webseite beziehen kann.

Fazit: Besonders Einsteiger finden sich bei Kylix schnell zurecht. Die visuellen Tools automatisieren den Entwicklungsprozess konsequent. Es werden lediglich die Programmiersprachen Object Pascal sowie C/C++ unterstützt, was aber wegen der hohen Leistungsfähigkeit kein Nachteil ist. Eine komplette Anwendung lässt sich schnell und effektiv umsetzen.

Fazit - Entwicklungsumgebungen

Jede der hier getesteten Entwicklungsumgebungen hat ihre Stärken und Schwächen. Bei der Auswahl des richtigen Tools geht es hauptsächlich darum, die Bedürfnisse und Zielvorstellungen im Unternehmen klarzustellen und sich daraufhin für eines der Tools zu entscheiden.

Einsteigern empfehlen wir Code-Forge. Die Bedienung ist übersichtlich, und alle nötigen Funktionen stehen zur Verfügung. Also die Dinge, die ein Entwickler letztendlich braucht. Wem Code-Forge nicht zusagt, der findet mit dem Source-Navigator eine empfehlenswerte Alternative. Bei SNiFF+ hapert es lediglich an der zu umständlichen Bedienung. Daher kann es nur professionellen Entwicklern empfohlen werden. Der Code-Crusader hinterlässt alles in allem einen positiven Eindruck. Einsteigern kann die IDE jedoch nicht empfohlen werden. Kylix unterstützt zwar nur wenige Programmiersprachen, ist aber auf Grund der einfachen Handhabung besonders Einsteigern zu empfehlen.

Jede Entwicklungsumgebung im Test weist kleinere und größere Defizite auf. Dennoch stellen sie eine große Hilfe bei der Entwicklung von komplexen Software-Systemen dar. (kpf)