Weil so viele etwas dazu geschrieben haben, moechte ich nun auch meinen Senf dazu geben :=) "Ingvar Bogdahn" <ingvarbogdahn@hotmail.com> writes:
Ich würde gerne für Linux entwickeln, kann aber noch nicht programmieren. Ich fange gerade mit Java an, habe aber den Eindruck, dass kann man das unter Linux nicht so recht gebrauchen kann. Welche Sprache muss ich können, um Bugfixes und Programme generell schreiben zu können?
Es kommt immer ganz darauf an, was Du eigentlich machen willst. Wenn Du Programme schreiben moechtest, die auf fast allen verfuegbaren Platformen laufen, dann kommst Du im Augenblick an Java nicht vorbei. Ausserdem ist es eine Sprache, die das objektorientierte Paradigma einigermassen gut umsetzt (Flames darueber bitte nicht an die Liste, das Thema kann in verschiedenen Newsgroups behandelt werden). Auf der Negativseite stehen (noch?) schlechtere Performance und Probleme mit den unterschiedlichen Versionen der Sprache. Die Sprache ist auch noch sehr neu und und entwickelt sich rasant weiter. Stelle Dich also ein, auf ein "Moving Target" zu arbeiten. URL der Wahl fuer Java und Linux ist uebrigens www.blackdown.org, und ich habe nicht den Eindruck, dass die beiden nicht zueinander passen :-) An Literatur fuer Java kann ich die Online-Doku bei www.javasoft.com und die Buecher vom OŽReilly-Verlag zu dem Thema empfehlen. Ach ja, falls das fuer Dich relevant ist : Leute mit Java-Kenntnissen haben im Augenblick einen sehr hohen Marktwert. Leute mit sauberen OO-Kenntnissen aber hoffentlich einen noch hoeheren. Wenn du Bugfixes und aehnliches schreiben moechtest, musst Du ganz einfach die Sprache koennen, in der die Programme geschrieben sind, die Du fixen moechtest, also meistens C oder C++. Und zwar gut... Zum Streit zwischen C++ und Java moechte ich jetzt eigentlich nichts sagen, nur soviel: Java versucht, die Elemente von C++ nicht zu uebernehmen, die von einigen als gefaehrlich erkannt werden (multiple inheritance) bzw. die fehlenden Aspekte zu versorgen, die zu Problemen führten (automatische garbage collection gegen- ueber manueller Speicherverwaltung). Daher hast Du unter Java nicht soviele Moeglichkeiten, Dich selber in den Fuss zu schiessen. Unter C++ hast Du dafuer mehr Freiheiten und bessere Performance. Was Du verwenden solltest haengt wie gesagt stark von den Sachen ab, die Du machen willst. Kleines Zitat von meinem Prof : Wer in C programmiert (und wohl auch in C++, Anm. von mir), der rennt mit einem offenen Messer durch den Rechner... Und falls Du eigentlich nur einige Skripten schreiben willst, um Sachen zu automatisieren oder ein allgemeines Gefuehl fuers Entwickeln von Programmen bekommen moechtest, gibt es da noch verschiedene Interpretersprachen. Mir fallen im Augenblick auf Anhieb Python (soll gut sein, um sich in OO einzu- arbeiten) und Perl ein. Bei mir werkelt z.B. im Hintergrund ein kleines Perl-Skript, das alle 10 min ein anderes Bild aus einer Liste als Hinter- grundbild fuer meinen Desktop laedt. Startpunkt fuer die beiden sind www.python.org bzw. www.perl.org.
Kann etwa jeder Durchschnitts-Linux User C ?
Nein, das kann man wohl mit Sicherheit ausschliessen.
Wie lernt man es am besten? (Bücher gibt es relativ wenige)?
Das ist die schwierigste Frage, die Du stellst. Am besten fuer eine Sprache entscheiden, in der entsprechenden Newsgroup nach guten Buechern fragen, ein oder zwei davon kaufen und anfangen. Wenn Du nach Nachdenken und Lesen nicht mehr weiterkommst - und bitte nur dann - noch einmal in der Newsgroup fragen. Und irgend wann einmal weiter einarbeiten in die Softwareentwicklung. Da gibtŽs dann viele interessante Themen, von OO und Pattern bis hin zu Projektmanagement und Vorgehensmodellen. Ach ja : wenn Dir jemand erzaehlt, er haette die einzig richtige Loesung fuer alle Probleme gefunden, die mit Softwareentwicklung zusammenhaengen und alles andere sei totaler Mist, solltest Du extrem vorsichtig werden. Ich meine jedenfalls, die Person hat Unrecht :-) Ooops, das ist jetzt arg lang geworden und hat mit SuSE eigentlich nichts zu tun. Tschuligung. Aber ich hoffen, es hilft irgend jemand. Falls ich Unsinn geschrieben habe schiebt es einfach auf den Rotwein, den ich gerade getrunken habe :-) und tschuess Jerry -- shit - what - rollers - no - yes - shit -- Um aus der Liste ausgetragen zu werden, eine Mail an majordomo@suse.com schicken, mit dem Text: unsubscribe suse-linux