Vlákno názorů k článku
Přehled a vývoj PHP frameworků
čekání na Nettota
Doporučuji přestat čekat a opustit potápějící se loď PHP. Už je nejvyšší čas. Z PHP se stal jazyk který nesměřuje nikam a má základní koncepční nedostatky. Příval lam do vysokých pater vývoje to jen zhoršuje. Jakmile člověk začne trochu víc drtit OOP, naráží na jeden bug za druhým. Zdálo se, že se to zlepší s příchodem Zend frameworku, ale oba vývojové týmy spolu nekomunikují a musí vznikat obezličky, které v dalších verzích přestávají fungovat, anebo mění své chování. PHP 6 je jen dovršení katastrofy!
Uvědomte si, že zatímco vy čekáte na Nette, tisíce akčních programátorů spouštějí své první projekty v RoR nebo Djangu! Až se začnete učit Nette, oni budou produktivně chrlit pokročilé projekty. Až si s příchodem PHP 6 uvědomíte svou chybu, bude pozdě na nějaké dohánění.
Re: čekání na Nettota
http://latrine.dgx.cz/ruby-on-rails-dekuji-nechci
Re: čekání na Nettota
Díky, otevřel jsi mi oči!
Re: čekání na Nettota
Re: čekání na Nettota
Re: čekání na Nettota
Re: čekání na Nettota
"Klad? Jako ze muzete prerazit metodu existujici tridy misto abyste musel tu tridu rozsirit? Pokud naprosto evidentni poruseni zasady zapouzdreni povazujete za vyssi objektovost, tak prosim"
Možná není "vyšší", ale spíš "širší", totiž úplnější. Každý seriózně použitelný reflexivní systém nějak "zapouzdření" porušuje, a plně objektový programovací systém tedy již z definice nemůže nikdy poskytnout úplné "zapouzdření" všeho, protože jinak by nemohl měnit sám sebe (přidat metodu do systému by musela nějaká "vyšší moc", ale to popírá požadavek, že systém tvoří pouze objekty, co si navzájem předávají zprávy).
K našemu velkému štěstí "zapouzdření" není (na rozdíl od skrývání informace, extrémně pozdní vazby a předávání zpráv) podmínkou pro objektové programování. Máte mozek vymytý příliš velkým množstvím Kávy a Cé plusrovnáse jedna, které ve světě programovacích paradigmat mají vlastní píseček, jenž bych označil výrazem "jazyky s omezenou podporou objektového návrhu", určitě ne výrazem "objektové jazyky". Doporučuji terapii studiem díla Alana Kaye na Večerní škole Smalltalku.
Re: čekání na Nettota
Re: čekání na Nettota
Osobně bych Smalltalk, Lisp a Ruby přirovnal ke svobodné společnosti. Jistě, můžete kdykoli vzít sekeru a jít sousedovi useknout hlavu, a nikdo Vám v tom nezabrání. Proč tedy nejsou sekery zakázané a mezi lidmi nejsou mříže, aby si neublížili? Vždyť žít v tak nebezpečné společnosti musí být strašlivé riziko! Radši se Ruby vyhněte ještě větším obloukem...
Re: čekání na Nettota
Jistě, můžete kdykoli vzít sekeru a jít sousedovi useknout hlavu, a nikdo Vám v tom nezabrání. Proč tedy nejsou sekery zakázané a mezi lidmi nejsou mříže, aby si neublížili?Protoze sekyra je veskrze prakticky nastroj potrebny a pouzivany k mnoha ruznym cinnostem. Monkeypatching, na druhe strane, je princip, bez ktereho se lze bez problemu obejit.
Re: čekání na Nettota
Aneb Můj jazyk je objektovější než tvůj
Tomu říkám hádka:
"Můj jazyk je objektovější než tvůj."
"Ne, můj je více objektový. Můj totiž umí tohle, tohle, tohle a tohle. A ten tvůj neumím tamto a tohleto."
"Ale to takhle vůbec nemůžeš říkat. Na tom tvém je zase špatné, že tohle, tohle a tohle. A to ten můj to dělá mnohem líp."
...
Nezdá se vám to trochu střelené? :)
Nezlobte se na mě, ale tohleto hledání "svatého grálu" jazyků s podporou OOP je úplně stejné jako hledání toho nejlepšího jazyka vůbec. Nikdo není a nikdo nemůže být vítězem. Každý jazyk má svá pro a proti, každý byl vyvinut za jiným účelem, každý si prošel jiným vývojem.
Je dobré upozornit na chyby. Říct, že tohle se mi na tom nelíbí. Každý má svou hlavu, a tudíž co člověk to názor. A tudíž každý může s názorem jiného souhlasit, či nesouhlasit, může jiný názor podpořit, nebo zavrhnout. A jelikož jsme každý jiný, tak si každý jazyk (názor, cokoli...) najde své zastánce i odpůrce. Ale proto je tu těch jazyků (názorů, čehokoli...) tolik, ne? Pokud nejde o exaktní obor, kdo může rozhodnout, co je správné a co špatné? Kdo?
Tyto žabo-myší války o hledání té jedině správné "pravdy", mě vždy pobaví. Jen tak dál hoši :)
P.S. Reagoval jsem na tebe, ale platí to všeobecně pro všechny diskutující.
P.P.S. Tak do mě a nešetřte mě! Já si to zasloužím! :)
Re: Aneb Můj jazyk je objektovější než tvůj
Zkrátka pan Grudl má silně omezený a zkreslený pohled získaný z jazyků, které mají jen omezený objektově orientovaný model (Java, C++, PHP, ...). Prostě kecá o něčem, čemu nerozumí a plácá díky tomu nesmysly. Nejdřív by si měl něco přečíst třeba právě o Smalltalku, než takovou blbost napíše.
Re: Aneb Můj jazyk je objektovější než tvůj
Taky jsem nepsal nic o tom, je-li dgxův názor správný či špatný. Podle mě se tady spíše opravdu jedná o válku, který že ten jazyk je opravdu nejobjektovější na světě. Což dokazuješ i ty.
"Všechny jazyky s kompletním objektovým modelem (Smalltalk, Lisp, ...) to umožňují, protože je to k plně objektovému modelu zkrátka a jednoduše potřeba, je to bráno jako kladná vlastnost, nikoliv zápor."
"..., které mají jen omezený objektově orientovaný model (Java, C++, PHP, ...)."
Mimochodem, co že je to ten kompletní (plný) a omezený objektový model? Opravdu by mě zajímalo, jak jsou tyto pojmy podle vás definovány.
A ještě něco, když se tu všichni baví o té zapouzdřenosti. To jsem opravdu žil v blahé nevědomosti, oč vlastně jde? To je opravdu zapouzdřeností míněno, že, jak metodu definuji, již ji nemohu změnit? To opravdu neznamená to, že každý objekt odkrývá jen svůj interface (tím nemyslím to javovské klíčové slovo, ale veřejné metody (funkce, zprávy, čudlíky na černé krabičce, říkejte si tomu, jak chcete) sloužící ke komunikaci s objektem) a nic víc?
Re: Aneb Můj jazyk je objektovější než tvůj
Myslím ale, že tenhle článek není o tom, abychom se tu hádali o Ruby on Rails.
Re: Aneb Můj jazyk je objektovější než tvůj
protože je to k plně objektovému modelu zkrátka a jednoduše potřebaProblem je vase definice slova "potreba". V praxi to neni potreba vubec, resp. neprinasi to vice pozitiv nez potencialnich negativ. Potreba je to jen proto, aby mysl objektovych ultra-puristu zajasala. A to je pro me trochu malo.
Re: Aneb Můj jazyk je objektovější než tvůj
Re: Aneb Můj jazyk je objektovější než tvůj
Re: Aneb Můj jazyk je objektovější než tvůj
Navic "schema MVC" je dost relativni pojem. Jsou samozrejme pojeti, ktera jsou uplne mimo, ale variant rozkresleni vztahu MVC je urcite vice. (mimochodem, ktere schema mate konkretne na mysli?)

