Hlavní navigace

Názor k článku Kniha Začínáme programovat v Ruby on Rails od mys elf - Změny v Pythonu 3000 nemají skoro nic společného...

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

    mys elf (neregistrovaný)
    Změny v Pythonu 3000 nemají skoro nic společného s Ruby.

    1. Unicode apod. - to není silná stránka Ruby, Python se inspiroval u Javy.

    2. I/O knihovna - kosmetické změny, nekomentuju.

    3. Formátování řetězce - ano, tady se Python u Ruby inspiroval, ale jednak je tahle změna kontroverzní (všeobecně se Python vydává vstříc Javě a tohle je spíš PHP přístup) a jednak to v zásadě málo souvisí s jazykem. Ano, operátor % pro formátování končí, tak teda jo. Podle mě ale nebyl zas tak špatný. Ruby má zase perlovské regulární výrazy, což je podle mě podobná zahozeníhodná část syntaxe.

    4. Dekorátory tříd - rozšiřuje koncept Pythonu z metod na třídy. Z Ruby to nevychází.

    5. Anotace - v zásadě obšlehnutá deklarace typů z Common Lispu.

    6. Metatřídy Ruby pokud vím nemá.

    7. Slovník atributů tříd - totálně nonRuby přístup.

    8. Dynamická specifikace nadtříd - Ruby pokud vím nemá (a násobnou dědičnost teprve ne).

    9. __new__ apod. Ruby taky nemá. Nebo jo?

    10. __instancecheck__ a __subclasscheck__ jsou podle mě spíš pitomosti a Ruby to nemá.

    11. ABC - nevím,jestli to je koncept Ruby, ale mně to přijde jako vcelku zbytečnost.

    12. Pořádek ve výjimkách je chvályhodný, ale žádná revoluce se nekoná.

    13. Operátory / a // - tohle Ruby snad taky nemá.

    14. Iterátory namísto seznamů u slovníků apod. - to je asi vcelku logické zjednodušení, ale je to dvojsečná zbraň. No ale budiž. Když líně, tak líně.

    15. Pořádek v porovnávacích operátorech - ano, tady nebyla pythonovská implementace šťastná. Ale že by byla inspirace nějakým super řešením u Ruby? Myslím, že ne.

    16. Příkaz nonlocal - kontroverzní, nelíbí se mi.

    17. Zjednodušené super()? Super, ale taky asi nejde o žádný posun k Ruby.

    18. Syntaktický cukr pro množiny? Nepodstatné.

    19. Vyhození klasických tříd - ano, Python se vyvíjel, klasické třídy jsou dědictvím dětských let.

    20. Nepodstatné věci, snad kromě unicode identifikátorů, což je podle mě úlitba Javě.

    Můj závěr? Python se ve skutečnosti mění relativně málo a těžko se dá obecně říct, že směrem k Ruby. Myslím, že i Python 2.x je velmi dobrý jazyk a obecně mi přijde podstatně čitelnější a pochopitelnější pro neprogramátory a programátory zvyklé na většinu ostatních prog. jazyků (zejména kromě Smalltalku, samozřejmě). Kolem Pythonu ale existuje spousta zajímavých projektů (Psyco, PyPy...) a z pragmatického hlediska je to ve spoustě případů dobrá volba - podle mě.

    Rád se nechám ovšem poučit, pokud se v některém z těch 20 bodů mýlím.