Softwarekrise (was: Re: [linux-l] Slightly off topic: Jagd auf Spam)

Jan Krueger jk at microgalaxy.net
Fr Okt 31 21:16:55 CET 2003


On Thu, 2003-10-30 at 09:45, Steffen Dettmer wrote:
> Fänd ich erstmal egal. Ist von der Logik her eben vermischt, wenn
> man so will, weil ein User das System benutzt. Find ich natürlich
> und logisch. In der Theorie funktioniert das ja auch immerhin
> schon mal: ein User kann eben da nix manipulieren.

Eben, um das auszuweiten und sich neue System-Management Möglichkeiten
zu erschließen hilft eine Aufteilung in logische Untersysteme mit
bestimmten Aufgabenbereichen. Die NextStep/OS X FSH ist da ein Schritt
in die richtige Richtung, leider nicht konsequent umgesetzt. Dies hätte
zb. enorm positiven Einfluss auf die Softwareverwaltung inklusive
Versionierung usw. Klare Trennung von System und Anwendungen usw.

> Also baut man da was ein, was dann paar Sachen prüft und
> zusätzliche Komplexität einbringt, klar.

hm...


> Gut, hier hätte stehen müssen: "... einfach nicht sicher und
> zuverlässig zu realisieren."

hm...

> . Mach mal was grosses wie Word, aber
> ohne Bugs. Wird nicht trivial. Der Schlüssel müßte IMHO dadrin
> liegen, die "1 Bug je 500 Zeilen" auf "1 Bug 2000 Zeilen"
> reduzieren zu können. Vielleicht wäre es auch mal an der Zeit,
> sich "redundante" Programmiertechniken anzugucken

gute Idee, werde gleich mal auf die Suche gehen...

> > Ich hoffe immernoch, daß eines der nächten BeLUG Patente
> > (welches nicht unbedingt von mir sein muß) einen Weg aus dieser
> > Software-Krise aufzeigen kann :)
> 
> Weiß nicht, ob wir hier die Idee finden, die sonst noch niemand
> hatte :)

Was spricht dagegen?

> 
> > > Möchte man es "unten" abfangen, hat man
> > > Ärger, Aufwand, Funktionseinschränkung und sowas, "oben" kann man
> > > es nicht abfangen, weil viel zu kompliziert. Macht man einen
> > > Kompromis und nennt den POSIX? mmm...
> 
> > Gut, dann nehme man diesen Kompromis, schmeiße all das raus was
> > unsicher ist und sowieso überflüssig und nenne es POSIX light
> > oder POSIX secure 
> 
> Was bleibt denn da?? snprintf gilt als "sicheres sprintf", aber
> oft sieht man sowas wie snprintf(str+strlen(str), sizeof(str)-1,
> ...) - das ist schon wieder zu komplex. Also C-strings gehen IMHO
> gar nicht für "sicher". Das ist aber so grundlegend, daß schon
> mal so viel wegfallen müßte, daß da wohl nix übrig bleibt, mit
> dem man noch was machen könnte... Am Ende kommt dann vermutlich
> sowas wie std::string raus :)

Gut, wir behalten POSIX, ergänzen es um sichere Funktionen (wie zb.
OpenBSD es vor macht) und über die nächsten Jahrhunderte migrieren alle
zu den neuen Funktionen.

> > und ist schon mal einen schritt weiter oder man baut einen
> > neuen Kompromiss welcher dann dank seiner Natur neu zu sein,
> > neue Erkenntnisse umsetzt und nicht auf den Erkenntnissen
> > welche vor 20 Jahren aktuell waren, beharrt.
> 
> Ich seh das bißchen anders. Heute hat man ne riesen libc, nehmen
> wir mal 100.000 Zeile Code an. Früher bauten Anwendungen darauf
> auf. Nehmen wir mal 10.000 Zeile Code an. Bei 1 Bug je 1000
> Zeilen also 110 Bugs. 
> 
> Heute hat man ne glibc, eine STL (angenommen 100K LOC), ne CORBA
> lib (100K LOC), ein Application Framework/Application
> Server/irgendwas (100K LOC), OpenSSL (100K LOC), XML-irgendwas
> (100K Loc) und dann noch ne Million Libs für alles mögliche
> (zusammen auch 100K LOC) plus Appl. Macht dann 710K LOC. Weil man
> so schöne Libs hat, hat man nur noch 1 Bug je 2000 Zeilen,
> bleiben aber immer noch 305 Bugs, also dreimal so viel.
> 
> Ja, die Rechnung hinkt überall, ist für'n Eimer und völlig
> unrealistisch

trotzdem überzeugend. Also doch höhere Programmiersprachen mit denen man
mehr in weniger Code ausdrücken kann?

>  - sollte nur zeigen, daß heute "kleine Systeme"
> alles sprengen, was man vor 20 Jahren kannte.

ergo: Windows kann gar nicht funktionieren :)

> Inzwischen ist
> die Zielgruppe für Win und Linux sehr ähnlich, also auch die
> Anforderungen sehr ähnlich. Die sind also gar nicht mehr "Stabil
> bis der Arzt kommt", sondern bunt und animierte Dialoge.

