A uz je to tu znova :-) Dalsi verze PHP, dalsi zpetne nekompatibilni zmeny.
Zajimalo by me, jestli z toho PHP nekdy vyroste a nebo verze 7 prinese treba predavani parametru jmenem a uplny prechod ke kompilovanemu kodu, namisto interpretace skriptu. Nebo ze by se v 7micce uplne zakazaly global-scope funkce a vsechno bylo nucene v ramci trid? Pripadne silna typova kontrola zni jako dobra cesta, jak zlikvidovat zpetnou kompatibilitu.
PHP6 bude určite viac kompatibilné s PHP5 ako PHP5 bola kompatibilná s PHP4 :)
Pomenované parametre asi nebudú je to podobné ako s namespaces, ktore boli pekná vec ale nikomu sa do nich nechcelo (syntax sugar). Potom ich jeden človek zbuchal za niekoľko týždnov a namespaces teda určite budu v PHP6. IMHO, keď to niekto spravý tak sa to asi prida...
PHP asi nikdy nebude typový jazyk. Jedine čo sa spravilo v tomto smere je typehinting, ktorý sa vztahuje len na objekty.
Ugh, ja myslel, ze je dost jasne, ze to nemyslim vazne (az na prvni vetu).
Navic, ja nemel na mysli pojmenovane parametry (to bych toho chtel opravdu moc ;-) ), ale predavani jmenem "call-by-name". IMHO v objektovem jazyce takova silenost ani nemuze fungovat ;-)
A pokud jde o namespaces -- mozna vam to prijde jako syntakticky cukr ... ale to je imho presne ta vec, ktera od sebe deli bastl v PHP a prehledne skripty v jinych OO jazycich (Python, Perl, Smalltalk).
Tedy, nemyslim tim uplne existenci "namespace" operatoru, ale spis extenzivni vyuziti vnorenych trid.
Ad type hinting: No, vzhledem k "beztypovosti" PHP uz by bylo lepsi zavest poradnou reflexi ("reflection") a DuckTyping (http://en.wikipedia.org/wiki/Duck_typing), ne?
Teda, chapu, ze by to asi spouste lidem komplikovalo premysleni ... ale na druhou stranu kdyz jsou ochotni povazovat ``$a = "1"`` za Integer, tak proc by neprekousli toto?
Po namespace priam túžim a som rád že tam budú. Už sa mi veľa krát stalo že som si premennu/funkciu nazval rovnako... :( Aj keď s funkciami sa v namespace zatiaľ nepočíta.
ja bych se neplasil.....stoji tam, ze se "zacalo pracovat"...coz znamena, ze prijde tak nejdriv za rok az dva a odladena bude tak za tri roky. Teprve ted nastupuje ve vetsi mire PHP5.
Tak ci tak se PHP muselo vyporadat lip s OOP pristupem, jestlize chce by opensource konkurenci Javy nebo .NETu - jinak by zustalo stat samo jako kul v plote.
Ty jsi asi nepochopil dodnes cislovani verzi rady OpenSource projektu. Kdyz se meni major verze, tak to znamena naruseni zpetne kompatibility. Takze GTK1 neni kompatibilni s GTK2, Python 1 s Python 2 a stejne tak i PHP 4 a s PHP 5. Kompatibilita je zachovana v ramci PHP 4.x stejne jako bude v ramci PHP 5.x. Je to udelano tak, ze ti nic nebrani vedle sebe provozovat GTK1 a GTK2 nebo PHP4 a PHP5, takze vyznamne vylepsit jazyk i za cenu ztraty kompatibility nevadi. Takze verze 7, jestli nekdy vznikne, opet prinese naruseni zpetne kompatibility.
Za prve ... nemyslim, ze bysme se dohodli na tykani.
Za druhe ... pokud pejsek s kocickou vari dort, tak pak kazda major verze znamena totalni nekompatibilitu. Pochybuji, ze vetsina OSS (v tomto pripade bych to mel spise zuzit na skriptovaci jazyky) mezi verzi N a N+1 zmeni napriklad zpusob predavani parametru (viz PHP4 a PHP5).
Pouzivat vedle sebe 2 major verze PHP je teoreticky krasne .. ale prakticky? Ugh, co treba cena za administraci takove silenosti? Pocitam, ze ne kazdy je ochotny psat patche na zaplacnuti zavaznych chyb, kdyz maintaineri dropnou podporu.
Ale jinak je pravda ... pokud jde o PHP, tak jsem toho spoustu nepochopil a radeji utekl jinam. Dobre mi tak :-)
1) Na diskuzních fórech se běžně tyká, smiř se s tím. Vykání působí zkostnatěle.
2) Znova, změna major čísla označuje nekompatibilitu. Je jedno jak velkou. Když už dochází k narušení zpětné kompatibility, tak je lepší to vzít od podlahy.
3) Používat dvě verze PHP krásné není, ale je to možné a je to také běžná praxe, stačí se podívat v linuxu na knihovny. U jazyků zrovna tak, když se objevil Python verze 2, tak se provozoval současně s verzí 1 a u verze 3 to bude to samé. Je to normální a není důvod za to zrovna PHP nadávat.
4) Také jsem nabyl dojmu, že ho neznáš a jen o něm pindáš :-).
5) PHP je možno vytýkat, že má tolik major verzí, ale když se podíváš na původ toho jazyka, jak vzniknul a kam se postupem času dostal, tak je jasné, že nároky a požadavky na něj kladené se postupem času mění. Aby i nadále zůstal vyhovující a u svých uživatelů oblíbený, je nutno se těmto novým požadavkům přizpůsobovat, i za cenu narušení zpětné kompatibility. Těm co se to nelíbí nic nebrání používat něco jiného, PHP má uživatelů, kterým vyhovuje, dost.
6) Jestliže je to tvůj případ a PHP se ti nelíbí a našel jsi zalíbení v něčem jiném, pak nekafrej o PHP, kterému nerozumíš. Beztak to vypadá tak, že ti tvůj oblíbený jazyk ve srovnání s PHP připadá méněcenný, a tak si to s tím PHP musíš vyřídit aspoň takto. To je ubohé.
Jeste mi napadla drobnost -- nevim, jestli vam to dochazi, ale mi nevadi major nekompatibilita mezi major verzemi. Mi vadi software, kde je major verze kazdy tyden ...
Planuje se snad nejak brzo Python3, GTK3, ... ?
Kdyby totiz nekdo u navrhu PHP premyslel (klidne az pri planovani PHP4), tak jednak nemusi byt dneska PHP6 na ceste (mohl by to byt klidne PHP4) a jednak to fakt nevypada jak pejsek-kocicka-a-dort style of development. ;-/
Ano Python 3 se plánuje a plánuje se, jak se zruší všechny deprecated záležitosti, které jsou niní zastaralé, ale podporované z důvodu zpětné kompatibility.
Ale on u návrhu PHP někdo přemýšlel. Rozhlédněte se kolem sebe a uvidíte, jak je to oblíbený jazyk. Ano, vám se tento způsob postupného vylepšování od jednoduchého jazyka po těžkotonážní nelíbí, nepoužívejte ho. Jiným to zase z nějakého důvodu vyhovuje. Kde berete tu jistotu, že kdyby po PHP3 následovalo rovnou PHP6, tak si zachová svou kontinuitu a popularitu?
Moment ... popularita je meritko, jak dobre je dana vec navrzena?
Oh, klobou dolu pred MSIE a MSWIN obecne, v tom pripade.
Kde berete tu jistotu, ze kdyz bude nasledovat PHP(N+k), tak bude stale tak popularni jako PHP(N)?
Neni ona ta popularita PHP dana prave tim, ze v nem ze zacatku skripty dokazala psat kazda opice? Neco jako ze kazda opice by zvladla zakladni (podotykam ze ZAKLADNI) ovladani MSWIN? Mozna se opicky uci rychle ... ale i je by mohlo casem omrzet, kdyz jim nekdo kazdou chvili rozkope jejich pracne vyrobena obydli.
Navic, kdyz uvazim "Web 2.0"-enabled frameworky, ktere v dobe PHP/FI nikdo ani nepredpokladal ... jak se s timhle bude srovnavat neuveritelne-dobre-navrzene(TM) PHP?
Mimochodem, kdyz uz jsme opet u navrhu PHP -- ukazte mi nejakou konzistenci v jeho navrhu. Muzeme zacit u konvenci pro pojmenovani funkci, aby to bylo jednoduche.
Trochu offtopic. Ale napadlo mně tohle: Před téměř pěti lety se začalo pracovat na nové verzi jazyka Perl.
Preju PHP hodne stesti. Perlu 6 je jeste vetsinou nepouzitelny, ale snad se dockam(e) - http://pugscode.org/images/timeline.png . U PHP to snad bude rychlejsi proces :-). Tech zmen prece jenom tolik neni. U Perlu 6, ktery nebude/neni zpetne kompatibilni je jich prece jen vice ( http://dev.perl.org/perl6/ , http://dev.perl.org/perl6/doc/synopsis.html ) a budou stat zato. Vymlouvat se na zpetnou kompatibilitu vice nez deset let by asi neproslo.
Mozna bych vyvojarum PHP6 doporucil kouknout na Parrot ( http://www.parrotcode.org/ ), tj. register-based virtual machine for dynamic languages. Ale to by se to asi taky protahlo.