Vlákno názorů ke zprávičce PHP mění oddělovač jmenných prostorů na zpětné lomítko
zas a znova
Re: zas a znova
podle mě by nejlepší byla tečka ale ta asi z důvodu že někdo nazačátku něco blbě navrhnul nejde použít a nebo čtyřtečka
Re: zas a znova
To by se muselo celý php přepracovat, takhle to je relativně rozumný, odstraní se nejednoznačnost.
Re: zas a znova
Re: zas a znova
Re: zas a znova
Re: zas a znova
Ale holt někdo dělá, a někdo kecá, že pane Zdeňku.
Re: zas a znova
jaktoze ale treba v Jave jsou deprecated veci (nebo obsolete ?), ktere se casem skutecne z javy vytraci a funguje to?
a popravde, kdyz sem prevadel "stredni" aplikaci z PHP4 do PHP5, take sem musel "par" radku predelat ;), takze to s tou zpetnou kompatibilitou nebude tak zhave, ze? - nikdy se ji programator uplne nevyhne. a za cenu toho, ze z PHPcka vymizi nekonzistentni chovani (neco vraci ERROR, neco Exception a neco jen WARN... nektere stringove funkce maji parametry tak a jine onak - clovek aby porad koukal do dokumentace; nektere figle, ktere se daji delat jsou skutecne nevidane! ...) by to docela i stalo.
Re: zas a znova
Přechod z PHP4 na PHP5 byl velmi jednoduchý, u mých zdrojáků konkrétně jsem nemusel změnit ani čárku, a mám jich slušný balík. V zásadě seznam změn byl přesně popsán, a byly to drobnosti.
Jinak větší aplikace se píší v něčem robustnějším, ten .NET si z toho škrtněte, MS nikdy neudržel věci beze změn déle, než pár roků (a to už se to oslavovalo), takže ani .NET bude spíše záležitost MS fandů (mluvíme o důležitých projektech, kde na něčem záleží), jak už dnes je.
Já jsem nikde nepsal, že PHP zcela zachovává zpětnou kompatibilitu, ale váží si jí přeci jenom asi tak 1000x víc, než Python a Ruby - největší zvěrstva, které dávají druhým na vědomí, že překopávat syntaxi po mnoha letech je správné. Ale dočkejte času, až uvidíte, jak příšerně časem Python a Ruby dopadne až se o něm bude mluvit jako o historii, poučíte se.
Žádný jazyk není dokonalý a v každém jsou věci, které vám dokáží pít nervy - vezměte libovolný namátkou - C, C++, Python, Ruby, Java, C#, cokoli - neexistuje dokonalý jazyk, kde by nebylo lépe něco udělat jinak. Nikdy nebude existovat žádný dokonalý jazyk, a i kdyby, stále bude plno subjektivních věcí, které se někomu budou líbit a někomu ne.
A zpětná kompatibilita a praktičnost jazyka je cennější, než nějaké zoufalé překopání, které stejně ničemu moc nepomůže (však se za čas poučíme ze špatných konců zejména Pythonu - je tu už cca 17 let, Ruby asi dopadne lépe, protože přeci jenom tu není tak dlouho a tak se to dá trochu lépe zkousnout).
Re: zas a znova
kdyz se navic podivate na to, co bude pravdepodobne zruseno v php6, tak bych rekl, ze tak 80% webu skonci - kolik lidi rado pouziva magic_quotes a register_globals, odstraneni { } pro vstup do stringu (zde vubec nevadi pouziti symbolu pro blok, ze?) nebo break $n? myslim, ze vetsina tech skvelych PHP webu na toto doplati, takze jakapak zpetna kompatibilita?
a ze neexistuje dokonaly, casem provereny jazyk? co smalltalk? :) ... a nejsem zastancem nejakych radikalnich zmen, ale podivejme na ten python. ano, ma nejake zmeny, a asi mely nejaky duvod. autori php se ale nepoucili z chyb ostatnich.
ostatne - kdyz sem videl prvne C#.NET, mel sem pocit, ze jsem v Jave s nekolika jinejma prikazama. pak sem se do toho zakoukal - java osekana o slozite a komplikovane konstrukce - jako by se microsoft podival jinam - podival se, jak se nekde neco resi "slozite" a vyresil stejny problem mnohem pohodlneji (nechci se tu ale zastavat M$).
u PHP nabyvam dojem, ze se nikdo nicim nepoucil, ze se tu a tam vezme nejaka featura z nejakeho jazyka a vznikne tak celkove jakasi nekonzistentni smeska bez jakehokoliv radu...
Re: zas a znova
Jinak ohledně magic_quotes a register globals se jistě dotkne řady lidí, ale ono tyhle věci jdou zajistit i bez změny zdrojáků. PHP na to prostředky má.
Ale znovu - nikde jsem netvrdil, že php striktně zachovává zpětnou kompatibilitu. Nicméně v uvažování vývojářů určitá brzda proti rozorávání kompatibility je - a je to dosti znát. Na rozdíl od Pythonu a Ruby, kde jsou autoři již dlouho asi pod vlivem lysohlávek, a kompatibilita se bere jen jako nemoderní přežitek. Jinak php6 tu stále ještě není a tím pádem jakékoli konečné soudy o tom co bude v php6 jsou značně předčasné. Například tu stále ještě nemáme ani tu PHP 5.3 s těmi namespacy, ta stále není v produkční verzi a PHP 6 je velmi velmi daleko. Do té doby se toho ještě tolik změní, že nemá smysl to teď hodnotit.
Dokonalý jazyk neexistuje, neexistoval a nikdy existoval nebude. Python nemá důvod k žádným radikálním změnám, tedy kromě toho, že pan Rossum, autor, se nudí, přeskočilo mu, a začal nenávidět Céčko a LISP a vše, co se mu zdálo, že v Pythonu tyto jazyky připomíná, začal tvrdě a bez důvodu vyhazovat z Pythonu. Naopak správná je cesta like Perl, koneckonců se autor Pythonu a autor Perlu sčuchli dostatečně. To co tu píšu není ironie, toto je jen naostro řečeno to, co pan Rossum, autor Pythonu, zcela veřejně říká a netají se s tím. Také tvrdí, že jazyk Python by se měl co nejvíce přiblížit lidskému jazyku (v zásadě trochu kopíruje Cobol, je vidět, že tento pokus nezažil) a výsledkem je třeba mimo jiné naprosto nejdebilnější syntaxe ternárního operátoru v Pythonu ze všech jazyků, se kterými jsem měl tu čest se setkat.
V komunitě Pythonu jsem byl velmi aktivní, a skončil jsem s Pythonem zhruba před měsícem - to když jsem odřezal poslední drápky spojující mě s Pythonem. Důvodem opuštění Pythonu je totální kašlání na investice vložené do vytvořených zdrojových kódů Pythonu - Python nectí ani zpětnou kompatibilitu, ani nevytvořil nástroj, který spolehlivě převede zdrojové kódy ze staré verze Pythonu do nové.
Já když prvně viděl C#, byl jsem nadšený. To nadšení ale rychle opadlo s dalšími verzemi .NETu. Původní jednoduchost a celkem domyšlenost rychle vzala za své a dnes je z toho takové jiné PHP (abych se vyjádřil Vašimi obraty) - jako když pejsek s kočičkou vařili dort a ze všeho dobrého tam dali kousek. Je to dnes už značně přeplácané, a je vidět, že MS tam lepil tu nesourodé to, tu nesourodé ono.
PHP podle mého je plus mínus v konečné verzi - ještě se dočkáme namespace, unicode, a pak už to bude věcí spíše knihoven. V PHP laškuji od verze 3 a zatím mi přišly změny víceméně k lepšími. Jenom se neměl inspirovat Javou v OOP a šlo by to.
Re: zas a znova
Re: zas a znova
Re: zas a znova
I vy jeden srandisto :-).
„Jinak větší aplikace se píší v něčem robustnějším, ten .NET si z toho škrtněte, MS nikdy neudržel věci beze změn déle, než pár roků (a to už se to oslavovalo), takže ani .NET bude spíše záležitost MS fandů (mluvíme o důležitých projektech, kde na něčem záleží), jak už dnes je.“
Totální neznalost .NETu z toho příspěvku přímo čiší, ale což i tací lidé bez znalostí občas kříčí do světa. Snad časem i Vy zjistíte, že ne vše od MS je zlo a špatné. Ale to je tradiční házení hrachu na zeď. Někteří lidé jsou prostě předem zaujatí… Nezbývá než Vám opravdu popřát brzké procitnutí.
Re: zas a znova
No by ses divil, zrovna delame na velkem projektu, kdy se integruje .NET se SAP app. serverem (abapovym, SAP javu pomalinku opousti). No a SAP, to jsou hoooodne velke projekty ;-)
Re: zas a znova
Kvůli jakým sviňárnám? PHP udělá úpravy v developer větvi, namespace nikdy v PHP nebyly dány do produkčních verzí, a vyskytovaly se pouze v unstable verzích PHP určených pro vývoj. Jakékoli změny v syntaxi namespace jsou tedy zcela v pořádku. Žádný produkční kód pro PHP, žádná stabilní verze PHP nikdy namespace neměla, a toto bude novinka, o které se prostě vedou diskuse, jak bude vypadat konečná situace v syntaxi namespace bez jakékoli změny pro stávající produkční verze.
Jinak Java také vznikla původně jako jazyk pro domácí spotřebiče a je to na ní dodnes dosti znát.
Re: zas a znova
nevidim duvod, proc neudelat PHP6... nebo 7? :) vyhazet z toho blbosti a udelat to poradne... dat pak cas lidem na to, aby si prepsali sve paskvily a... jelo by se dal. takhle to PHPcko skutecne nema moc budoucnost.
Re: zas a znova
A je úplně buřtík, co se jinde používá pro escapování, protože každý jazyk má věci jinak a je to jeho věc.
Jinak Java bobtná a bobtná - srovnejte velikosti JRE jednotlivých verzí. A bobtná též nekompatibilně, není tam 100%ní zpětná kompatibilita.
Vy nevidíte důvod, proč vyházet "blbosti"? Já ano - a tou je zpětná kompatibilita a zachování obrovské sumy práce, kterou programátoři a vývojáři do svých kódů již vložili.
Jinak vsuvka: Každý, kdo hodlá radikálně měnit syntaxi mnoho let existující jazyka a "udělat ho pořádně" o sobě prozrazuje, že nikdy nenapsal, nebo neudržoval větší dílo po delší čas, nejlépe s neustálými opravami a úpravami. Ten by totiž pochopil, proč všechny seriózní jazyky, na kterých jedou kritické věci tohoto světa, zachovávavají velmi přísně zpětnou kompatiblitu - bohužel jsou to C++, C, Cobol, Java, Ada - protože tyto dovolují běh i velmi starých, a tím i velmi dobře časem i praxí odladěných programů. Ostatní jazyky se jenom kasají, ale nic kritického na nich neběží, protože každý programovací jazyk, který se neustále překopává od základu není seriózní jazyk, ale hračka na hraní, možná na krátkodobé malé programy, či skripty.
Re: zas a znova
... s kompatibilitou s vami souhlasim. ale C, C++, Cobol atd jsou od zacatku navrzene a vrhnute nejakym smerem. PHPcko mi pride jako smeska vseljakych pristupu, zrovna jak to bylo v dobe vzniku te ci one featury v mode. PHP mi pride (naprosto) nekonzistentni, coz se o Vami zminovanych jazycich rict neda.
Re: zas a znova
Hlavně C, C++, Cobol byly vržené směrem do enterprise praxe, kde naprosto nepřicházelo vůbec v úvahu, že by kdo kdy přišel s takovou ptákovinou, jak znekompatibilnit všechno, co bylo kdy v jazyce napsáno a měnit syntaxi jazyka v normovaném tvaru. Všimněte si, že C, C++, Cobol, Ada jsou jazyky, které vznikly a byly zaměřené na praxi. Python, Ruby vznikly jako hračky nějakého člověka, a evidentně autoři se snaží, aby moc prakticky použitelné pro větší a dražší projekty nebyly.
PHP nikdy nevnikl jako jazyk, to je jeho mínus. Vznikl jako sada pomocných skriptů v Perlu, a tudíž se nějaký promyšlený počáteční návrh nedá čekat. Ostatně moje odpozorovaná teorie: "Každý jazyk, který se inspiruje Perlem, nebo Javou skončí jako prasárna" platí u všeho. PHP je nekonzistentní, ale jinak velmi praktický jazyk - a proto se používá. A proto ho používám i já.
Existuje mnoho čistých jazyků, které bohužel jsou ale tak nepraktické, že v nich pokud možno se píše prakticky čím dál méně - LISP, Mercury, Haskell, Python, ...
A pak jsou jazyky možná ne příliš čisté, ale prostě jsou praktické a pro praxi mnohem lepší, než ty čisté - C, C++, PHP, Java, ...
No a co, že je PHP nekonzistentní. Prostě je už takové. Za to je pro web nesmírně praktické - je všudypřítomné, hostingy jsou levné, snadno rozchoditelné, a nakonec je to i jazyk orientovaný na web, což má také jisté výhody (i nevýhody samozřejmě).
Až najdete na tomhle světě (nejen v IT) něco dokonalého a stoprocentního, dejte mi vědět. Pak se můžeme bavit dál o dokonalém programovacím jazyce.
Re: zas a znova
Re: zas a znova
To, co tu píšete, je naprostá blbost. PHP nenahrazuje Javu a ani naopak. Mohou se jen v některých místech využití krýt. Oba jazyky mají v některých oblastech unikátní využití. Z toho logicky vyplývá, že kvůli tomu, že se mi něco v PHP nelíbí, přejdu na Javu. Ano, někdy to jde, ale v některých oblastech se nenahradí. Já PHP používám jako nutný základ pro web aplikaci a javu tam, kde je třeba využít realtime přístupu (tj. na webu prakticky nikde). PHP má obrovskou výhodu v tom, že na stránky vytvořené v něm, se dostanete prakticky z jakéhokoliv prohlížeče. Z javy ne. A ono dělat stránky v Javě je naprostá šílenost, tak možná s pomocí javascriptu, ale tam je php mnohem lepší. Zase na druhou stranu si neumím moc dobře představit aplikaci v php pro desktop. Dnes se ale rozdíly stírají a asi bude možné všechno :-D. Já mám PHP rád právě kvůli těm sviňárnám, co umožňuje. ;) A eval() se doporučuji zdaleka vyhnout. ;) Ale možná tu jen plácám, tak mě berte s rezervou.
PS – ano, Javu i PHP znám „osobně“ :-D
Re: zas a znova
Malá chybyčka se vloudila, správně je:
Z toho logicky vyplývá, že kvůli tomu, že se mi něco v PHP nelíbí, automaticky nepřejdu na Javu. Java to prostě nemusí umět a naopak.
Re: zas a znova
PHP má obrovskou výhodu v tom, že na stránky vytvořené v něm, se dostanete prakticky z jakéhokoliv prohlížeče. Z javy ne.
Co to je nesmysl?
Re: zas a znova
Definici pro nesmysl neznám, k tomu použijte třebas Otův slovník naučný. Ale pokud se to týká mé věty, tak vysvětlení je zcela nasnadě. Řekněte mi, jak v prohlížeči na třeba nějakém hloupém telefonu rozjedu java aplikaci? Nanejvýše javascript a budete rád. Samozřejmě mám na mysli plnohodnotnou javu a ne j2me, či náhražkami typu Opera Mini. ;) Jiná situace by byla, pokud byste použil javu jako serverový jazyk, ale vy jste někde takové využití viděl v praxi? Tak možná u Sunu :-D. Já zatím ne a kdyby, nepřišlo by mi to 2× praktické. PHP je naopak perfektní věc, dává mi široké možnosti a je prostě supr. Ne, nechci se tu s vámi přít. Java je taky výborný jazyk, ale na web bych jí nedával, pokud nedělám aplikace typu mapy atd. Pro mě je důležitá přístupnost odkudkoliv. ;)
Re: zas a znova
Z predpredrečníkovho príspevku zrejme vypadlo „za“ (Co to je ZA nesmysl?).
Pan Šedivý, mám pocit, že máte trochu nepresné informácie o tom, ako je to s Javou.
Java ma dve použitia: na strane klienta v podobe appletov (dúfam, že už vymrú) a WebStart aplikácií. V týchto prípadoch sa u klienta predpokladá inštalácia JRE.
Keby ste vyvíjali GUI aplikácie v PHP, u klienta by ste tiež museli mať nainštalované PHP + knižnice nejakého widget toolkitu – čiže ste na tom rovnako ako v Jave.
Dominantné použitie Javy je v podobe riešení na serveri, kde existuje miliarda frameworkov a knižníc. Vývoj prebieha presne ako v prípade PHP, akurát používate iný jazyk. U klienta nie je potrebná žiadna Java, veď načo? Prehliadač dostáva predžuté HTML.
Aplikácie typu „mapy“ bežia na AJAXe, teda JavaScripte, ktorý beží v klientovom prehliadači a z hľadiska jazyka má s Javou spoločné asi toľko ako zem a zemiak, teda prefix v názve.
Java má problém v prístupnosti v tom zmysle, že kým PHP skripty nasadíte na ktorýkoľvek hosting (stačí totiž jeden Apache a jedna knižnica) pre Javu potrebujete softvér aplikačného serveru. V praktických podmienkach je takmer nemožné zabezpečiť zdieľanie aplikačného servera pre viacerých používateľov tak ako v PHP.
Ak sa však prekoná táto technologická bariéra (čo je zrejme možné len v prípade vlastného servera), vývoj a najmä možnosti v Jave sú nedozierne. Nie nadarmo si veľké firmy primárne vyberajú na veľké systémy Javu (alebo .NET).