Že je Delphi for PHP absolutní propadák, se už nějakou dobu ví. Prohra je to naprosto zasloužená. Borland (respektive jeho pobočka CodeGear) totiž vypustil produkt, kde prakticky nic nefungovalo. Zatímco Arthur už dal Delphi sbohem u první verze, já neodolal svodům CodeGearu a zkusil si nainstalovat docela čerstvou verzi 1.5. Mohu tak potvrdit, že ani v ní si aplikaci nespustíte! (to si nedělám srandu)
Je mi upřímně smutno z toho, kam to společnost, ke které jsem vzhlížel už jako dítě, kam to dotáhla. Byl to Borland, kdo dal světu IDE, kdo přišel s revolučním Turbo Vision a ustál i smrtící přechod na Windows. Sbohem a šáteček.
Ještě než jsem Delphi for PHP odinstaloval, zlákal mou pozornost zdrojový kód frameworku VCL for PHP (pro PHP 5), který má webové aplikace pohánět. Kdyby mě někdo v tu chvíli natáčel, zaznamenal by desetiminutový plynulý morphing od němého úžasu k hlasitému smíchu.
Ať se pobavíte taky:
- autoři neví, že PHP má konstrukci
foreach
a zásadně iterují přeswhile(list($key, $val)=each($arr)
(používalo se v PHP 3) - neví nic o statických metodách
- slabě tuší o privátních metodách
- naopak klíčové slovo
global
používají s úspěchem (více než 70 výskytů) - autoři neznají konstanty tříd, vše deklarují na globální úrovni
- kód tříd je důkladně prošpikován HTML fragmenty, dosolen JavaScriptem a špetkou CSS
- tyto framenty mají občas syntax HTML, občas XHTML
- názvy CSS vlastností jsou psány někde velkými písmeny, jinde malými
- zdrojáky se jen hemží zakomentovaným kódem a různými poznámkami,
z nichž některé až zarážení svou triviálností:
//calls inherited constructor parent::__construct($aowner);
Programátor nejspíš dlouho googlil, co ten tajemný kód znamená, že si to pak samou radostí poznamenal 🙂
- v kódu je použito
$HTTP_SERVER_VARS
(zavrženo v PHP 4.1)
Fakt by mě zajímalo, který zoufalec by na tom vybudoval aplikaci 🙂
p.s. CodeGear neusnul na vavřínech a už ohlásil IDE pro Ruby on Rails nazvané 3rdRail. Připouštím, dělal jsem si z Rubystů občas srandu, ale tohle bych jim nikdy nepřál!
Komentáře
enoice #1
😁 hehe
Ještě mimochodem, už se tu někdo ptal, ale odpověd nikde… Co chystáš s tím phpfashion.com? 🙂
Jan Škrášek #2
#1 enoice, DGX planuje vlastní větev, to je jasny.. ;)
S Delphi to šlo jednou dolů, pak nahorů, a je to teď zase dole.
No a Delphi pro PHP je jen marný (a levný) pokus o návrat na trh. :)
Linus #3
Škoda že to takhle dopadlo, podle mě to byl celkem zajímavej nápad, představoval bych si něco jako
Visual PHP .nette
#1 enoice, To je už jasný ne? 🙂
phpfashion.com bude obsahovat sbírku těch asi nejkvalitnějších knihoven pro PHP.
tark #4
#3 Linusi, Dibi už tam je :))
Jiří Bureš #5
Co myslíš, jsou ti vývojaří tak:
Nebo jak si to jinak vysvětluješ?
Dundee #6
No nevím jestli je to k smíchu nebo spíš k pláči…Nechápu, jak se může někdo pokoušet o napsání kvalitního frameworku, když nezná pořádně možnosti jazyka :(
Btw: jak to vypadá s dokončením Nette? Konec listopadu už nám pomalu klepe na dveře ;)
Jiří Hon #7
#6 Dundee, BTW: Očekáváte-li Nette (už roky) stejně netrpělivě jako mnoho tvůrců webu, nechť je vám aspoň náplastí na duši PHP Seminář – Nette. Vaše oko nezůstané suché. Ať už dojetím, či smíchem.
The Zero #8
#7 Jiří Hone, Tohle říkáš zbytečně, Dundee to jako jeden z mnoha dalších viděl naživo… a proto se ptá na listopad ;)
Roman #9
Aj ja pouzivam konstrukciu while(list($key, $val)=each($arr) neviem ci je to pre kvalitu mojho kodu klucove (urcite pisem aj podstatne horsie prasarny). Niekto pouziva uvodzovky, iny apostrofy. Niekto zacina mensi-otaznik-php a iny tam ten php nepise. Myslim ze podobny posmech by mohol nastat v 90 pripadoch zo 100 pri vzhliadnuti akehokolvek software na ktorom pracuje team viacerych ludi… aspon sa publikum trosku zasmeje… 😉
Martin #10
hehe, smazáno 🙂
Pavel Šindelka #11
#9 Romane, No sice to nijak výrazně nevadí, ale s konstrukcí foreach je zkrátka kód výrazně čitelnější. Toť vše :)
petr #12
a co je za problem pri pouzivani klicoveho slova „global“ … se nesmi pouzivat?
Dundee #13
while(list($key, $val)=each($arr) :)
David Grudl #14
#5 Jiří Bureši, představuji si Borland jako firmu co zaměstnávala ty největší mozky přes kompilátory jazyků a architekturu VCL …a ze které nejschopnější postupně odešli. Člověk si asi dovede představit, co by to udělalo s kteroukoliv úspěšnou společností. Dokonce i to VCL4PHP si nechávala dělat u externí firmy.
#9 Romane, jenže tady hodnotím kód, který by měl být výkladní skříní firmy CodeGear, čistým a vzorovým frameworkem.
#6 Dundee, http://meteleskublesku.cz/…8/snd/33.mp3 🙂
David Grudl #15
Ještě pro zajímavost se podívejte jaký Delphi generuje kód 🙂
Což mi připomíná další pikošku: bez JavaScriptu ani neodešlete formulář…
Roman #16
#14 Davide Grudle, Ok ok sak ja nic, len som si vzdy myslel ze tato krasna konstrukcia okopirovana z manualu PHP je tak nadherna a revolucna. Tak sa to samozrejme dotklo mojho ega 😉. (inak som tiez tu spominanu #13 Dundee prednasku videl v priamom prenose. Najviac sa mi pacilo ze som na predvadzani tvojho riesenia prace z URL konecne pochopil vyznam terminu wrapper. Diky 😉 #15 David Grudl Uff.. uz chapem. Inline styly, inline javascripty, velke male pismena hadr. Riadna divocina.
Roj #17
Pred par dny mi jeden sikovny venkovsky opravar spravil nove auto, pac jsem s nim nacouval do zabradli, ktere jsem nevidel.
Oprava v znackovem servisu by stala tak petilitr. S objednanim za tyden. On to udelal za patnact set a trvalo mu to dvacet minut i s poklabosenim o porschatku, co mel na dilne.
Vyrovnani plechu a nova zadni svitilna me prisla celkem na 1540,–Kc i s praci. Na me uzasle koktani a lapani po dechu jen proste odvetil: „Kdo nic neumi, jde delat do znackoveho servisu“
A tak je to, mili pratele, vsude se vsim 🙂
Pavel Jaroš #18
#7 Jiří Hone, No né, přednáška Iva Lukačoviče mě minimálně pobavila, ale tohle nemá chybu, to se nedá srovnat. Pan Grudl je rozený šoumen. Vybavila se mi vzpomínka na mého profesora programování docenta Fabiána, na jehož přednáškách jsem se bavil podobně…
Gringo #19
#6 Dundee, Za sebe bych tipnul, že Nette vyjde 30. listopadu ve 23:59:59 🙂
tark #20
#18 Pavle Jaroši, Jojo, já tady mám přednášku .. o frameworku nette .. nebo jak se to vlastně čte… HAHAHAHAHHA :D
Martin #21
ad #10 Martin Ještě jsi mě zapomněl zablokovat, ty rozesmátej sejšne!
David Grudl #22
#21 Martine, jo ty jsi ten vůl, kterému jsem jako jedinému kdy zablokoval přístup na blog?
Věroš #23
#17 Roji, díky za vysvětlení. Vždycky jsem přemýšlel, proč je značkový servis dražší. Nedávno jsem to na to přišel, všechno jim tam totiž trvá dýl. A teď už vím i proč 🙂
Pavel Jaroš #24
#20 tarku, „…a to je právě druhá věc, kterou vám dneska neukážu…“ 🙂
Tož já se musím též pochlubit, že podobné blbiny jsou programoval před lety i bez AJAXu 😉
#stary-odkaz-#stary-odkaz-http://jaros.ezin.cz/item/on-line-herna
tark #25
#19 Gringo, #24 Pavel Jaroš :
z icq:
<tark>
#6 Dundee Dundee: Za sebe bych tipnul, že Nette vyjde 30. listopadu ve 23:59:59<a>
nerikal jsem to taky? 😉<tark>
jj<tark>
30. listopadu je patek :D<a>
tak nic no, to bude dgx „pak byla nejaka parba…“Dr.Diesel #26
2 dgx: A ja si app z Delphi pustil heeec heeeec 😁 Resp. na tom vlastnim Apachi, co si Delphi privlecou s sebou to tak nejak rozkouse, na jinym si to musis zaslouzit nebo nechapu na co tam ta exceptiona je. Ze zoufalstvi uz dali na FAQ, kde to je a kterak se toho elegantne komentarem zbavit 😁
https://web.archive.org/…ndex.php/Faq#…
Jako samotny to Delphi se mi libi, ale jak s tim zacnete delat nejaky „vylomeniny“ jako nedej boze prejmenovavani polozek, ci formu, tak radsi vytahnete nejaky lokalni SVNko, protoze Revert bude dobrej kamarad LOL
2 Dundee a while list LOL LOL
2 dgx sorry za diakritiku, už to nepřepisuju …
David Grudl #27
#13 Dundee, konečne ten obrázek vidím, pořád se mi zobrazovala černá plocha.
Tady je
list()...each()
použito záměrně. Obě konstrukce fungují malinko jinak. Foreach je značně rychlejší, má jednoduchou syntaxi, podporuje moderní interface Iterator a IteratorAggregate, umí iterovat nad výsledkem funkce a prochází pole tzv. externě – tedy je možné vícekrát vnořeně iterovat nad stejným polem. Kdežtolist()...each()
je pravým opakem. Archaická konstrukce, kde člověk nesmí zapomenout pole před procházením vyresetovat a jelikož iteruje interně, musí dbát na to, aby totéž pole neprocházela i zanořená funkce.Metoda
fuckingQuotes
ale této jinak nepříjemné vlastnosti využívá. Trik jsem poprvé viděl u Jakuba Vrány, tam je i další vysvětlení.Techi #28
Eclipse PDT + Zend Framework
to je spása pro vývoj v PHP
Dr.Diesel #29
#28 Techi, PDT na notebooku ani moc ne. Otravuje to takřka pořád procesor a co pak dělá notebook… no?… 😉
Ad Zend: Důvod, proč právě on? …
Honza Odvárko #30
Nový program od Borlandu
dělá si snad z lidí srandu,
každý bajt jim zarotuje
osmkrát – tak k čemu tu je!
Hloupý program od Borlandu!
pl4nt #31
‚p.s. CodeGear neusnul na vavřínech‘
:D hh
Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.