[linux-l] eine wunderbare scriptsprache: groovy

Ivan Villanueva iv at artificialidea.com
Di Okt 11 14:46:18 CEST 2005


On Mon, Oct 10, 2005 at 03:42:57PM +0200, Volker Grabsch wrote:
> Es gibt auch Jython, das wie Python arbeitet, nur eben auf die Java-API
> zugreifen kann. Jython vs. Groovy vermag ich aber nicht zu beurteilen.

Mein Hauptgrund, mich für Groovy entscheiden zu haben, ist, dass ich viel Zeit
spare, weil ich keine andere neue Sprache (und API) lernen muß.
 
> Seit Python-2.4 gibt's das Modul subprocess, welches die schönste
> mir bekannte Methode darstellt, auf "shell-script"-like zu arbeiten,
> und zwar *sauber*.
> 
> Zur Veranschaulichung ein Analogon zu deinem Code:
> 
> 	#!/usr/bin/python2.4
> 
> 	from subprocess import *
> 
> 	stream = Popen("ls", stdout=PIPE).stdout
> 	print stream.read()

Toll. Danke für das Beispiel. Ich kannte "subprocess" nicht.

> Jedoch seit "subprocess" hat Python was Ordentliches, und die API
> ist dennoch schön einfach:
> 
> 	http://python.org/doc/2.4.2/lib/node235.html

Das erinnere mich an eine andere Kritik von mir zu Python:
die Doku ist sehr verwirren. Oft weiß man nicht, was für ein Objekt eine
Funktion zurückgibt. Oder wo man etwas finden kann. Wenn ich in Java nach
"processes" suche, finde ich alles in:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Process.html

Am Anfang eine Erklärung, was diese Klasse sein soll und wie man sie benutzen
kann, und dann alles andere sehr genau beschrieben. Und wenn ich nicht weiß was
etwas ist, klicke ich einfach drauf, oder besser drucke ich Enter, da ich w3m
als Browser für Dokus benutze.

> Was ich z.B. an der Java-API kontra-intuitiv finde: Wenn p dein Prozess-
> Objekt ist, und du willst dessen Standard-Ausgabe anzapfen, dann hast
> du "p.getInputStream()" ... in Python heißt das einfach "p.stdout".

Geschmackssache. getInputStream sagt mir, dass ich ein Stream bekomme, von dem
ich lesen kann.
 
> javax.swing.* ist dermaßen nervig.

Ich kenne mich mit anderen GUI nicht aus. Aber ich habe gelesen, andere sind
noch schlimmer. Vielleicht
http://en.wikipedia.org/wiki/Swt
ist besser.

> Nicht nur bei größeren Programmen, sondern vorallem bei kleinen Scripten
> finde ich die Java-API alles andere als empfehlenswert. Weder für den
> Programmierer, noch für den, der das später nochmal lesen soll.

Wie gesagt, wenn man Java kennt, weiß man sehr schnell, wo alles ist: java.net,
java.io, java.util.Math, etc. Und die Art wie die Java Doku geschrieben ist,
finde ich wunderbar. Jede Parameter ist ein Link zu seiner Doku.

Viele Grüße,
Iván.
-- 
Ivan F. Villanueva B.
The dream of intelligent machines: www.artificialidea.com
Encrypted mail preferred.
GPG Key Id: 3FDBF85F 2004-10-18 Ivan-Fernando Villanueva Barrio



Mehr Informationen über die Mailingliste linux-l