[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Programmiersprache lernen



Moin,

* Patrick Schoenfeld wrote (2007-04-12 23:59):
>Thorsten Haude schrieb:
>> * Matthias Haegele wrote (2007-04-12 15:17):
>>>> Was würdet Ihr empfehlen?
>>> Dich mit den "Programmierfunktionen" der Bash auseinandersetzen (da kann 
>>> man imho auch schon viel machen für administrative Aufgaben), alternativ 
>>> dann natürlich Perl (das ist schliesslich auch auf fast jedem System 
>>> verfügbar).
>> 
>> Genau, darum ist Perl auch in jedem Fall vorzuziehen. Perl kann
>> deutlich mehr, ist deutlich schneller, überall vertreten und hat CPAN.
>> Für Programmierung in Bash spricht eigentlich garnichts.
>
>Nicht? Wie wäre es mit dem Fakt, dass Perl für viele Aufgaben total
>oversized ist und somit eindeutig die schlechtere Wahl?

"Fakt"?

Jeder lebt in seiner eigenen Welt. (Aber meine ist die richtige.)


>Was hab ich davon, wenn Perl toll CPAN-Module laden, Regexps direkt
>verarbeiten kann usw. wenn es nur um meine Init Scripte geht, oder um
>ein bisken Automatisierung? Ne Menge Overhead und ein Script, so zäh
>wie Kaugummi.

Zäh wohl kaum, aber wenn Du so ein einfaches Problem hast, solltest Du
ein Bourne-Shell-Skript schreiben.


>Also: Immer schön die Sprachen so einsetzen wie sie Sinn machen.
>
>Perl: Textverarbeitung, z.B. Auswertung von Logfiles usw.
>POSIX-kompatible Shell: Automatismen, die hoch portabel sein sollen
>Bash: Automatismen, vorallem alles was anspruchsvoller ist (und z.B.
>Arrays sinnvoll macht)
>awk: Textverarbeitung, z.B. Auswertung von Logfiles oder als Helfer in
>anderen Scripten. Teils sehr genial!

Das ist es wohl, was man "übertriebene Optimierung" nennt. Wenn Du für
jedes kleine Problemchen eine neue Sprache lernst, hast Du erstens
eine ganze Menge zu tun, zweitens vergibst Du Möglichkeiten zur
Optimierung durch eigene Bibliotheken.

Zwischen sh und Perl entsteht keine Lücke, die man mit Bash stopfen
müßte. Wenn ein Problem mit sh zu knifflig wird, bist Du längst mitten
in Perl-Land.

(Ich lasse awk mal außen vor, das kenne ich so gut wir garnicht,
awk-Probleme habe ich immer mit Perl gelöst.)


>> (Wir haben gerade das Problem, daß SLES 10 nicht mehr pdksh, sondern
>> ksh mitbringt und einige Skripte nicht mehr laufen. Wenn man mit einer
>> Shell programmiert, dann nur mit der Bourne Shell.)
>
>Wieso sprechen die Probleme mit pdksh, respektive ksh, jetzt gegen die
>bash? Genaugenommen sprechen sie doch gegen die [pd]ksh bzw. eigentlich
>garnicht mal gegen die, sondern gegen den der die Scripte geschrieben
>hat.

Doh. Eigentlich sprechen Bashskripte nicht gegen die Bash, sondern nur
gegen den, der die Skripte geschrieben hat.

Bash ist halt wie pdksh eine Software, die manchmal, aber längst nicht
immer vorhanden ist. Ich benutze die Zsh, aber ich würde niemals
Skripte darin schreiben (außer in der eigenen Initialisierung), weil
ich eben sicher sein kann, daß es in vielen Umgebungen keine Zsh gibt.


>POSIX-konforme Scripte vertragen sie eigentlich alle. Womit also
>der Satz eigentlich lauten muss:
>
>Wenn man mit einer Shell programmiert, dann nur mit einer
>POSIX-kompatiblen (wenn man so krasse Meinungen vertreten möchte..)

Das hilft ja nicht, pdksh und ksh sind beide Posix-kompatibel. Der
Satz müßte lauten: Wenn man mit einer Shell programmiert, dann
Posix-kompatibel, also Bourne Shell.


Thorsten
-- 
Auch Hunger ist Krieg.
    - Willy Brandt

Attachment: pgpmIkSulUoKA.pgp
Description: PGP signature


Reply to: