Názor ke článku RX: parser v Ruby od Polymorpheus - No on totiz Ruby je IMHO mnohem bohatsi,...

  • 3. 12. 2006 22:18

    Polymorpheus (neregistrovaný)

    No on totiz Ruby je IMHO mnohem bohatsi, komplexnejsi a hlavne konzistentnejsi jazyk nez Python (Ruby - vsechno je objekt, pracuje se s metodami modulu/trid/ob­jektu; code blocks/Procs umoznuji vedle expressions i statements; Python - bastl po vzoru jak funkcionalniho, tak objektoveho programovani).

    Doporucuji toto srovnani, viz nize. Fakt zajimave, nebot z nej jasne vyplyva, jak si oba jazyky (+ PHP a Perl) stoji co do citelnosti (akorat na zacatku toho Rubu kodu by, myslim, slo nejak pouzit metodu shuffle, ted je to dost neelegantni).

    <a href="http://e-scribe.com/new­s/193">Let’s play a game: BASIC vs. Ruby vs. Python vs. PHP</a>

    Za srovnani stoji uplne nejhlavneji tato cast kodu:
    [Ruby]
    <pre>
    puts numbers.join(" ")
    </pre>

    vs

    [Python]
    <pre>
    print " ".join(map(str, numbers))
    </pre>

    Nebo i tahle
    [Ruby]
    <pre>
    numbers[0...flip­count] = numbers[0...flip­count].reverse

    </pre>

    vs

    [Python]
    <pre>
    numbers[:flipcount] = reversed(number­s[:flipcount])
    </pre>


    @ oznacuje promennou instance, a @@ promennou tridy. I v tomto je videt jasny rozdil mezi obema jazyky co do citelnosti.

    S Perlem uz toho Ruby nema moc spolecneho, snad krome "zabudovanych" regularnich vyrazu (ale lze i instancovat patricne tridy, jako v Jave)

    IMHO neni nahodou, ze treba Javistum se doporucuje spis Ruby nez Python (viz treba Beyond Java, From Java to Ruby, vzpominam-li si dobre na nazvy techto kniznich titulu).

    No a regularni vyrazy by snad mel zvladat kazdy programator, ne?