Bitte Beachten: Dieser Blog wird hier nicht weiter geführt! Kommentare und neue Blogposts gibt es unter http://feitel.indeedgeek.de. Dort bitte auch neue Kommentare zu diesen Beiträge erstellen.

Dienstag, 11. Dezember 2007

Tutorials mal anders

Bisher habe ich ja immer neidisch zu Andreas und Denis schauen müssen. Die beiden sind Microsoft-Student-Partner und bekommen so haufenweise Unterstützung von Microsoft. Aber vor kurzem bin ich auf einen kleinen Lichtblick gestoßen.

Am Donnerstag, den 13. Dezember 2007 ist Kubuntu Tutorials Day!

Das heißt konkret: Ab 16:00 werden verschiedene Tutorials im IRC Channel der Kubuntu-Developers angeboten. Jeder der Interesse hat kann einfach über den #kubuntu-devel-Channel des Freenode Netzwerks (irc.freenode.net) daran teilnehmen.

Einige Interessante Themen sind dabei. Hier das ganze in der Kurzfassung:
Zeit (MEZ)TitelKurzbeschreibung
16:00 bis 17:00Packaging 101Quellcode in Debianpakete verpacken
17:00 bis 17:30Kubuntu bug triageFehlerberichte erstellen
17:30 bis 18:00Branch your svn with bzrEinführung in Bazaar
18:00 bis 19:00Get programming with PyKDE 4GUI Programmierung unter KDE4 mit Python
19:00 bis 20:00Get your work into KubuntuEinführung wie man sich aktiv an Kubuntu beteiligen kann
20:00 bis ...Kubuntu and KDE Q&AFragen und Antworten

Vor allem auf Bazaar und PyKDE4 freue ich mich besonders. Wird sicherlich interessant. Das ist doch mal Werbung für KDE4 wie man sie sich auch für andere Dinge wünschen würde! Ich glaube ich muss meine Standard Floskel "Ich hasse Werbung" noch einmal überdenken. Auch wenn alle Vorträge in Englisch gehalten werden hoffe ich, dass es so etwas öfters geben wird.

Stefan meinte schon er könnte das ganze für mich mitloggen. Das wäre natürlich perfekt dann kann man sich das ganze danach noch einmal in Ruhe durchlesen. Obwohl ich denke früher oder später wird das komplette Log sowieso irgendwo verfügbar sein.

Ich bin auf jeden Fall gespannt auf Donnerstag. Besonders wie das funktionieren soll, wenn da mal grob geschätzt 500 Leute, sich gleichzeitig in einem IRC-Channel unterhalten.

Donnerstag, 6. Dezember 2007

Was macht eine Programmiersprache gut?

Ich brauche euch glaube ich nicht mehr zu erklären was eine Programmiersprache ist. Jeder von euch hatte wahrscheinlich schon mit mehreren Sprachen zu tun gehabt. Jeder von euch mag die eine Sprache mehr und eine andere weniger. Aber im Grunde sind die meisten Sprachen alle gleich. Man hat seine Standardbefehle wie z.B. if oder for, und in den meisten Sprachen lassen sich Funktionen oder auch Klassen definieren.

Gut, zugegeben jede Sprache hat einige besondere Features. In C++ kann man z.B. vieles elegant über Pointer lösen hat aber an anderer Stelle dafür wieder andere Probleme damit. Java ist durch seine Virtuelle Maschine mehr oder weniger plattformunabhänig. Python zeichnet sich als Script Sprache aus und wird dynamisch typisiert und in Ruby ist Codeblöcke und Callback Möglichkeiten markant. Aber sind diese Features wirklich entscheidend welcher Sprache wir den Vorzug geben? Lassen sich nicht alle diese Features mehr oder weniger einfach auf alle anderen Sprachen übertragen?

Man kann mit allen Sprachen alles Programmieren. Man braucht nur ein einfachen Interpreter und ich kann mit C++ Webseiten programmieren. Ein extra Compiler und mit PHP lassen sich Desktop GUI Programme erstellen. Alles nur eine Frage des Aufwands den man rein stecken muss. Bestes Beispiel ist hier wohl Ruby on Rails (RoR) und PHP. Viele loben RoR schon als neues PHP. Etwas unfair wenn man bedenkt das RoR ein komplettes Framework ist und PHP nur eine Sprache. Aber ich kann doch ohne Probleme dieses Framework mit PHP nach programmieren (Wurde auch schon gemacht). Auch die Vorteile das RoR von der Sprache selbst besser ist trifft nicht unbedingt zu. Einfach nur ein Paar Librarys neu schreiben und schon hat man in PHP die Objektorientierung wie man sie aus RoR kennt. Warum soll also RoR eine bessere "Sprache" sein als PHP?

Worauf ich eigentlich hinaus will, es ist auf Sprachebene relativ egal welche Sprache ich benutze. Manche sind für den Verwendungszweck besser geeignet manche Schlechter aber vom Prinzip macht es kein Unterschied. Aber warum mag man nun eine Sprache mehr oder eine andere weniger? Meine Theorie ist einfach das es sehr viel auf das Umfeld ankommt. Wenn ich mir zum Beispiel so manche API Dokumentation von Ruby anschaue bleiben oft Fragen offen. Bei Java hingegen bekomme ich zu jeder popeligen API eine super Dokumentation. Wenn ich in Ruby eine Frage habe wartet man in Supportforen oft vergebens auf eine Antwort. Wo hingegen bei C++ so gut wie jede Frage schon einmal geklärt wurde. Oder um wieder auf Rails zurück zu kommen: Wenn ich in PHP ein Programm kurz testen will muss ich erst Apache einrichten und starten. RoR bringt sein Webserver bereits mit. Das ganze lässt sich noch beliebig fortsetzten aber meine Message ist denke ich klar: Die Sprache selbst macht wenig aus. Auf das Environment kommt es an!

Wobei ich nicht abstreiten mag das bei Vielen sich eine "Das kenne ich, das nehme ich" - Mentalität bei Programmiersprachen abzeichnet. Mir ist das vor kurzem wieder aufgefallen. Ich habe einige Beispielprogramme mit Java und aufwendiger Swing-GUI gesehen. In Ruby wäre in Kombination mit dem Kommandozeileninterpreter irb das Programm wahrscheinlich nur ein Zehntel so lange.

Aber gut, muss jedem selbst überlassen sein in welcher Sprache er gerne Programmiert. Ich kann nur jedem ausdrücklich empfehlen sich möglichst viele Sprachen mal anzuschauen um einfach über seinen Horizont zu sehen. Jede Sprache hat ihre eigene Mentalität ihre eigene Community und eigene Ideen warum sie so ist wie sie ist. Und alle Sprachen sind interessant!