Archive for the ‘Programmieren’ Category

20 Jahre PERL

Ich habe es total vergessen, gestern wurde die Skriptsprache Perl 20 Jahre alt. in diesem Sinne:

perl -e 'print "Happy B-Day!\n"'

Advertisements

Klassifizierung von Programmiersprachen

Ich bin mit der Klassifizierung der Programmiersprachen laut Wikipedia überhaupt nicht zufrieden. Deswegen dieser Blogeintrag hier, vielleicht editiere ich aber auch mal den Eintrag in der Wikipedia. Meiner bescheidener Meinung nach sollte die Klassifizierung der Programmiersprachen anders (als bei der Wikipedia) angegangen werden. Zuerst muss bewusst werden, dass heutige Programmiersprachen sich nach verschiedenen Kriterien klassifizieren lassen:

  • nach Programmierparadigma
  • nach Abstraktionsgrad
  • nach Ausführungsschema

Dieser Blogeintrag wird sich primär mit den Programmierparadigmen beschäftigen. Zuerst, was ist überhaupt ein Programmierparadigma? Als Programmierparadigma einer Programmiersprache bezeichnet man die Sichtweise auf und den Umgang mit den zu vereirbeitenden Daten und Operationen. Man könnte folgende Paradigmen aufzählen:

  • imperatives Paradigma
  • objektorientiertes Paradigma
  • funktionales Paradigma
  • logisches Paradigma

Dabei könnte man das funktionale und das logische Paradigma zum deklarativen Paradigma zusammenfassen.
Fortsetzung folgt…

Programmiersprachen – die Trends

Das Internet und das Web wecken ein Interesse an Computern und dieses Interesse führt nicht selten zu dem Wunsch „Kontrolle zu übernehmen“ – das bedeutet Programmieren zu lernen. Für den Anfänger lohnt sich die Trends zu kennen. Nun diese schlägt man am besten bei TIOBE Programming Community Index nach. Und so bietet sich ein interessantes Bild an:

  • am stärksten wächst Ruby
  • Vorne stehen schon lange Java und C

Aufpassen, der TIOBE Index wird monatlich aus Suchmaschinenergebnissen berechnet, somit ist er kein indikator für die tatsäachliche Nutzungshäufigkeit.

Peoplet Alpha 0.9

Heute hat mich eine E-Mail über die Alpha 0.9 Version von Peoplet erreicht. Die Installation von der neuen Version ist unbedingt notwendig, da die alte Version nicht mehr voll funktionstüchtig ist. Eine Meldung aus der besagten E-Mail stimmt aber nicht:

„Bitte installieren Sie die neue Version „über“ die alte (also ohne
vorhergehende Deinstallation). Damit bleiben Ihre persönlichen Daten
gesichert.“

Nein, liebe Leute, bevor Ihr drüberinstalliert, bitte die Datei key.store sichern! Sonst muss man neues Passwort anfordern.

Es gibt eine Reihe von Neuigkeiten, die ausschlaggebende für mich dürfte die Unterstüzung für Proxies sein. Dürfte wohl ein Ansatz für das Problem mit einer Firmenfirewall sein. Ich werd’s mal probieren.

Was ich zu bemängeln habe ist noch immer die Tatsache, dass man bei Lebensläufen noch immer gezwungen ist das „bis“ Datum einzutragen, was bei einem laufenden Job unsinnig ist. Verstehe ich nicht, das habe ich doch schon während des Workshops bemängelt.

Speicherverbrauch der Skriptsprachen

