Open-Source-Programme angucken

K

koli.bri

Hallo da draußen.

eine große Frage von einem kleinem Licht der Programmierung.

es gibt ja eine Menge Programme, deren quellltext öffentlich ist.
Und von Zeit zu zeit schleicht sich so ein Archiv auch auf meine Festplatte.
und klar, es ist nicht nur ein Quelltext, es sind viele quellltexte, in vielen Ordnern. Bei Betriebsystemübergreifenden Programmen wie Firefox und Blender gibts für die einzelnen Systeme noch eigene Ordner, etc, etc, ihr kennt das ja alles.

Jetzt möchte ich den Vorteil von OpenSource auch nutzen können, und mir angucken was das Programm macht. nur, bei so viel Input weiß man nicht, wo man anfangen soll.

Deshalb meine Frage:
wie arbeitet man sich möglichst effizient in solche Programme ein? Woran erkenne ich eventuell Dateien, die von einer IDE erstellt worden sind, und in denen kein relevanter quellcode steckt (wie ich meine, es bei manchen Cocoa-programmen gesehen zu habe.).
Wo fängt man an?

Ich weiß, dass ich mich dait als Voll-Neuling oute, alles, was mit Programmierung zu tun hat, lern ich gerade in der Schule, und das beläuft sich zur Zeit aus Strukturen in C++ Kommandozeilenprogrammen...
Und Speziell möchte ich mir solche Programme angucken, um ein wenig mehr in die Materie zu schauen, und zu lernen.


gruß
Lukas
 
koli.bri schrieb:
Ich weiß, dass ich mich dait als Voll-Neuling oute, alles, was mit Programmierung zu tun hat, lern ich gerade in der Schule, und das beläuft sich zur Zeit aus Strukturen in C++ Kommandozeilenprogrammen...
Und Speziell möchte ich mir solche Programme angucken, um ein wenig mehr in die Materie zu schauen, und zu lernen.

Ich weiss nicht, ob das jetzt für Dich eher frustrierend oder erleichternd ist:

Selbst habe ich ca. 20 Jahre programmiererfahrung, und wenn Du mir jetzt ein Projekt wir Mozilla oder Apache vorlegst, dann brauch ich auch erstmal eine Weile, bis ich verstanden habe worum es da geht.

Aber ein Tip: Die meisten Unix OpenSource Programme, insb. die für Kommandozeile, werden nicht mit IDEs gebaut, sondern mit der Kommandozeile. Es gibt also Sachen wie Makefile, configure etc., die zum erstellen des Programs benutzt werden.

Dir da den richtigen Zugang in einem Forums-Thread zu zeigen finde ich schwierig. Es wäre gut, wenn Du jemanden mit etwas Erfahrung mal direkt fragen könntest.

Aber mein Tip: Lass Dich nicht frustrieren, wie gesagt, ich stehe bei unbekannen OpenSource Projekten auch erstmal "wie der Ochs' vorm Berg"

Alex
 
Hi,

ist jetzt eher ein genereller Tip: zunächst die main()-Funktion lokalisieren (bzw. das entsprechende Äquivalent in einer anderen Sprache als C/C++) und sich dann von dort zu einzelnen Modulen/Funktionen/Klassen etc. vorarbeiten. Enorm hilfreich hierbei ist eine IDE, die so nette Sachen erlaubt wie zu einer bestimmten Funktion springen etc. Mit Eclipse/C++ geht das mittelmäßig gut, mit Xcode hab ich leider selber noch zu wenig Erfahrung, um hier Tipps zu geben.

Also such dir mal ne hübsche IDE (auf dem Mac eben zB XCode), schau dir an, wie man da am besten ein OSS-Projekt importiert und nutze dann die IDE-Möglichkeiten, um dich durch den Code zu hangeln. Natürlich wirst du dann immernoch ziemlich lange brauchen, um überhaupt erstmal nen Überblick zu bekommen. Bei mir (ich studiere Informatik im 10. Semester und hatte bisher mit Projekten bis max 50000 Zeilen Code zu tun, also eher im mittleren Bereich) dauert es 1-2 Tage für nen groben Überblick, aber wenn ich sinnvoll was ändern will, dann kann das schon eine Woche dauern, bis ich genügend Code-Verständnis habe.
 
ceo2 schrieb:
Also such dir mal ne hübsche IDE (auf dem Mac eben zB XCode), schau dir an, wie man da am besten ein OSS-Projekt importiert

Das ist eben bei klassichen OSS Projekten nicht so leicht, da (wenn ich mich nicht irre) Xcode keine Makefiles importiert. Alles, was man mit Xcode dann machen kann, ist sich die Sourcefiles ansehen, und das Makefile per Hand nachbauen.

Alex
 
Hallo,

ich denke das Unterfangen gibt es kein Patentrezept. Jeder wählt einen Einstieg, der seinem Lerntyp entspricht. Das Einzige was man da machen kann, ist sich einfach mal reinzuwühlen. Irgendwann entwickelt jeder seine Methode mit unbekanntem Code umzugehen.

Bye
 
Zurück
Oben Unten