Pozor! Zase neblbněte!

editovat

Tato diskuse trpí tím, že se někdo pořád snaží PHP napasovat a přesně popsat zvyklostmi Javy, nebo C++. Pokud se mu to nedaří, napíše třeba „Článek je subjektivní, obsahuje hodně relativismů“.

U PHP je velmi těžké od sebe odlišit jazyk, interpretr, technologie. Rozlišení jazyka a knihovany je také u málokterého jazyka ostré. Zkuste si třeba představit C++ – je třeba operátor new součást jazyka? Je, ale bez knihovny by operátor nefungoval. Každý jazyk má základní runtime knihovnu, která je někdy tak těsně přišitá k jazyka, že dělící čáru budete těžko hledat.

Jazyk C++ není definován kompilátorem, ale normou. Jazyk PHP není definován normou, ale právě jeho interpreterem. Rozlišování tedy mezi interpretrem a jazykem je v případě PHP méně oprávněné, než u C++. Mimochodem, kolik znáte 100%ně kompatibilních interpreterů PHP? Je totiž právě jeden.

Budu reagovat: Kde je řečeno, že je PHP velmi oblíbené? – to jsem moc nepochopil. PHP je tak nechutně rozšířené, používá se naprosto všude, a v zásadě je to široce volená technologie pro dynamické stránky, což zjistíte jakoukoli statistikou, nebo jenom malým vlastním průzkumem. Pokud požadujete ovšem vědeckou práci na 300 stran, která to dokazuje s rozpočtem 100 miliard dolarů, a potvrzením EU, tak to asi nedostanete. Říci, že PHP není oblíbené, to jste asi přišel z jiné galaxie a ještě jste pozemské poměry moc nepoznal.

Jak víte, proč se stalo oblíbeným? – Opět viz odkaz na věděckou studii v předchozím odstavci.

Co je "částečná svoboda"? – Tak mě napadlo, nejste právník?

Jednoduchost použití PHP je diskutabilní – pán chodí do extrémů. Zkuste si posadit žirafu před klávesnici a co nezvládnem, prohlašme za složité. Posaďte začátečníka před Windows , dejte mu můj [1] Complex Web Server, kterým i začátečník nainstaluje celé prostředí PHP včetně Apache a MySQL do necelé minuty bez problémů. A pak mu dejte jednoduchou dobrou příručku o PHP a bude tvořit mnohem rychleji, než když se pokusí použít třeba Javu, nebo .NET, kteréžto budou pro začátečníka mnohonásobně složitější. Tím je dokázáno, že PHP je jednoduché – nebo chcete-li právnicky přesně – jednodušší pro začátečníka, než jiné technologie.

S čím souhlasím je přirovnat operátory == a === k C. To je blbost, Céčko funguje jinak.

Ohledně indexů pole – přímá pole obsahují jen int, nebo string. Ovšem emulované pole může jako index obsahovat cokoli a v syntaxi ho nerozlišíte. Ale souhlasím, že by se mělo mluvit jen o přímým polích.

Miloslav Ponkrác

Přidány sekce Významné projekty... a Výhody a nevýhody PHP.

editovat

U první sekce jako kritérium významnosti navrhuji brát to, zda má příslušná technologie článek na Wikipedii (kterékoliv jazykové verzi) a na tento článek rovnou odkázat.

Je mi jasné, že druhá sekce se mnoha příznivcům PHP nebude líbit a budou mít tendenci nevýhody PHP bagatelizovat, zapírat nebo nebudou chápat, proč je to nevýhoda. Proto jsem tam rovnou dal NPOV a vybízím k diskusi výhod a nevýhod zde, dřive než budete editovat.

Výhoda a nevýhoda jsou relativní pojmy. Proto navrhuji jako "baseline" pro srovnání použít ostatní technologie použitelné na podobné účely jako PHP, tedy: ASP.NET, ColdFusion, Java EE, Perl, Python, Ruby (on Rails). Naopak neuvažoval bych kombinace typu C + CGI (příliš složité programování), Apache SSI (příliš omezená funkčnost), Caché Server Pages (příliš nesmyslná technologie), XML + XSLT + JavaScript (principiálně příliš jinde), ASP (zastaralé) a podobně.

147.229.220.237 28. 7. 2008, 02:17 (UTC)

Článek je subjektivní, chybí zdroje, obsahuje hodně relativismů

editovat
  "PHP se stalo velmi oblíbeným především díky jednoduchosti použití a tomu, že kombinuje vlastnosti více programovacích jazyků a nechává tak vývojáři částečnou svobodu v syntaxi."
  • Kde je řečeno, že je PHP velmi oblíbené?
  • Jak víte, proč se stalo oblíbeným?
  • Co je "částečná svoboda"? Assembler také nechává částečnou svobodu.
  • Jednoduchost použití PHP je diskutabilní... zkuste postavit začátečníka před instalaci PHP na Apache.

