[linux-l] [OT]: algorithmische Frage: Sort parallelisieren

Volker Grabsch vog at notjusthosting.com
So Jan 7 21:41:15 CET 2007


On Sun, Jan 07, 2007 at 11:30:00AM +0100, Oliver Bandel wrote:
> Nun, Hippiebude würden diesicherlich nicht auf sich sitzen lassen,
> aber "man Dilbert" könnte passen ;-)

Kannst du mir einen Dilbert-Strip nennen, der besonders gut zu eurem
Unternehmen passt, oder war das nur eine allgemeine Bemerkung?

> > Was ist denn das? Die Administration darf doch nicht zur Archillesverse
> > der Entwicker werden. Ihr Job ist doch das genaue Gegenteil: Die
> > Entwickler zu entlasten, sodass sie ihre Arbeit ungestört und
> > reibungslos erledigen können.
> 
> Sind halt Windows-Admins und verhalten sich demnach Erwartungsgemäß. :->
> 
> Die Unix-Admins sind da ganz fit.

Arroganz und Boshaftigkeit unterstellt man doch normalerweise den
Unix-Admins, oder?  ;-)

> > > Klar.
> > > Aber es kann eben auch ein Nein dabei heraus kommen.
> > 
> > Was soll das?
> > 
> > Ich: "Und wenn sie nein sagen, dann ..."
> > Du:  "Aber es kann eben auch ein Nein dabei heraus kommen."
> 
> Wenn Du den Tonfall hättest hören/lesen können, mit demes gedacht wurde,
> würdest Du verstehen, daß das sinnvoll ist, was da stand.
> 
> => Falsches Medium.

Man kann versuchen, es anders zu formulieren, sodass auch ohne Tonfall
klarer wird, wie's gemeint ist. Ist jetzt aber nicht so wichtig.

> > > Ich weiss ja nicht, was für Code Du produziert hast.
> > > Wichtig beim Programmieren ist, daß man potentielle
> > > Fehlerfälle alle abfragt/abfängt, oder dies zumindest
> > > vor hat. Wenn man was übersieht, ist das eben Pech.
> > 
> > Nein, das Problem war genau andersherum: Es gab zu viel von solchem
> > Code. Sinnlose Abfragen von NULL und sonstawas. Und warum? Weil wir
> > (2-Mann-Team, ich mit einem Freund) ständig Pointer benutzt haben,
> > als wären wir in C.
> 
> Ich rede ja auch von dem, was ICH habe sehen dürfen in Code von anderen
> Leuten, und was ich da grauselig fand.

Wieder ein Missverständnis. Ich dachte, dich würde auch interessieren,
was *ich* für Code prozuziert habe. ("Ich weiss ja nicht, was für Code
Du produziert hast.")

> Die ganze Diskussion bringt schon seit langem nix mehr.
> Wir haben den Punkt,wowir aufhören sollten, bereits lange überschritten.
> Ausserdem mag ich gerne selber knobeln, statt vorgefertigte Lösungen
> miranzuschauen;

Cool. Dann war die Idee meines Rätsels vielleicht gar nicht so verkehrt.

> > Also probier ich mal was: Ich gebe
> > dir ein Rätsel auf, und wenn du das gelöst hast, hast du auch
> > verstanden, was ich meine.
> 
> Ich gebe Dir ein Rätsel auf:
> 
>   Wie kann man es schaffen, daß jemand Anderes Interesse an einem Rätsel hat,
>   das einen selbst sehr interessiert hat, und von dem man möchte,
>   daß der Andere sich auch dafür interessiert und es be-rätselt?

Für mich war das nie ein Rätsel, sondern eine Selbstverständlichkeit.

Du behauptest, man müsse eine komplexe Datenstruktur (in irgendeiner
Form) komplett im RAM haben. Selbst dann, wenn man sie nur ausbauen
und der Reihe nach ablaufen will. Das stimmt einfach nicht. Und es
steckt nichtmal irgendein abgefahrener total komplizierer Trick
dahinter.

Wenn dich das Thema nicht interessiert, ist das deine Sache. Aber dann
behaupte bitte nicht konsequent das Gegenteil und missachte meine
Erklärungsversuche.

> > Nochmal zusammengefasst:
> > * billiger 1-Pass-Compiler
> > * Laufzeit:       O(N)
> > * Speicherbedarf: O(T)
> > 
> > Ich hoffe, das Rätsel ist inhaltlich klar. Du kannst jederzeit fragen.
> [...]
> 
> Wozu soll ich das wissen?

Weil dort eine fundamentale Erkenntnis hintersteckt, was eine Datenstruktur
ist und was nicht. Hier konkret: Ein Parsebaum ist nicht zwangsläufig
etwas, das im RAM liegt, oder das überhaupt zu einem gegebenen Zeitpunkt
vollständig vorliegen muss.

Lazy Evaluation ist vielleicht ein Stichwort, aber es funktioniert z.B.
beim Parsen auch mit ganz normalen C-Boardmitteln. Flex und Bison
demonstrieren das eigentlich ganz gut.

> > Ich würde dir die Antwort auf das Rätsel gern verraten und erklären, aber
> > das versuche ich ja schon die ganze Zeit. Ich bin offensichtlich nicht
> > dazu in der Lage.
> 
> Und warum bist Du dazu nicht in der Lage?
> Woran scheitert es?

Das wusste ich bisher auch nicht. Momentan denke ich aber, es scheitert
am mangelnden Interesse des Lesers.

> > Du wirst mit einer tiefen und meines Erachtens nach wichtigen Einsicht
> > belohnt.
> 
> Möglicherweise.
> Vielleichtist es auch nichts neues, aber eröffnet eine andere Sichtweise auf
> etwas bekanntes.

Sorum ist es besser formuliert, ja.

Oder noch genauer gesagt, es zerstört eine falsche Sichtweise auf etwas
Bekanntes. Falsche Vorstellungen von abstrakten Gebilden sind sehr
gefährlich. Sie verleiten dazu, Dinge und Eigenschaften hinein zu
interpretieren, die gar nicht da sind.

Mit den Worten von Tom DeMarco: "Nicht das, was wir *nicht* wissen,
bringt uns zu Fall ... sondern das, was wir fälschlicherweise zu
wissen glauben."
(aus: "Der Termin")

Ich persönlich finde es sehr wichtig, falschen Anschauungen entgegen
zu wirken. Deshalb habe ich mir damals wie heute diese ganze Mühe
gemacht. YMMV.


Viele Grüße,

    Volker

-- 
Volker Grabsch
---<<(())>>---
Administrator
NotJustHosting GbR



Mehr Informationen über die Mailingliste linux-l