[linux-l] Re: Kitchen Sink

olafBuddenhagen at gmx.net olafBuddenhagen at gmx.net
Di Dez 12 21:45:13 CET 2006


Hallo,

On Tue, Dec 12, 2006 at 10:05:20AM +0100, Sven Guckes wrote:
> * Olaf Buddenhagen <olafBuddenhagen at gmx.net> [2006-12-12 08:15]:

> behauptest du etwa fuer *jede* aufgabe ein *universelles* unix tool zu
> haben?

Nein. Ich behaupte, einen Satz von Tools zu haben, die sich auf
verschiedenartige Weise kombinieren lassen, um recht einfach sehr sehr
viele Aufgaben zu lösen -- ohne für jede Sache ein spezielles Programm
zu brauchen, oder eine spezielle Funktion innerhalb eines vorhandenen
Programms...

> > Manche werden UNIX wohl nie verstehen...
> 
> ... wenn einer aus der GNU herde es erklaert.  ;-)

Weiß nicht was das mit GNU zu tun haben soll. Die GNU-Tools sind nicht
gerade immer ein gutes Beispiel von Beschränkung auf's Wesentliche (was
Dir Uriel der Plan9-Troll bestimmt gerne erklärt... ;-) ) -- das
passiert schon mal, wenn viele Leute aus unterschiedlichen Richtungen an
einem Projekt arbeiten. Es werden viele Funktionen eingebaut. Manche
sind wirklich nützlich. Manche sind ziemlich überflüssig und existieren
nur, weil der Erschaffer keinen besseren Weg kannte.

> und warum sollte man nicht eine shell benutzen, die per default
> weniger platz als die bash benutzt, aber mit seinen modulen bei
> *bedarf*  weitaus mehr funktionaliaet bietet als die meisten anderen
> shells?

Wenn man unbedingt will... Ich sehe aber keinen guten Grund, es zu tun.
Das zu verwenden, was man schon kennt, und was auch andere haben, ist
aus praktischer Sicht sehr nützlich -- ein Wechsel lohnt nur dann
wirklich, wenn es so viele andere Vorteile bietet, dass es diesen
Netzwerk- und Gewohnheits-Effekt aufwiegt.

Und diese Vorteile sehe ich bei der zsh einfach nicht. Fast alles, was
die angeblich so toll machen soll, sind Sachen, die IMHO in der Shell eh
nix zu suchen haben. Die wenigen wirklich interessanten Sachen
rechtfertigen für mich die Umstellung nicht.

> ich habe mich jedenfalls fuer die zsh entschieden, weil sie weitaus
> mehr kann als andere shells, zudem modular ist,

Solche programminterne Modularität ist uninteressant -- es bietet dem
Nutzer keine zusätzlichen Möglichkeiten. Es ist ein technisches Detail,
was nur dazu dient, ein von Featuritis geplagtes Programm überhaupt noch
vernünftig benutzbar zu machen...

Modularität findet bei UNIX auf Prozess-Ebene statt. mv ist ein Modul.
sed ist ein Modul. cat, tail, ls, wc sind Module. Verbunden werden sie
(hauptsächlich) über das Dateisystem bzw. über Pipes. Die Shell ist
lediglich eine Hülle, die es ermöglicht, diese Module aufzurufen.

> und ausserdem fuer mehrere betriebssysteme existiert ("wissen
> *mitnehmen*!")

Das interessiert mich jetzt, was Du noch für Betriebssysteme benutzt,
auf denen keine bash läuft :-)

> und mit selbst mit elinks, mutt, screen, slrn, vim und zsh belege ich
> immer noch weniger platz als mit einem emacs.

Dafür hat emacs schon alles integriert... Nach Deiner Argumentation
müsste das doch entscheiden.

> vielleicht braucht es ja nur die kritische masse der anhaenger, um die
> zsh auch auf hurd zu portieren?

zsh läuft anstandslos auf Hurd, wie fast jedes Programm das sich
halbwegs an POSIX hält.

> zwar wird es dann immer noch leute geben, die statt einem einzeiler
> lieber scripte schreiben, aber ich vermute, dass sie lieber einen
> alias auf eine kleine funktion machen.. ;)

Die meisten scripte *sind* Einzeiler. Und selbst wenn es mal etwas mehr
braucht -- lieber das universelle Wissen über die Standardmechanismen
anwenden und vertiefen, als für jede Situation irgendwelche neuen
Spezialfunktionen zu lernen.

Das ist was UNIX so mächtig macht. Tausende von Spezialprogrammen und
-Funktionen hast Du unter Windows. (Oder GNOME/KDE...)

-Olaf-



Mehr Informationen über die Mailingliste linux-l