in transparenten Fenstern die durch die Gegend wobbeln.

> Unser Problem ist IMHO: wenn 90% der Leute letzeres wollen, ist
> es schwer, ersteres zu bekommen - da ist einfach kein Markt da,
> es macht niemand, es wird zu teuer, es lohnt nicht. Ist wie bei
> den Musik-CDs. 

Ich sehe diesen Aspekt doch noch ein wenig anders. Der Markt wäre meiner
Ansicht nach schon da nur gibt es im Moment keinen der ihn besetzen
könnte, weswegen sämtliche Nutzer (also jene 96%) davon ausgehen, dass
das was MS mit Windows abliefert besser nicht sein kann und wenn etwas
nicht funktioniert eher an sich selber zweifeln als an den Fertigkeiten
von MS.

> > Es ist schon ein Unterschied ob ich erstmal 100 Zeilen
> > Programmieren muß, bis ich ein Fenster habe, dann ein Menü,
> > dann Menüeinträge, Fensterinhalt, buttons oder ob ich schreibe
> > (lisp-like):
> > 
> > (window
> > 	(menu
> > 		(submenu1)
> > 		(submenu2))
> > 	(frame
> > 		(image "/root/tollesbild.jpg")
> > 	(button "bla")))
> 
> Fehlt sicherlich die Fehlerbehandlung

Das dachte ich auch immer als ich begann mich mit funktionaler
Programmierung zu beschäftigen und habe mich so gewundert, wie das alles
funktionieren kann. Kann es. Man könnte sagen: Fire and forget ;)
Die Fehlerbehandlung ist irgendwo hinter window, menu usw. oder der
Funktionsweise der Sprache versteckt und soll den Programmierer nicht
interessieren, in diesem Fall. Es gibt andere Fälle da sollte man die
Auswirkung des Funktionsaufrufs lieber nochmal überprüfen.

> Ich finde, Komplexität hängt nicht direkt von der Codelänge ab.
> Oft ist längerer, "auf Lesbarkeit optimierter" Code einfacher,
> als kompakter.

Bei der Betrachtung von C allein sicherlich mag das so sein. Beim
Vergleichen von C mit anderen Sprachen stimmt das nicht mehr.
Es ist möglich, je nach Sprache, das selbe gut oder besser lesbar in
weniger Zeilen auszudrücken. 


> Na, "Mitläufer" oder Teamkollegen - was meinst Du jetzt?

beides

> Ja, mag sein, genau. Das von "überall Patches" kommen, ist nicht
> mehr so. Es mag 10.000 Leute geben, die patches schicken, früher
> wie heute (und das mein ich ernst, ich glaub, es sind nicht mehr
> geworden). Früher gabs z.B. 10 Millionen Zeilen Code und 100.000
> Leute. Also haben 10% der Leute gepatcht, eintausend Zeilen Code
> kamen auf jeden Patcher. Heute hat man 200 Millionen Zeilen Code
> und 1 Millionen Leute. Also patchen nur 1% der Leute, und 20.000
> Zeilen Code je Patcher. Ich find, daß hat sich schon ganz schön
> verändert :)

d.h. Die Schwelle ein OSS Programmierer zu werden ist hoch, das Modell
skaliert nicht so gut und alle schreien nach Wusern (Linux auf den
Desktop) und Wuser sind nicht gleich Programmierer. Effekt: Mehr Wuser
die meckern, relativ dazu weniger Programmierer.

> 
> > > Na, das KDE funktioniert dann mindestens genauso schlecht wie
> > > WinXP, ist dafür bißchen bunter.
> > Jupp, mein neuester Favorit ist der, daß die Verzeichnisse in
> > Baumansicht ständig an meinem Mauszeiger kleben bleiben obwohl
> > ich nur einmal drauf klicke, also die Maustaste gleich wieder
> > löse, aber irgendwie ignoriert KDE das lösen der Maustaste...
> 
> Nimm doch was anderes. Das ist eine Linuxstärke :) 

Habe jetzt, da ich schon mal auf Evolution umgestiegen bin, gleich auf
Gnome 2.4 umgestellt. Habe mich immer darum gedrückt, weil ich nicht
diese Konfigurationsorgie durchmachen wollte, naja, jetzt habe ich es
gewagt. Evolution startet ja eh 99% Prozent von Gnome wenn man es
aufruft. Jetzt habe ich ein System mit anderen Fehlern welches nicht
ganz meinen Wünschen entspricht, weil man bestimmte Einstellungen nicht
tätigen kann bzw. weil das System auf das setzen der Einstellungen nicht
reagiert. Auch fällt es mir schwer einen Unterschied zwischen GConf und
dem Windows-Registry Editor festzustellen. Das finde ich ein wenig
traurig.

> > Microsoft Longhorn, hab mir die Demo Videos im Netz angeschaut,
> > whooaa, coool.  
> 
> Kenn ich nicht. Was ist da CooL?

3l33t haxor are kewl oder so?

>  Kann man endlich ein Video als
> Hintergrund vor transparenten Fenstern installieren?

Ja, kann man.

