Login
Newsletter

Thema: Nutzen Sie Perl?

8 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
2
Von boelwerkr am Sa, 22. Dezember 2012 um 11:04 #

Der Irrglauben es gäbe noch keine Perl6 rührt daher, das die Entwicklung für Perl ungewöhnlich ist.
Zuerst wurden alle Wünsche zu Perl6 gesammelt und zusammengefasst. Das ist das was mal als Perl6 bezeichnet. Es ist die Sprachspezifikation.
Danach begann man mit Perl6 Implementierungen (Rakudo ist einer der bekannteren). Die Leute in der Planung arbeiten eng mit denen zusammen, die Perl6 Interpreter programmieren. Dabei tauchen immer wider Probleme und neue Ideen auf. Das hat zur Folge, das egal wie weit ein Interpreter ist, es immer noch eine lange Liste von Dingen gibt, die Implementiert werden müssen.
Außerdem ist es eine sehr abstrahierte Sprache. Man programmiert auf einem sehr hohen Abstraktionsgrad, das hat zur Folge das der Interpreter einiges verwalten und beachten muss, das macht diesen komplex und ohne die Optimierungen langsam.

Rakudo hat mittlerweile einen Stand erreicht, das man damit Programmieren kann.
Ich teste es schon und es ist eine wirklich gute Sprache.
Dennoch arbeite ich weiter mit Perl5, da der Interpreter einfach ausgereifter ist. Es ist für jede dynamisch typisierte Sprache schwer an die Qualität des Perl5 Interpreters heran zu kommen.

Es wird weiterhin immer behauptet Perl6 habe Perl5 getötet. Das Gegenteil ist der Fall, mit Perl6 kamen neue Leute zu Perl5, Cpan wird überschwemmt mit neuen Modulen und alte werden wieder gepflegt. Eine Menge neuer Features hielten in Perl5 Einzug. Die Entwicklung des Interpreters hat sich beschleunigt. nicht mehr alle paar Jahre gibt es eine neue Version sondern einmal im Jahr.
Es passiert eine ganze Menge.

Immer wider taucht die Behuptung auf man könne in Perl keine großen Projekte schreiben, da die Sprache zu chaotisch wäre.
Es stimmt, Perl ist eine sehr variable Sprache, die einem viele Freiheiten gibt. Und man kann damit so Programmieren, das es aussieht als wäre jemand auf der Tastatur herum gesprungen. Aber man muss es nicht. Man kann Perl aussehen lassen wie C++ oder Java, man kann es etwas wie Python aussehen lassen, oder wie Ruby.
Man kann mit Perl strukturiert Programmieren und man kann damit so programmieren, das man den Code in 10 Jahren noch versteht. Aber man muss auch sehen, das es Disziplin erfordert.

Man kann so was schreiben um eine Datei zu lesen


my $data=eval{local($/,@ARGV)=(undef,$file);<>};

Man muss es aber nicht:


my $data;
if( open my $fh, '< ', $file )
{
local $INPUT_RECORD_SEPARATOR = undef;
$data = readline $fh;
close $fh;
}

oder objektorientiert:


use IO::File;
my $data;
if( my $fh=IO::File->open( $file, 'r' ) )
{
$fh -> input_record_separator( undef );
$data=$fh -> getline();
}

oder man benutzt etwas fertiges:


use File::Slurp;
my $data = read_file( $file ) ;

Aber möglicherweise ist es diese Varianz die viele verschreckt. Viele scheinen zufrieden zu sein, wenn es nur einen einzigen, nicht ganz perfekten Weg gibt ein Problem zu lösen. und schreiben dann lieber den dreifachen Code um ihr Ziel zu erreichen.