Ich kann leider meiner krankhaften Idee, den Speicherverbrauch Paar diversen Skriptsprachen zu untersuchen, nicht widerstehen. Getestet wurde auf einen recht alten (was die Hardware angeht) System mit Fedora Core 6 (genau gesagt: 2.6.19-1.2911.fc6xen #1 SMP). Angeschaut wurden folgende Skiptsprachen:

  • Perl
  • Ruby
  • awk

Wie wurde getestet? Na ja eigentlich viel zu vereinfacht und dadurch sind die Ergebnisse verfälscht, denn es wurde der jeweilige Interpreter aufgerufen und ein ps -o pmem,size,vsize,rss,sz auf dessen ProzessID. Dabei ist folgendes rausgekommen:

  • Perl

%MEM SZ VSZ RSS SZ
0.3 568 5676 1328 1419

  • Ruby

%MEM SZ VSZ RSS SZ
0.3 800 3368 1304 842

  • awk (dabei wurde eine einfache endlose Schleife getestet)

%MEM SZ VSZ RSS SZ
0.2 268 4212 808 1053

Fazit: Perl frisst ganz schön viel, und das bitte nur der Interpreter. Ruby ist zwar kleiner, aber awk kommt dabei am besten raus…

Wie gesagt, die Testergebnisse sind unbrauchbar. Wenn ich Zeit finde, werde ich es mit professionelen Tools wie DTrace angehen, dafür bräuchte ich aber eine freie SPARC Maschine, die ich momentan nicht habe. Unter VMWare will ich ja nicht testen, weil es schon wieder für den Hugo wäre.

Peoplet – etwas tiefere Einblicke

Ich bin gerade beim kurzen Test von Peoplet client, Wireshark ist dabei kurz mitgelafen. So habe ich erfahren, dass der Peoplets Jabber Server auf Suse Linux läft, die XMPP Implementierung von Jivesoftware kommt, und vieles mehr…

Peoplet Workshop – der Bericht

Ich kam um etwa 17:25 in die Phorusgasse 8. Die erste Hürde: beim Tor unten auf der Strasse ist Sanaga Labs nicht erwähnt. Nun gut, suche ich halt im Erdgeschoss: nix, also schaue ich im ersten Stock: ha, neben anderen Firmen, ein kleiner Zettel irgndwo auf einer Tür. Anklopfen, nach Leo fragen. Dann 2 Stockwerke nach oben mit Pascal, seinen Laptop und Projektor raufgehen. Warten, bis andere Blogger erscheinen, aber sie kamen nie (Wini & Markus – ihr Verräter!). Also das Peoplet Team ist versammelt: Dr Pascal Fenkam (der Vortragender und Manager von Peoplet), DI Leo Brunnhofer, und Alex Glechner (der Filmer – es ist nix, ausser den Anfang, aufgenommen worden – die Baterrien waren alle). Und ich fungiere als die Zuhörerschaft. Pascal trägt die Idee und Ziele von People klar und einfach vor. Ich kann mein Mundwerk nicht halten und störe Ihn dabei mit Zwischenfragen und Zwischenrufen. Alex und Leo geben auch Erklärungen und Antworten. Dann noch kleine Fragerunde. Spannend und interessant. Abgeschlossen wird der nette Plausch beim Flaschenbier. Ich hab durchaus neues erfahren:

  • es wird eine Plugin API geben
  • es gibt einen Peoplet Team Blog
  • die embedded DB ist die HSQLDB, die selbe, die von OpenOffice Base verwendet wird (da werde ich wohl mit JDBC experimentieren wollen). Ob das nicht ein Overkill ist, und eine SQLite nicht ausreichend wäre ?
  • mein Sniffer Ergebniss wurde von Pascal bestätigt: Peoplet wird verschlüsselt

Jetzt gehe ich schlafen, obwohl es noch früh ist (erst 23:02), aber ich hab etwas Wein genossen…

Peoplet, die erste Zusammenfassung

Nachdem die Peoplet Applikation hinter einer Firewall nicht mit dem Server komunizieren wollte, schreibe ich erst jetzt. Die ersten Eindrücke sind positiv – es funktioniert. Die gestaltung der Skills sollte jedoch, meiner bescheidener Meinung nach, überdacht werden. Man kann nämlich keine Unterkategorien anlegen, was wünschenswert wäre (zum Beispiel: Computational Skills -> Operating Systems ).

Ich konnte mich auch nicht von Stöbern in den, von der Peoplet Applikation angelegten Dateien abhalten. Herausgefunden habe ich so einiges. Zum Beispiel wird für die Chatfunktion das XMPP Protokoll verwendet. Der Jabber-Server ist in der Datei middleware.properties definiert, allerdings habe ich noch nicht versucht diesen per Jabber-Client anzusprechen. Werde ich sicher noch machen. Die Applikation selber wurde offensichtlich von SANAGA LABS Softwareentwicklung GmbH gecodet. Die Exportmöglichkeiten werden durch XML Formatting Objects zur Verfügung gestellt. Vielleicht werde ich noch ein echtes Reverse Engineering machen, wird auf den ersten Blick aber schwer, da es sich um ein Gemisch zwischen JARs und DLLs (die durch JNI angesprochen werden) handeln dürfte.

Bedanken wollte ich mich bei DI Leonhard Brunnhofer von Peoplet Team, der mir viele Fragen prompt per E-Mail geantwortet hat.

Peoplet – erste Testversuche

Gestern kam die erste Mail von Peoplet Team. Etwas spät, denn ich habe mich schon vor ca. 2 Wochen als Betatester angemeldet. Der Test ist kurz verlaufen, da ich einen unbenutzten Aktivierungscode brauche, den ich natürlich nicht habe. Also müssen die Tests warten. Was mir positiv aufgefallen ist: es dürfte sich um eine Java Applikation handeln, also platformunabhängig. Wozu allerdings die JRE mitgelifert wird, bleibt mir ein Rätsel. Logischer wäre es, zwei Versionen auszuliefern: mit oder ohne JRE, oder noch besser wäre es die Möglichkeit der Java Web Start Technologie zu nutzen.

JPC – Java PC Emulator

Zufällig bin ich auf der Seite von JPC gelandet. Es handelt sich dabei um ein Projekt der Oxford Universität, das reine Emulation eines x86-PCs in Java realisiert. Somit könnte man z.Bsp. das Betriebsystem der Wahl auf einem Javafähigen Handy installieren oder es als Emulator für alte Spiele nutzen. Die Lizenzierung dieses Projektes ist aber für mich nicht so klar…