Versionsverwaltungen: SVN vs. Git

Meine ersten Erfahrungen mit Versionsverwaltungssystemen in der Softwareentwicklung habe ich mit CVS gemacht. Da man aber oft Änderungen an mehreren Dateien vornimmt und z.B. auch Revisionen von Binärdateien (z.B. Bilder oder Dokumentation) hilfreich sind, bin ich relativ bald auf den Quasi-Nachfolger SVN (Apache Subversion) umgestiegen.

Versionierung wird zwar wichtiger, wenn man mit mehreren Leuten an einem Projekt arbeitet und/oder die Entwicklung in verschiedene Zweige (“branch”) verläuft, aber auch im kleinen Team kann es nützlich sein, dass man vor geplanten Änderungen nicht jedesmal die kompletten Dateien sichern muss.

In letzter Zeit habe ich nun gleich von verschiedenen Seiten gehört oder gelesen, dass Git eingesetzt wird oder ein Umstieg auf Git geplant ist. Git wurde ursprünglich für die Verwaltung von Linux-Kernel entwickelt, muss also auch in umfangreichen Projekten benutzbar sein. Die Geschwindigkeit von SVN lässt ja manchmal genug Zeit für weitere Kreativität ;-). Git soll spürbar performanter sein. Ein weiterer Unterschied zu Subversion ist, dass Git keinen dezentralen Server benötigt, jeder arbeitet mit einer lokalen Kopie.

Ein englischer Wikipedia-Artikel vergleicht noch weitere Systeme. Antworten, warum Git besser besser sei als vergleichbare Software liefert eine Website. Ich selbst habe aktuell noch keine praktischen Erfahrung mit Git, werde das aber bestimmt bald nachholen. Als Client unter Windows könnte TortoiseGit interessant sein, da ich z.B. mit TortoiseSVN insgesamt gute Erfahrungen gemacht habe.

Software-Preise

Als Privatanwender braucht man im Grunde nie die teuerste Software. Viele kostenlose Produkte sind nicht viel schlechter als kommerzielle Alternativen. Ich glaube, die teuerste Software, die ich mir jemals gekauft habe, war Windows Millenium Edition.

Anwendungen, die teurer sind, kann man z.B. von Adobe kaufen. Je teurer ein Produkt, desto professioneller arbeiten die Benutzer – klar, sonst würden sie nicht das Geld dafür investieren. Ich würde gerne mal mit Adobe Framemaker arbeiten. 900$ sind mir dafür aber (noch 😉 ) zu viel.

Das ist jedoch auch wiederum nicht viel, wenn man sich anschaut, wie viel die kommerzielle BPEL-Software kostet. In meiner Bachelorarbeit erstelle ich eine kleine Erweiterung für einen grafischen Editor, der auf einer kostenlosen Version basiert.

Ein Produkt kostet für ein Jahr etwa 6000$ pro Prozessor, für vier Jahre 185000$. Microsoft verlangt für das eigene knapp 25000$. Ein weiteres kostet etwa 15000$. Die Preise von manch anderen Systemen gibt es nur auf Anfrage. Das teuerste gab’s für 49000$, das billigste war kostenlos. Aber man kann da wohl nicht nur auf den Preis schauen 😉

Je nach dem, welche Freunde man hat, sollte man sich demnächst also anstatt einem Porsche ein, zwei “gaaaanz dolle” Software-Systeme kaufen, um zu beeindrucken. 😛

Auto-Ware

Auszug aus dem kostenlosen eBook Java ist auch eine Insel:

Nicht nur in der Informatik ist der rasante Wechsel der Technologien zu beobachten. Ein Beispiel ist das Automobil, das in den letzten 100 Jahren tiefgreifende Änderungen durchmachte. Von den vielen Schlagwörtern sind ESP und ABS nur zwei, die zudem eine Elektrifizierung bedeuten. Die Komponenten eines Autos sind vernetzt, und Signalgeber melden in Echtzeit Informationen an elektronische Steuereinheiten (Electronic Control Units, ECU). In modernen Kraftfahrzeugen werten fast 100 ECUs mehr als 1 GB an Daten pro Sekunde aus. Damit verschiebt sich auch eine Fehlerquelle: Während früher schon eine Sicherung durchbrennen musste bleibt heute ein Auto schon stehen, wenn der Bordcomputer einen Fehler meldet. Auch in der Entwicklung ist das teuer: BMW gibt an, dass 40 % der Herstellungskosten auf Elektronik und Software anfallen.

Es gibt auch einige Stellenausschreibungen von Automobilunternehmen für Informatiker oder Software-Entwickler. Demnach könnte ein Kommilitone von mir sagen “Ich werde in der Automobil-Branche arbeiten”. Nur das man sich darunter normalerweise etwas anderes vorstellt.

Auf die gleiche Weise kann man auch die Aussage “Ich will ‘was mit Computern machen.” verstehen. Das ist etwa so allgemein wie “Ich will (auch mal) im Beruf irgendeinen Stift benutzen.”, oder “Ich möchte mit Menschen zu tun haben.”