Thread Würdest du auf Perl 6 umsteigen?
(38 answers)
Opened by Muffi at 2014-01-27 17:00 2014-01-29T00:02:16 lichtkind Eigentlich ist nur der Parser einfacher, der Sprachkern ist immer gleich kompliziert. Und neue Parser vorne anzubauen ist, bei geeignetem Design des Backends weniger kompliziert, als man glaubt — ein gutes Beispiel wie man das elegant lösen kann ist Racket. Ich würde mich halt freuen, wenn es bei Perl 6 ähnlich einfach wäre, eine neue Sprachsyntax über die alte Semantik zu stülpen und so zum Beispiel das DSL-Design stark zu vereinfachen. Das wäre nicht nur cool und hip, DSLs sind ja groß in Mode, sondern es wäre irgendwie auch ein natürlicher, kleiner Schritt vom bereits geplanten Featureset zu einem wirklich nützlichen Werkzeug. Quote Das kann man so sehen. Gerade welche Syntax elegant und praktisch erscheint ist allerdings stark geschmacksabhängig. Ich persönlich finde, dass der Perl 6 Operatorwust eher ein Rückschritt ist und das alte Vorurteil, Perlcode bestehe nur aus unverständlichen Sonderzeichen, mit neuem Zündstoff versorgt. Andererseits ist mir auch bewusst, dass man in Perl 6 meistens die Wahl hat, Berechnungen mit Operatoren oder mit sprechend benannten Methoden auszudrücken, so dass jede selbst entscheiden kann, wann sie Kürze bevorzugt und wo längere Ausdrucksweisen mehr Klarheit bieten. Quote Auch dazu empfehle ich als Gegenbeispiel einen Blick auf Racket, insbesondere auf die Bibliothek syntax/parse und auf die Frontends für gänzlich andere Programmiersprachen als Lisp (Algol, Java, etc.) auf Basis des Racket-Kerns. Außerdem ist die Aussage, reguläre Ausdrücke oder Perl 6 Grammatiken seien leicht verständlich, ungefähr genauso polarisierend wie die Aussage, S-Expressions seien die am besten lesbare Programmiersprachensyntax. Mit hinreichender Gewöhnung und der richtigen Einstellung mag beides stimmen, aber für junge Adepten ist beides noch abschreckend ;-) Quote So besonders ist das Typsystem eigentlich nicht. Ein bischen ausgereifter als Java vielleicht, aber nicht mächtiger. Dadurch dass man viele Sachen nur über das Metaobjektprotokoll zur Laufzeit erfahren kann, ist eine statische Typisierung vieler Ausdrücke, die eine Optimierung des Laufzeitverhaltens zulassen würde, nicht möglich. Natürlich ist es auch kaum möglich, das Typsystem des Compilers so mächtig wie die Laufzeittypinformation zu machen, denn dann hat man nicht nur volle wertabhängige Typen sondern kommt auch ganz schnell in die Situation wo man für sinnvolle Manipulationen der Typausdrücke eigentlich gerne ein Halteorakel hätte ;-) When C++ is your hammer, every problem looks like your thumb.
|