... a takto bych mohl pokračovat u celého článku.

Kromě toho, PHP není jen jazyk, ale celá technologie:

  • jazyk
  • interpret
  • knihovny

Podobně jako C++ je jazyk, GCC je kompilátor, STL je standardní C++ knihovna.

"Ve verzi PHP 5 se výrazně zlepšila podpora" - to patří spíše do sekce historie...

   * Díky tomu má PHP dva typy porovnání, '==' stejný jako v C, a '===' který platí jen když jsou oba dva výrazy stejného typu.

- To je fakt svělé. Takže == funguje stejně jako v C? Nesmysl. A === platí, když jsou oba výrazy stejného typu? Takže hodnota se může lišit? + chybí zdroj.

   * Pole jsou heterogenní, mohou tedy obsahovat jakékoli údaje, stejně tak jako jejich indexy.

- Nesmysl. Indexy mohou obsahovat pouze celá čísla nebo stringy. Nemohou obsahovat reference objektů, pole, handly systémových zdrojů...

   * Řetězce lze uzavírat jak do uvozovek (obsah je parsován), tak do apostrofů (obsah není parsován).

- Opět nesmysl. Obsah je parsován v každém případě. Zřejmě chcete říct, že v obsahu se nenahrazují proměnné a některé escape sekvence.



Podotýkám, že jsem letitý PHP vývojář (od již od raných verzí PHP 3) a PHP fandím, ale tenhle článek je velmi podprůměrné kvality.

Pokud víte jak a máte zájem, určitě uvítáme vaši pomoc s článkem. Editujte s odvahou. --Adam Zivner 11:57, 6. 6. 2008 (UTC)

Drobné nepřesnosti

editovat

(Než do toho budu zasahovat, ověřím si to.) "jeho skripty se začleňují přímo do struktury jazyka HTML" - ano, souhlasím. Ale také se začleňovaly do WML. Může být php script, který tvoří/mění obázek(počítadlo) "programovací jazyk" - nechci flame, ale osobně myslím, že je scriptovací(, i když to nic neznamená). --Danny 19:14, 28. 6. 2006 (UTC)

PHP script rozhodně nemůže být programovací jazyk :-). PHP zvládá podstatně víc než jen generování HTML stránek, takže si myslím, že jde o programovací jazyk. --Hugo 19:30, 28. 6. 2006 (UTC)
PHP script nie je programovací jazyk, lebo to je len script, script, teda časť programového kódu nemôže byť jazykom, PHP, ako technológia na programovanie, to áno, ale v súčasnosti sa oficiálne PHP ako jazyk zaraďuje do množiny scriptovacích jazykov, aj keď zvláda viac, než nlen scriptovací jazyk.--Wikipedista:Anonym
PHP rozhodne je programovaci jazyk :). Polemizovat by se ovsem dalo, zda-li je to vzdy jazyk interpretovany (ted narazim na pre-kompilaci Zend Optimizerem). Sporne je spise ale cast "jeho skripty se začleňují přímo do struktury jazyka HTML a jsou prováděny na straně serveru." - skripty v PHP preci rozhodne nemusi byt zacleneny do HTML. Mimo to, ze mohou byt zacleneny do nejakeho jineho jazyka (XHTML, XML, WML atd.), mohou byt take samostatne, bez jakychkoliv HTML znacek, a v tomto pripade vubec nemusi byt provadeny na strane serveru (spousti se interpretem php primo na lokalnim stroji). Tuto cast clanku by chtelo nejak prepsat, aby nereflektovala pouze jedno z mnoha vyuziti PHP a neprezentovala ho navic jako jedine... --Kronn 22:14, 28. 6. 2006 (UTC)
Trochu jsem to upravil, snad už to je přesnější.
PHP sice jde zkompilovat, ale tato možnost se využívá velmi málo a výsledky nejsou nijak ohromující. Takže si myslím, že tvrzení, že jde o interpretovaný jazyk je v pořádku. --Hugo 22:33, 28. 6. 2006 (UTC)
Tak jsem to ted zkusil trosku vylepsit i ja :-) --Kronn 22:42, 28. 6. 2006 (UTC).
Díval jsem se na en, a tam je natvrdo interpretovaný. Kompilace php je možná, ale ty výsledky jsou žalostné, takže bych to tu snad ani nezmiňoval. --Hugo 22:47, 28. 6. 2006 (UTC)
Kde jste nasel na en ze PHP je interpretovany jazyk? Ja bych spise rekl, ze to tam takto zmineno neni... Ono je PHP spise nez interpretovanym jazykem jazykem skriptovacim - a pozor, to nejsou synonyma, skriptovaci take neni podmnozinou interpretovaneho, skriptovaci prolina interpretovane a kompilovane. Takze spravne je, ze PHP je skriptovaci jazyk. Souhlasite?
To bude asi nejlepší řešení, protože tato diskuze na wiki nepatří.
Zpřesnil jsem některé pojmy. Změnil jsem větu o netypovosti PHP, jelikož to nebyla pravda. PHP je dynamicky typový jazyk. Rozlišil pojem globální a superglobální proměnné. Uvedl jsem rozdíl mezi textem uvedený v apostrofech a v uvozovkách. Polidštil jsem proměnné, foo a bar jsou přece jen na wiki nevhodné. --Gee 10:56, 04. 10. 2006 (UTC).