> Weiß nicht, wovon Du redest. Welchen Longhorn-Feature(s) wird man
> nachhechlen?

Siehe andere Mail welche ich dazu schrieb.

> Ich frag mich heute noch, wer auch die dämliche Idee kam, Linux
> sollte den Desktop erobern.

RedHat? Susie? IBM? SCO? Irgendeiner der da was verkaufen wollte.

>  Vielleicht hätte man Linux
> geheimhalten sollen, dann gäbe es vielleicht kein KDE aber es
> wäre stabil :) Aber vielleicht könnte ich es nicht bei der Arbeit
> verwenden, wäre auch doof...
> 
> Die Stärke von Linux (oder besser: GNU und OpSrc) muß doch sein,
> sich eben nicht von der Masse sondern von Klasse leiten zu
> lassen.

Ja, genau.

>  Wenn man ein Windows look-a-like haben will, warum
> installiert man sich dann nicht einfach Windows?

Weil es nicht funktioniert. Klar. Eine Alternative gibt es auch nicht.
Also was bleibt?


> > ... und dabei gleichzeitig genügend flexibilität für eventuelle
> > erweiterungen bietet.
> 
> Letzeres Argument, was mit dem Argument: "notfalls holt man sich
> Sourcen und findet *jeden* Bug" harmoniert, find ich persönlich
> wichtig. Wir haben SourceForge 2.5 in der Firma lokal installiert
> und inzwischen schon viele Sachen im Code geändert. "customized"
> nennt SAP sowas. Bei Win *geht* das einfach nicht.

Ja, das geht für Unternehmen welche diese Ressourcen haben. Ein kleines
5 Leute Unternehmen (keine Entwicklungsbude) kann das nicht immer tun.
Jemanden zu beauftragen kann teuer werden. Folglich lässt sich die
Flexibilität welche man durch die offen Quellen hat häufig gar nicht
realisieren. Ich meinte auch eher die Unix-gegebene Flexibilität.

> Aber: Entscheidungsträger denken IMHO nicht so. Sie verstehen
> nicht, was man meint, wenn man sagt: "Wenn man sich in den Fuß
> schießen muß, ist es gut, wenn man es kann". Sie sagen dann:
> "Aber dann schießen wir uns eben nicht in den Fuß".

Ja, da habe ich auch schon ein paar Diskussionen mit
Entscheidungsträgern geführt.

>  In Firmen
> werden Briefe geschrieben und eMails beantwortet. Beides keine
> Windowsgründe. Linux *geht schon jetzt* auf dem Firmendesktop -
> man will es aber nicht.

Ja, sag ich doch. In wohl zu definierenden Umgebungen mit begrenzten
Aufgabenbereichen -> Unternehmen und deren Abteilungen, allerdings nicht
für alle. Dagegen spricht der Mangel an bestimmten Anwendungen zb. im
Finanziellen Bereich.

>  Mit einer guten IT

die teuer ist

>  ist Linux billiger,

oder auch nicht ;)

> aber man hat weder gute IT noch überhaupt ausreichend IT
> Resourcen (kostet ja erstmal Geld!). Flexiblität nutzt man gar
> nicht mehr aus. Früher war ein Unix-System immer irgendwie
> angepaßt. Jetzt kommen auf einemal welche, die erzählen was von
> "LAMP" (und gerade mySQL dabei! Unglaublich! Und PHP! Ohh Gott!)
> aus der Dose, aus'm Regal - und genau das ist Unix eben nicht,
> hier macht es keinen Sinn, finde ich.

Genau, ein Server mit Weboberfläche und man benötigt keinen Admin mehr.
Für die Firewall hat die Oberfläche auch eine Seite und da kann man ein
Häkchen machen, entweder bei On oder bei Off. Und weil es in PHP
realisiert ist kann die Firewall manchmal auch beide Zustände
gleichzeitig annehmen. Das macht gar nichts, es ist ja Linux und Linux
ist sicher, oder?

;)

> >  Aber als Wuser Desktop ist das nix, weil der Wuser alles will,
> >  jetzt, sofort, per Mausklick, Fehlerfrei, Bunt? egal,
> >  Benutzerfreundlich. Treiber? Wozu?  -> Start!
> 
> Die Standard-Sekretärin hat noch andere Ansprüche, glaub ich.
> Interessanterweise kommt Win inzwischen mit dynamischen Menüs, in
> denen erstmal nur das steht, was man benutzt. Ich fand das damals
> erstaunlich! Genau so ist das nämlich: den meisten Mist braucht
> man fast nie! Man möchte gar keine eine Millionen Funktionen!

sondern funktionierende Funktionen?

> > möchte mich daher anders ausdrücken:
> > Ich glaub die Community will nix. Einzelne Individuen, kleine
> > Gruppen wollen vielleicht das, oder jenes ...
> 
> Ich denke, 90% will bunt, also "die Community will bunt und
> animierte Dialoge". 

und transparente Fenster. Nachdem sie das 2 Tage ausprobiert haben
schalten sie es ab weil es der Leserlichkeit hinderlich ist.

Gruß
Jan





Mehr Informationen über die Mailingliste linux-l