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

lichtkind
 2011-01-29 16:49
#145165 #145165
User since
2004-03-22
5697 articles
ModeratorIn + EditorIn
[Homepage]
user image
macros sind in perl 6 so mächtig das prinzipiell alles auch ohne sourcefilter(böse böse) im syntax sauber erreicht werden kann. man brauch also nicht perl 6 zu ändern sondern nur ein entsprechende modul mit den macros zu schreiben die die main grammar aka $~MAIN ändern. dein schalter heisst dann use modulname; das ist auch explizit so von larry gewollt das alles möglich sein wird solang es sichtbar deklariert wird.

jedoch sind geschweifte klammern für blöcke so etwas wie eine grundbasis der perl syntax. wie python es macht findet larry nicht nur sinnlos und hässlich, es verhindert auch in fällen ordnung zu schaffen wo es in perl geht.

ebenso ist das mit der sigil für variablen ein kern erkennungsmerkmal von perl. ich persönlich finde python unübersichtlich eben weil variablen keine sigils haben und ich den code wesentlich aufmerksamer lesen muss um ihn zu mental zu lexen.

auf die meisten runden klammern aus perl 5 kann man in perl 6 verzichten und auch das my $i kann ich mir sparen wenn ich statt $i den autogenerierten $^i oder $:i nehmen. es ist auch etwas unfair foreach zu nehmen weil for in perl 5 und in 6 nur noch genauso geht.


und ganz ehrlich deine beispiele sind in perl 6 kürzer oder gleichlang als in python:

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


Code (perl): (dl )
1
2
3
4
5
6
7
8
$a = 1, 2, 3;
# das war eine liste weil kommas drin
say for $a;
# 11 Zeichen! oder
print $^i for $a;
#oder
for @a -> $i { print $i }
    

Last edited: 2011-01-29 20:17:15 +0100 (CET)
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.

View full thread Wunsch: Optionale Python-Syntax