Sekce nevýhody je poněkud poněkud

editovat

Nemohu si pomoci, ale článek na wikipedii by měl být především informativní. A neopakovat se. Ač mi je PHP ukradené, nemohu se zbavit pocitu značného zasednutí na PHP. ZKusím komentovat:

„Až do verze PHP 4 nepříliš povedená podpora objektově orientovaného programování s mnoha záludnostmi“ Verze PHP 5 už je tu léta, co takhle srovnávat s dobou Napoleona a Národního obrození, nechtěl byste?

„ Verze 5 již podporuje OOP lépe, ale nativní knihovna funkcí nadále používá procedurální paradigma“ „Nativní funkce nepoužívají objektový přístup“ Tady někdo chtěl zkritizovat PHP, a tak pro jistotu jednu věc napsal několikrát, protože PHP nesnáší a každý bič se hodí.

„Dosud neexistuje formální specifikace syntaxe jazyka a jeho chování (jedinou úplnou definicí je interpreter)“ „Tím pádem existuje jediný 100% kompatibilní interpreter“ To nějak vyplývá jedno z druhého, navíc jediný kompatibilní interpretr existuje, to je ten, který definuje PHP.

„Způsob, jakým PHP funguje, principiálně brání efektivnímu řešení mnoha úloh (např. objektově-relační mapování)“ Kecy kecy kecy – nepijte to už prosím vůbec, a celkově se dále vyhýbejte i alkoholu.

„Programátor nemá zaručené cílové prostředí, mnoho věcí přímo ovlivňujících chování PHP lze změnit pouze mimo soubory projektu (např. v konfiguračním souboru php.ini)“ Jak už to u technologií, kde je potřeba zaručit bezpečnost bývá – a myslím, že administrátoři serverů jsou od toho, aby PHP jim nezničilo servery, a smělo odsud posud. Od toho to je.

„Nepodporuje paralelní výpočet (vlákna) a synchronizaci“ Jste si jist?

„Nepodporuje škálování pomocí prostředí sdíleného na více serverech“ Trochu jste přestřelil – PHP není určena na tento typ projektů. To taky můžete napsat obdobně třeba do stránky Člověk: „nevýhoda člověka – neumí létat a živit se petrolejem„. Zkrátka mi přijde, že tohle sem nepatří.

„Nemnoho kvalitních frameworků“ Velmi subjektivní, doufám, že wikipedie by měla být souborem hlavně objektivních informací. Mimochodem, když chcete srovnávat třeba s Ruby, tak tam najdete pouze jeden framework – Ruby on Rails, ostatní skoro nejsou vidět a nemluví se o nich.

„Velký počet zásadních chyb v počátcích nových verzí“ Toto prosím zkopírujte do všech sw článků, protože tak už to bývá skoro u každého sw. Pokud to neuděláte, tak to vykopejte ven, a přestaňte s tou zasednutostí na PHP.

Atd.. – a vůbec, opravím to sám, a budu to klidně denně vykopávat, dokud tu nebudou skutečně objektivní informace.-- Tento nepodepsaný komentář přidal(a) uživatel(ka) Miloslav Ponkrác (diskuse)

Podle toho co tu vidím, jak píšeš o článku PHP. Je vidět, že opravdu to psal někdo, kdo s PHP měl špatný zkušenosti. Jinak díky tomu, že chodím na SPŠE (elektronika) a mám tam jednoduché programování v Javě, vím že někdy něco nejde přímo, ale přesto to neznamená, že ten jazyk je špatný. Jinak k těm verzím, to jaká byla PHP 4 patří spíš do minulosti. Syntaxe složitá? Java mě příjde stejně těžká a atd..souhlasím se změnami od tebe/vás (?), PHP se nevěnuju (aktivně, jinak na stránky používám asi tak 4 příkazy), přesto chápu jak by článek měl vypadat. --Paxan 11. 1. 2009, 15:32 (UTC)
Zpět na stránku „PHP“.