Thread Wunsch: Optionale Python-Syntax (24 answers)
Opened by hlubenow at 2011-01-29 15:25

hlubenow
 2011-01-29 15:25
#145163 #145163
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich hätte einen Wunsch für Perl 6, weiß aber nicht, wo und wie ich den den Entwicklern mitteilen kann. Vielleicht kann mir da ja jemand helfen.
Also: Ich mag Perl sehr, möchte aber aus bestimmten Gründen nur so wenig tippen wie nötig.
Python gelingt es durch seine Syntax, auf zahlreiche Klammern und auch auf das Semikolon am Zeilenende zu verzichten. Ein Code-Block wird dabei durch Code-Einrückungen bestimmt, die man, wenn man sauberen Code schreibt, sowieso macht. Z.B. aus
Code (perl): (dl )
1
2
3
4
my @a = (1, 2, 3);
foreach my $i (@a) {
    print "$i\n";
}

wird dann
Code (python): (dl )
1
2
3
a = [1, 2, 3]
for i in a:
    print i

Wie man sieht, sind auch keine "funny symbols" vor den Variablennamen nötig, um deutlich zu machen, daß es sich um eine Liste handelt. Diese Information kann aus der Form der Klammern entnommen werden:

a = 1 -> a ist ein Integer,
a = "Hallo" -> a ist ein String,
a = [1, 2] -> a ist eine Liste,
a = {"key" : "value"} -> a ist ein Hash.


Für Perl 5 gibt es ein Code-Filter-Modul, das versucht, die Prinzipien mit den Klammern und dem Semikolon auch für Perl zu verwirklichen: Acme::Pythonic.

(Ich habe noch ein Modul Acme::Pythonic::Functions dazu geschrieben, das versucht, noch mehr Python-Elemente zu verwirklichen, die ich gern in Perl sehen würde; es ist mein erstes Modul, Verbesserungen sind willkommen.)

Der Code-Filter Acme::Pythonic ist ganz nett, aber leider kann er Perl in der Praxis diese Syntax doch nicht vollständig beibringen. Bei komplexeren Programmen treten auch Fehler auf. Dafür ist Perl 5 eben nicht gebaut, deshalb ist das Modul ja auch nur "Acme".

In Perl 6 würde ich das aber doch gern optional vollwertig haben. Also ein Schalter, der perl mitteilt, daß diese Art der Syntax (Code-Einrückungen mit Bedeutung, dafür weniger Klammern und kein Semikolon am Zeilende) benutzt werden soll.

Könnte jemand meinen Wunsch an die Perl 6-Entwickler weiterreichen oder hätte jemand Lust, sich sonst dafür einzusetzen?

Viele Grüße
Last edited: 2011-01-29 15:28:13 +0100 (CET)

View full thread Wunsch: Optionale Python-Syntax