Vlákno názorů k článku Perl nebo Python? od anonym - - vlastnost "lepe citelny" nie je vlastnost programovacieho...

  • Článek je starý, nové názory již nelze přidávat.
  • 31. 10. 2005 9:54

    anonymní
    - vlastnost "lepe citelny" nie je vlastnost programovacieho jazyka, ale sposobu programovania. to, ze niektory jazyk nema "krutene zatvorky" a spolieha sa na mieru indentacie je viac chaoticke (pamatate sa na problemy Makefile?)

    - vyvojove prostredie.
    autor zrejme vychadza s predpokladu, ze vyvojove prostredie "musi" byt specialne napisane pre ten-ktory jazyk. asi nepozna emacs (a v poslednej dobe ma slusnu podporu uz aj vim)

    - komentare
    schopnost komentovat/odkomentovat ma mat vyvojove prostredie.
    osobne preferujem komentovat kazdy riadok zvlast ... kvoli programom typu grep.

    - objektove programovanie
    ano, objektove programovanie ma svoje pre a proti. ale tvrdit, ze perl nema objektove moznosti je uplne zcestna (skor mi to pripada, ako keby volanie cez bodku bolo objektove a volanie inak uz objektove nebolo ... aky je rozdiel medzi "a.fun" a "a->fun" ?

    - regexp
    ani v perli nie je nutne si pamatat poradie (v zmysle $<cislo>)
    my ($a, $b, $c) = $line =~ m/^ (\w+) \W* (\w+) \W* (\w+)/x;

    viac moznosti v "man perlre" :-)

    - switch/case
    to je jedna z hlavny vycitiek voci perlu. dovod bol jasny ... switch/case je neprehladna programatorska struktura. jej samotne vyhodnocovanie je serializovane (optimalizacia na nespravnom mieste?). odporucany sposob v perli:
    a) postupnost if/next
    b) asociativne pole (key = mozna hodnota, value = obsluzny kod).

    - perl ako velke jadro?
    hmm, vskutku? co je to velke jadro a male jadro?

    sam seba nehodnotim za znaleho programatora v perli, pracujem prevazne len v nom iba 10 rokov.
  • 31. 10. 2005 10:32

    Richard Malina (neregistrovaný)
    Kazdy takovyhle clanek je subjektivni a daji s predpokladat rozporuplne reakce :-)
    Nicmene neni zatracovan ani jeden z jazyku.
    Jedna se o me osobni pocity a zkusenosti z praktickeho pouzivani.....
  • 31. 10. 2005 11:08

    anonymní
    ad switch vs perl6 doplnim:
    http://dev.perl.org/perl6/rfc/22.html
    
    ad clanek a reference na funkce.
    Doplnim priklad v perlu:
    sub nase_fce {
            my $param = shift;
            return $param + 1;
    }
    print nase_fce(5);
    my $pointer_na_funkci = \&nase_fce;
    
    print &$pointer_na_funkci(5);
    # Nebo ...
    # print &{$pointer_na_funkci}(5);
    # print $pointer_na_funkci->(5);
    
    ad clanek a priklad v perlu.
    Vas priklad v perlu bych trosku upravil:
    ...
    while (my $line = <infile>)) { 
            chomp $line; 
            next if $line =~ /^\s*$/;
    ...
    
  • 31. 10. 2005 11:34

    mj (neregistrovaný)
    switch in Synopses
    sub my_grep($selector, *@list) {
         given $selector {
             when Rule  { ... }
             when Code  { ... }
             when Hash  { ... }
             # etc.
        }
    }
    
    given want {
        when Scalar {...}           # called in scalar context
        when List   {...}           # called in list context
        when Lvalue {...}           # expected to return an lvalue
        when 2      {...}           # expected to return two values
        # ...
    }
    
    # The want function returns an object that contains information about the context in which the current block, closure, or subroutine was called.