[
| Versenden | Drucken ]
  • 1
    Von al am Sa, 22. Dezember 2012 um 11:30 #

    > Der Irrglauben es gäbe noch keine Perl6 rührt daher

    Das ist nicht das Problem. Das Problem ist, dass Perl 6 eine komplett andere Programmiersprache ist als Perl 5, beide aber den gleichen Namen tragen und beide weiterentwickelt werden. Das ist die dümmste Dummheit überhaupt, eine Spaltung in der eigenen Community, und macht Perl endgültig nicht mehr ernstnehmbar.

    [
    | Versenden | Drucken ]
    • 1
      Von lichtkind am Sa, 22. Dezember 2012 um 20:39 #

      dummheit zu schreien ist sher einfach, , mal was zu tun aber mit aufwand verbunden. um ein so grosses vorhaben wie perl 6 überhaupt anfangen zu können braucht es einige die da mitziehen, daher wohl das perl branding. denn community kann software fixen aber nicht umgekehrt.


      perl 6 ist der versuch idealversuch zu verwirklichen in einem umfang wie sonst keienr die eier dazu hat.

      [
      | Versenden | Drucken ]
    0
    Von Clean Coder am Sa, 22. Dezember 2012 um 11:38 #

    Diese Argumentation finde ich nicht so gelungen.

    Keines des obrigen Beispiele sieht so aus wie Java, Python oder Ruby aus, geschweige denn, fühlt sich so an.
    Und alle drei verursachen bei Neulingen auf den ersten Blick Augenkrebs wegen der vielen $, -> und ::.
    Gut, es fehlt die Einrückung, was vermutlich durch die Forensoftware kaputtgemacht wurde.
    Aber z.B. das Encoding ist hier noch nichtmal berücksichtigt, genauso wenig wie Fehler beim Zugriff.
    Das vierte Beispiel nutzt ein Modul, das man scheinbar von CPAN laden muss.
    Module von CPAN lebendig auf den eigenen Rechner zu bekommen wird unterschätzt, besonders, wenn es sich um Bindings zu C-Bibliotheken handelt.
    Viel Spaß dabei SDLx zum Laufen zu kriegen.
    Überhaupt wird CPAN gnadenlos überschätzt. Ähnlich wie die Drölfzillionen Apps im iStore.
    Viel Redundanz, häufig miese Dokumentation - hier ist z.B. die Dokumenation der LibXML zu nennen - und viel Kram den wirklich niemand braucht; sucht ruhig mal nach "ASCII Art".

    Was Perl6 angeht, scheint Rakudo schon bald fertig zu sein, wenn man dieser Tabelle hier glauben darf:
    http://perl6.org/compilers/features
    Allerdings haben die Parrot-Leute das Problem, die Releasen-wir-mal-jede-Woche-und-schauen-wir-mal-wer-in-zehn-Jahren-noch-da-ist-Methode übernommen zu haben.
    Das ist schade, denn wenn man diesem Benchmark hier trauen darf
    http://www.rapideuphoria.com/bench.txt (relativ weit unten)
    ist Parrot schon gut schnell und einen brauchbaren Garbage Collector zu haben ist auch nicht verachtenswert.

    [
    | Versenden | Drucken ]
    • 0
      Von Clean Coder am Sa, 22. Dezember 2012 um 13:15 #

      Ach ja, nicht zu vergessen: Die Seite von Parrot ist halb verweist. Die Links zu den Sprachen führen zu 2/3 ins Leere, es scheint, dass nur noch Rakudo aktiv entwickelt ist und der Newsstream auf der rechten Seite der Hauptseite ist nicht mehr up-to-date.

      [
      | Versenden | Drucken ]
      • 0
        Von lichtkind am Sa, 22. Dezember 2012 um 20:29 #

        kann sein aber die Entwicklung geht gut vorran

        [
        | Versenden | Drucken ]
        • 0
          Von Clean Coder am Sa, 22. Dezember 2012 um 20:40 #

          Leider weiß es aber keiner...

          [
          | Versenden | Drucken ]
          • 0
            Von lichtkind am Sa, 22. Dezember 2012 um 23:40 #

            keiner ist reichlich übertrieben, zum einen die entwickler wissen ja, die fans im irc, dann gibt es taufrische infos im aktuellen Perl 6-Adventkalender, perl6.org ist auch ziemlich auf dem stand und in der nächsten foo gibts auch wieder update, dann gibts noch blogs der entwickler, besucher der konferenzen ..... weil endlich endlich kommen threads auch langsam in parrot an was ja in frankfurt thema war, vielleicht wollstest du ja auch sagen das es dich nicht wirklich interessiert :) aber klar parrot seite könnte mal überbügelt werden auch das lemma auf wikipedia

            [
            | Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten