On Mon, 2003-08-25 at 22:22, Oliver Leue wrote:
Am Montag, 25. August 2003 13:25 schrieb Stefan Hundhammer:
On Monday 25 August 2003 12:26, Daniel Feist wrote:
Kdevelop kenne ich - ich suche aber nach Alternativen - da muss es doch irgendwas geben? - wichtig wäre mir, dass die Entwicklungsumgebung Versionskontrolle und Projektverwaltung unterstützt!
Kdevelop hat m. E. auch den Nachteil, dass es der KDE-Entwicklung nicht mehr hinterherkommt. Die 3er-Version scheint noch einige Weihnachten zu benötigen und die Dokumentation ist so hundsmiserabel veraltet, dass keine Doku die bessere ist.
Da gibt es auch noch QT-Designer. In dieser Beziehung ist auch die Doku von Trolltech zu QT nicht zu verachten die für mich das Beste ist was ich auf diesem Gebiet bisher irgendwo gesehen habe.
Ausserdem gibt es auch noch Kylix von Borland, das ich aber noch nicht selbst ausprobiert habe. Ist auch kostenlos und hat, wie QT auch, den Vorteil, dass Beide ihre IDE auch unter Win haben. Für den der es braucht oder gebrauchen kann.
Das sind alles Sachen, die man unter Linux/Unix typischerweise völlig anders macht. Versionskontrolle gibt es mit CVS, Subversion und RCS (veraltet) - als Kommandozeilentools. Das hat den Vorteil, daß alles auch automatisierbar ist. GUI-Aufsätze gibt es i.d.R. zusätzlich - z.B. Cervisia als KDE-Frontend für CVS.
Das, Stefan, ist genau der Haken an der Entwicklung unter Linux: Summasumarum brauche ich unter Win für Visual C-xyz effektiv vielleicht eine Stunde und für eine Versionskontrolle evtl. noch einmal eine halbe Stunde Einarbeitungszeit und kann mich anschliessend voll und ganz auf das Programmieren und die Unwägbarkeiten der IDE und des Betriebssystems konzentrieren.
Unter Linux reicht nicht einmal ein Tag um als unbedarfter Programmierer all die Ressourcen, Programme und Dokus zu finden bevor ich mich an das einlernen machen und anschliessend endlich den Code schreiben kann. Anders gesagt: Bei aller berechtigter Kritik an IDE's muss man unter Linux doch eine menge unnötiger Zeit vor der Arbeit verschwenden. Natürlich nur, wenn man vorher noch nicht unter Linux programmiert hat. IMHO, ist genau das ist der Punkt (genauer 2 Punkte).
1, "Schneller Anfangserfolg für unbedarfte Programmierer" 2. "Unbedarfte Programmierer, die noch nie unter Linux gearbeitet haben".
Die Vorteile einer IDE sind in dieser Beziehung nicht von der Hand zu weisen. Ja, nur darf man das nicht mit "Programmieren können" verwechseln, oder um es schärfer zu formulieren, einen "Bediener einer IDE" mit einem "Programmierer" verwechseln.
Wenn Du eine Projektverwaltung im Sinn von MS Visual Studio meinst: So etwas gibt es nicht als genaue Entsprechung; man braucht es aber auch nicht. Visual Studio hat hier eben einen völlig anderen Ansatz als Automake u.s.w.; da wird (kaum automatisierber und wenig netzwerktransparent) geklickt anstatt plattformübergreifende (soll heißen: alle möglichen Unixe UND Linux) Beschreibungen in Form von Automake- und Autoconf-Files zu schreiben.
Wer der vielen und unzähligen Linux-Programmierer interessiert sich ernsthaft für die Portierung zu Unixen im Vergleich zu denjenigen die sich für eine Portierung zu Windows und vise versa interessieren? Gut, das ist Deine durchaus legitime Meinung.
Mich hingegen interessiert Portabilität zu Windows nicht im geringsten (Sollen die Leute doch Linux nehmen ;-) ). Und sollte ich für Win entwickeln müssen, werde ich halt zu den entsprechenden Win-Tools greifen müssen.
Das ist also m. E. nicht das richtige Argument. Was nutzt dem neu-Linux-Programmierer die Fähigkeiten des Systems wenn er sich im Dschungel der Möglichkeiten verliert bevor er damit starten kann? Linux entstammt der *nix-Welt und die ist eben grundlegend anders als die Windowswelt.
Ja, der Einstieg in die "Programmierung" ist unter Linux/*nix schwieriger als mittels einer IDE unter Windows. Doch wie Jan schon schrieb, sobald es komplexer wird, führt auch unter Windows kein Weg daran vorbei, sich in die Details einarbeiten zu müssen. Und wird es dann mal wirklich komplex, stören IDEs ehe als sie helfen.
Wenn es wenigstens ansprechende Literatur gäbe die jünger als 3 Jahre ist, könnte man sicher über einige Hürden einfacher springen.
80% der APIs unter *nix hat sich seit Jahren (teilweise Jahrzehnten) nicht essentiell verändert, die Literatur trifft deshalb in vielen Fällen immer noch zu (Der Gulbins, die Numerical-Recipies und die breite Masse der O'Reilly Bücher haben nicht viel von ihrer Bedeutung verloren). Das es für viele Pakete unter Linux nur unterentwickelte oder gar keine Doku gibt steht allerdings auch ausser Frage.
Aber leider haben ja weder die KDE-Entwickler von KDevelop Ressourcen und Zeit um eine Doku zu ihrer IDE zu schreiben die nicht 4 Jahre alt Deine Aussage mag auf KDE im Allgemeinen und auf KDevelop im Speziellen zutreffen, jedoch verwechselst Du hier KDevelop und KDE mit Linux oder *nix. KDE und KDevelop sind beides nur Anwendungen, die (auch) unter Linux laufen, sind aber weder mit Linux noch mit *nix identisch.
Und wenn sie ein Problem mit der Doku haben (Ich verwende weder noch und kann es deshalb nicht beurteilen), steht es Dir frei diese Anwendungen zu nutzen oder auch nicht. Das ist ja das Schöne unter Linux/*nix: Du hast Wahlmöglichkeiten. Niemand zwingt dich ein bestimmtes Tools oder ein bestimmtes GUI zu verwenden.
ist noch scheinen die freien Autoren nicht so recht Interesse daran zu haben irgendeine Art Lektüre auf den Markt zu bringen die dem Heute entsprechen und nicht den Anfängen des Chaos.
<seufz> ... das übliche Gemoser über fehlende Doku ... </seufz> Dazu folgendes: * Ja, in der Regel wollen die Entwickler ihre SW weiterentwickeln und haben kein Interesse daran Doku zu schreiben (Viele Entwickler empfinden Doku als so lästig wie der Zwang sich mit der Buchhaltung oder dem Finanzamt auseinandersetzen zu müssen.). * Anders als bei Closed-Source-SW, die man ohne Doku in der Regel überhaupt nicht anwenden kann, gibt es bei Open-Source-SW immer noch den Quelltext als "ultimativen Rettungsanker". => Bei Closed-Source-SW gibt es eine unmittelbare Notwendigkeit Doku zu schreiben, bei Open-Source-SW nicht. * Anders als bei Closed-Source-SW, die in der Regel in der "geschlossenen Welt" eines Entwicklerteams entlang eines vorab erstellten Konzeptes (an dem dann krampfhaft, um jeden Preis festgehalten wird) entwickelt wird, ist die Entwicklung von OpenSource-SW in der Regel eine dynamische, evolutionäre Entwicklung von der niemand vorab genau weiss wohin sie führen wird. => Dynamik von Applikationen und Doku * OpenSource-Entwickler sind in der Regel unbezahlte Freiwillige, die von niemandem dazu gezwungen werden können, Doku zu schreiben. Bei ClosedSource-SW sind es oft extra dafür eingestellte und bezahlte Spezialisten, die nichts anderes machen, als Doku zu erstellen. * Bei OpenSource-SW sind es in der Regel die Entwickler selbst, die die Doku schreiben. Da sie oft jedes Detail kennen und vieles als selbstverständlich erachten, geht ihnen oft der Überblick verloren, wo Bedarf zu Doku besteht. * Viele OpenSource-Entwickler sind unerfahrene Anfänger/Amateure und wollen/können nicht verstehen, dass sie dabei sind die Lernkurven zu durchlaufen, die Generationen von Entwicklern vor ihnen durchlaufen haben. => Dynamik von Applikationen und Doku. * OpenSource ist "offen". Anders als bei ClosedSource SW kannst Du versuchen etwas zu verändern, wenn Dir etwas nicht gefällt. Bei ClosedSource SW kannst Du "meckern" und "lamentieren", andere Möglichkeiten hast Du kaum. => Das ist mit ein Grund warum OpenSource-Entwickler oft sehr empfindlich auf Kritik reagieren. Lange Rede, kurzer Sinn: OpenSource funktioniert anders als ClosedSource und das hat Folgen. Da unter Linux die weitaus überwiegende Masse der verfügbaren SW OpenSource ist, funktioniert Entwicklung unter Linux nach anderen Prinzipien als Windows - Damit heisst es zu leben (lernen) oder es zu lassen.
Linux ist eben anders. ;-)
Und das ist auch gut so! ;)
Aber das Programmieren hierunter finde ich ziemlich nervig. Wenn Du meinst, aber was hindert dich dann daran Windows zu nehmen?
Diese Bemerkung ist durchaus ernst gemeint. Wenn Dir Win besser gefällt oder Du mit der Entwicklung unter Linux nicht zurecht kommst bzw. Dir der Einarbeitungsaufwand zu hoch erscheint, warum nicht Windows nehmen? Du kauft doch sicherlich auch sonst keine Produkte, mit denen Du nicht zurechtkommst oder Dir als zu umständlich erscheinen? Wenn Du aber diese Produkte aus irgendeinem Grund einsetzen willst/musst, wirst "Du da durch müssen". Wäre die Entwicklung unter Linux/*nix derart kompliziert, wie Du sie scheinbar empfindest, hätte sie sich nicht derart weit verbreiten können und die Entwickler hätten sich "in grossen Scharen mit Begeisterung" auf die Entwicklung von IDEs gestürzt. Dem ist aber nicht so. Stattdessen führen IDEs unter Linux/*nix ein Schattendasein, werden von "Änfängern" mit "Begeisterung aufgegriffen" und in der Regel nach einer gewissen Zeit in die Ecke geworfen. Ralf