[linux-l] Aus dem Nähkästchen
Steffen Dettmer
steffen at dett.de
Sa Sep 30 19:46:35 CEST 2006
* Volker Grabsch wrote on Sat, Sep 30, 2006 at 14:13 +0200:
> On Fri, Sep 29, 2006 at 02:42:27PM +0200, Detlef Lechner wrote:
> > >>In welche Konfigurationsdatei?
> > >[...]
> > >>Unter dem Verzeichnis / gibt es unendlich viele 'config's.
> > >
> > >Dann hast du eine zirkuläre Verzeichnisstruktor. Böse Sache, sowas.
> > >Ich empfehle dringends fsck. ;-)
Bei Unix ist das ein Feature und heisst "symlinks" :-)
> > Ich habe keine zirkuläre Verzeichnissstruktur. Wenn Du willst, komm her
> > und zähl bei mir die Anzahl der Dateien mit 'config'. Es ist eine
> > abzählbar endliche Menge.
>
> Was soll das? Endliche Mengen sind immer abzählbar. Oder meinst du
> "abzählbar unendlich"? Wie willst du das schaffen?
>
> Ach so, ich verstehe, wir zählen auf einem höheren Abstraktionsniveau:
>
> 1, 2, n, n, n, n, n, n, n, ...
So eine abzählbar unendliche Reihe ist ja noch lieb. z.b. kann man durch
Iteration jeden Wert erreichen (dauert ggf. nur). Wären es reelle
Zahlen, würde das schon nicht mehr so einfach gehen, obwohl ja z.B.
gebrochene Zahlen abzählbar sind (was man so vielleicht gar nicht denken
würde).
> Manchmal habe ich den Eindruck, Informatiker denken wirklich so.
> Alles, was mehr als 2 Durchläufe hat, wird zu einer Schleife, auf
> Biegen und Brechen. :-)
Informatiker sollten den Pragmatismus nicht vergessen, genau. Bei DRY
Prinzip sagt man ja auch nicht, wiederhole Dich NIEMALS, sondern eher
"Hast Du Dich zum ersten Mal wiederholt, dokumentiere es. Hast Du Dich
zum zweiten Mal wiederholt, dokumentiere genau, warum. Würdest Du Dich
ein drittes Mal wiederholen, refakturisiere lieber".
> Bei den J2EE-Designern und anderen "over-enigneered systems" liegt
> diese Grenze bei 1 oder 0. Sie abstrahieren sogar Sachen, die nur
> einen einzigen oder gar keinen sinnvollen Spezialfall besitzen.
Ja, sowas ist wirklich Klasse. Dafür braucht man am Ende reflection-APIs
und factories, weil man auf Grund der Komplexität kaum noch ein
orthogonales System bauen kann. Dafür kann man dann bei Bedarf einen
Kühlschrank zur Mikrowelle umkonfigurieren und seine Brötchen drauf
toasten (verbraucht aber leider 25 Kilowatt) lol
> In der Mathematik nennt man solche sinnlosen Produkte "Theorie über
> die leere Menge", aber in der Informatik scheinen solche "Theo(log|r)ien"
> sehr beliebt zu sein.
Bitte nicht Javagemeinschaften und Informatik verwechseln! Ausserdem
kann man Informatik ja mathematischer oder mehr als Ingenieurarbeit
sehen :)
> ... äää, ich meine ...
>
> HumanFactoryFactory.getInstance().createHumanFactory().
> createHumanNation(PlanetFactory.getInstaceByName("earth"), "de").
> getInstanceCreator("Volker").create()
lol
Herrlich!
Allerdings sind da noch ein paar Bugs drin:
- PlanetFactory.getInstaceByName muss ggf. Zeichentabellen nachladen
(weil Unicode parameter, falls man den hardcoded string, der nur
"earth" sein kann, mit traditionellen chinesischen Schriftzeichen
schreiben möchte)
- createHumanNation mit string is deprecated, stattdessen sollte ein
IsoCountryCodeProvider verwendet werden, der über eine
IsoCountryCodeProviderFactory erzeugt wird
- createHumanNation hat keine Methode getInstanceCreator sondern
getHumanNationCreatorProvider mit dem Parameter
HumanNationCreatorProviderConfiguration, die einfach über einen
HumanNationCreatorProviderConfigurationProvider, dessen Factory und
einem XML File erzeugt wird und das das
BeeingNationCreatorProviderConfigurationProvider
implementiert, welches vom vom
AbstractNationCreatorProviderConfigurationProvider die Methoden zur
Dynamisierung via reflection API erbt und u.A. von der Package
java.lang.xml.nations.providers.config abhängt
- Nach dem Erzeugen von Volker muss open() aufgerufen werden, weil es in
Java auch ein close gibt, weil man keine Destruktoren hat
- Die benötigten JARs passen gerade noch auf DVD, werden aber nur
täglich geupdatet, also reicht eine 16 MBit Leitung aus, um aktuell zu
bleiben
In C++ schreibt man
Human volker("Volker", Nation::DE);
und erweitert den Code, wenn man Alpha Centauri unterstützen muss
loooooooooool
oki,
Steffen
--
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.
Mehr Informationen über die Mailingliste linux-l