Ich persönlich mag ja Skriptsprachen. Wenn es irgendwie geht greife ich gerne zu Python, wenn es sein muss skripte ich aber auch in Perl oder PHP. Sprachen mit P halt. :-)

Ein Problem das ‚richtige Programmierer‘ immer wieder mit Skriptsprachen haben ist, dass die in der Regel dynamisch typisiert sind. Man muss halt nicht explizit sagen was in einer Variable stehen darf, man benutzt sie einfach.

Gerade bin ich auf ein erschreckendes Beispiel gestoßen das zeigt dass dynamische Variablen tatsächlich böse schlecht implementiert sein können. Ich war noch nie ein Freund von Javascript, aber…

rschaten% js
js> 5+2
7
js> 5-2
3
js> "5"+2
"52"
js> "5"-2
3

Schaurig, oder? 8-O

Glücklicherweise machen andere Sprachen das besser:

rschaten% python
Python 3.3.2 (default, Sep 6 2013, 09:30:10)
[GCC 4.8.1 20130725 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 5+2
7
>>> 5-2
3
>>> "5"+2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
>>> "5"-2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for -: 'str' and 'int'

Dass die Fehlermeldung sich hier zwischen + und – unterscheidet liegt daran dass der Operator + in Python auch für die Konkatenierung von Strings verwendet wird. Mein Vertrauen in Python besteht weiterhin… :-)

Gerade las ich etwas über skeuomorphe Simulation von Brettspielen — verstand es aber erst nachdem ich in der Wikipedia nachgeschlagen hatte:

Skeuomorphismus (aus dem Altgriechischen σκεῦος Behälter, Werkzeug und μορφή Gestalt) ist eine Stilrichtung hauptsächlich im Design, bei der Objekte in ihrer Gestaltung ein anderes Material oder eine Form eines älteren, vertrauten Gegenstandes nachahmen, ohne dass diese durch ihre Funktion begründet ist.

Lässt sich wohl am Besten mit ‚Imitation‘ übersetzen. In Bezug auf Gegenstände etwa das ‚Holz‘ am Atari 2600, in der oben genannten Simulation wird nicht nur die Spielsituation an sich dargestellt, da sollen sich auch Spielfiguren möglichst realistisch verhalten. Software ist dann Skeuomorph wenn die Benutzeroberfläche versucht, real existierende Gegenstände nachzubilden.

Gelesen habe ich:

We are contacting you to participate in a bid for the lease of your IPv4 address space. As you know, IPv4 is in a transitional period and will soon be replaced by IPv6. We are interested in leasing IPv4 address space for cash before they become obsolete.

Verstanden habe ich:

Wir würden Dir gerne etwas für Deine Beine bieten. Wie Du weisst ist das Laufen nur eine Brückentechnologie die bald durch das Fliegen ersetzt wird. Wir haben Interesse daran, Dir — gegen Geld natürlich — die Beine abzunehmen bevor sie obsolet werden.

So weit sind wir schon, wie? :-)

Manchmal habe ich das. Heute zum Beispiel.

Ich beschäftige mich eine Weile mit einem Thema. Meistens habe ich vorher schon was davon gehört, oder darüber gelesen. Manchmal habe ich mich auch schon etwas eingelesen, oder etwas rumprobiert. Nach einer Weile des unbeholfenen Rumstocherns werden Beispiele konkret. Ich stelle mir gezielt Aufgaben, und irgendwann sind die Lösungen einfach. Es passt einfach alles, und alles ergibt einen Sinn.

In den letzten Tagen habe ich mich intensiv mit Puppet beschäftigt. In der Theorie weiß ich schon lange was es tut, und die Beschäftigung damit stand genauso lange ganz oben auf der Liste der Sachen die ich mir noch aneignen will.

Zu Recht, wie mir scheint.

Heute hatte ich mehrere ach-so-geht-das-Momente. Zusammen ergeben die dann einen veritablen warum-hab-ich-das-nicht-schon-immer-so-gemacht-Moment. :-)

Ich bin mir absolut darüber im klaren dass es im Puppet-Umfeld jede Menge zu entdecken gibt, und dass das sicher mit einer Menge Arbeit und bisweilen auch mit Frust verbunden ist. Aber dieser warum-hab-ich-das-nicht-schon-immer-so-gemacht-Moment erleichtert die Beschäftigung damit ungemein.

Soviel dazu. Muss weg. Manifeste verfassen… ;-)