Na navigaci | Klávesové zkratky

Translate to English… Ins Deutsche übersetzen…

Smějeme se s Delphi for PHP

Ž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řes while(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!

před 9 lety v rubrice PHP | shlédnuto 6589× | nahoru |

Komentáře

  1. enoice http://enoice.fialove.eu #1

    avatar

    :-D hehe

    Ještě mimochodem, už se tu někdo ptal, ale odpověd nikde… Co chystáš s tím phpfashion.com? :-)

    před 9 lety | reagoval [2] Jan Škrášek [3] Linus
  2. Jan Škrášek http://hrach.netuje.cz #2

    avatar

    #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. :)

    před 9 lety
  3. Linus #3

    avatar

    Š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.

    před 9 lety | reagoval [4] tark
  4. tark #4

    avatar

    #3 Linusi, Dibi už tam je :))

    před 9 lety
  5. Jiří Bureš http://blog.converter.cz/ #5

    Co myslíš, jsou ti vývojaří tak:

    1. blbí,
    2. neschopní,
    3. dotlačili je k tomu manageři?

    Nebo jak si to jinak vysvětluješ?

    před 9 lety | reagoval [14] David Grudl
  6. Dundee http://blog.milde.cz #6

    avatar

    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 ;)

  7. Jiří Hon #7

    avatar

    #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.

    před 9 lety | reagoval [8] The Zero [18] Pavel Jaroš
  8. The Zero http://www.thezero.info/ #8

    avatar

    #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 ;)

    před 9 lety
  9. Roman http://www.c64.sk #9

    avatar

    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… ;-)

    před 9 lety | reagoval [11] Pavel Šindelka [14] David Grudl
  10. Martin #10

    hehe, smazáno :-)

    před 9 lety | reagoval [21] Martin
  11. Pavel Šindelka http://www.sindelka.cz #11

    avatar

    #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 :)

    před 9 lety
  12. petr #12

    a co je za problem pri pouzivani klicoveho slova „global“ … se nesmi pouzivat?

    před 9 lety
  13. Dundee http://blog.milde.cz #13

    avatar
    před 9 lety | reagoval [16] Roman [27] David Grudl
  14. David Grudl http://davidgrudl.com #14

    avatar

    #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 :-)

    před 9 lety | reagoval [16] Roman
  15. David Grudl http://davidgrudl.com #15

    avatar

    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ář…

    před 9 lety | reagoval [16] Roman
  16. Roman #16

    avatar

    #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.

    <div id="Button2_outer" style="Z-INDEX: 2; LEFT: 360px; WIDTH: 176px; POSITION: absolute; TOP: 48px; HEIGHT: 25px"> <input type="submit" id="Button5" name="Button5" value="Step It (10)" onclick="return Button5ClickWrapper(event, findObj('Button5SubmitEvent'), 'Button5_Button5Click')" style=" font-family: Verdana; font-size: 10px; height:25px;width:176px;" tabindex="0" />
    před 9 lety
  17. Roj http://roj.bloguje.cz #17

    avatar

    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 :-)

    před 9 lety | reagoval [23] Věroš
  18. Pavel Jaroš http://jaros.ezin.cz/ #18

    avatar

    #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ě…

    před 9 lety | reagoval [20] tark
  19. Gringo #19

    avatar

    #6 Dundee, Za sebe bych tipnul, že Nette vyjde 30. listopadu ve 23:59:59 :-)

    před 9 lety | reagoval [25] tark
  20. tark #20

    avatar

    #18 Pavle Jaroši, Jojo, já tady mám přednášku .. o frameworku nette .. nebo jak se to vlastně čte… HAHAHAHAHHA :D

    před 9 lety | reagoval [24] Pavel Jaroš
  21. Martin #21

    ad #10 Martin Ještě jsi mě zapomněl zablokovat, ty rozesmátej sejšne!

    před 9 lety | reagoval [22] David Grudl
  22. David Grudl http://davidgrudl.com #22

    avatar

    #21 Martine, jo ty jsi ten vůl, kterému jsem jako jedinému kdy zablokoval přístup na blog?

    před 9 lety
  23. Věroš http://www.na-mytince.cz/ #23

    avatar

    #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č :-)

    před 9 lety
  24. Pavel Jaroš http://jaros.ezin.cz/ #24

    avatar

    #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 ;-)

    http://jaros.ezin.cz/…n-line-herna

    před 9 lety | reagoval [25] tark
  25. tark #25

    avatar

    #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…“

    před 9 lety
  26. Dr.Diesel #26

    2 dgx: A ja si app z Delphi pustil heeec heeeec :-D 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 :-D

    http://www.qadram.com/…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 …

    před 9 lety
  27. David Grudl http://davidgrudl.com #27

    avatar

    #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žto list()...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í.

    před 9 lety
  28. Techi http://techi.name #28

    avatar

    Eclipse PDT + Zend Framework

    to je spása pro vývoj v PHP

    před 9 lety | reagoval [29] Dr.Diesel
  29. 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? …

    před 9 lety
  30. Honza Odvárko http://odvarko.cz #30

    avatar

    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!

    před 9 lety
  31. pl4nt #31

    avatar

    ‚p.s. CodeGear neusnul na vavřínech‘

    :D hh

    před 9 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.