Re: Job-Queue f?r FreeBSD

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 13 Jul 2004 18:13:06 +0200 (CEST)

Ulrich Spoerlein <q(at)uni.de> wrote:
> On Wed, 07.07.2004 at 17:45:49 +0200, Andreas Braukmann wrote:
> > -Andreas,
> > nach langjaehrigen Vorsaetzen endlich Python lernend,
> > obwohl ich Ruby noch "schoener" faende
>
> Dann nimm doch Ruby. Also ich finde es *wirklich* schick. :)

Ruby hat seine Vorteile, vor allem das von Smalltalk ent-
liehene Feature, Codeblöcke inline zu definieren und herum-
zureichen. In Python ist das ein wenig umständlicher (z.B.
mit lambda-Funktionen oder lokalen Funktionen).

Allerdings würde ich Ruby im Vergleich weder als »schön«
noch als »schick« bezeichnen, da es große Teile der Syntax
von Perl geerbt hat.

Wenn man Ruby ganz grob mit einem Satz beschreiben will,
könnte man sagen, es ist eine Perl-Variante, der man das
OO-Modell von Smalltalk eingepflanzt hat (so ähnlich, wie
Objective-C eine C-Variante mit Smalltalk-OO ist).

Übrigens, den Vergleich Ruby <-> Python auf der Ruby-Home-
page muß man mit äußerster Vorsicht genießen, denn da ste-
hen einige veraltete oder schlichtweg falsche Informationen
bezüglich Python drin. Zum Beispiel hat auch Python eine
einheitliche Typen/Klassen-Hierarchie, _alles_ ist ein Ob-
jekt (auch Zahlen und Stringkonstanten), und man kann von
allen Typen Unterklassen ableiten, und auch Metaklassen
gibt es. Die Features, die Python hat, aber die Ruby feh-
len, werden geflissentlich verschwiegen. Nunja, man muß es
als das betrachten, was es ist: Advocacy. :-)

Natürlich haben auch beide gemeinsame Nachteile: Beide ha-
ben ein dynamisches Typsystem, wie man es von Smalltalk her
kennt, ohne Type-inference oder Pattern-matching, und daher
leider keine Typprüfungen zur Compilezeit. Für mich ist
das vielleicht der größte Nachteil. Ich verwende zur Zeit
trotzdem überwiegend Python, weil es dies auf andere Weise
wieder ausbügelt, nämlich durch die hervorragende Unter-
stützung für Regression- und Unit-Tests, Inline-Dokumenta-
tion sowie durch zwei unabhängige Checker (pylint und py-
checker).

Falls jemand eine Empfehlung haben möchte, dann würde ich
sagen, einfach beides (Ruby und Python) mal auszuprobieren.
Bei Python ist das besonders leicht, da es einen inter-
aktiven Interpreter hat, in den man einfach mal seine Kom-
mandos einhacken kann und sofort das Ergebnis sieht.
Wenn man mal an einem Wochenende das Python-Tutorial und
den Interpreter zur Hand nimmt, dann lernt man die Grund-
züge der Sprache in äußerst kurzer Zeit. Ich habe schon
viele Programmiersprachen gelernt, aber in keiner einzigen
bin ich auch nur annähernd so schnell produktiv geworden
wie in Python.

Ruby dagegen ist eher für Leute empfehlenswert, die eigent-
lich bei Perl heimisch sind und mit dessen Syntax keine
Probleme haben, diese aber gerne mit einem vernünftigen,
»natürlichem« OO-Modell kombinieren wollen.

(Das ist natürlich alles subjektiv, IMO und YMMV.)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"With sufficient thrust, pigs fly just fine.  However, this
is not necessarily a good idea.  It is hard to be sure where
they are going to land, and it could be dangerous sitting
under them as they fly overhead." -- RFC 1925
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 13 Jul 2004 - 18:13:32 CEST

search this site