Onhan se tietysti hyvä että PHP:ssä on runsas dokumentaatio koska siihen joutuu tukeutumaan jatkuvasti.
Noh, vertaapa sitä koodi määrää minkä joudut koodaamaan php:llä tehdäksesi käyttöliittymän suhteessa javaan.
Ennemmin vertaan johonkin muuhun kieleen kun en Javaan ole koskenut reilusti yli viiteen vuoteen. Graafisten käyttöliittymien kohdalla otan mieluummin vertailukohdaksi vaikka Tcl/Tk:n.
Jos taas tarkoitat www-käyttöliittymää niin silloin valitsen jonkin sopivan Pythonin tai Rubyn ympärille kehitetyn ympäristön kuten esimerkiksi Quixoten, Djangon, TurboGearsin tai Ruby on Railsin. Näillä ratkaisutavoilla pohjalta löytyy kunnollinen ohjelmointikieli joka ei kärsi samanlaisista ongelmista kuin PHP.
Varmasti saa selailla noita luokkakuvauksia javan puolellta tuon tuostakin. Eikä noita java verisioita luokka muunnoksineen olekaan kuin 5 kappaletta.
Todennäköisesti useimmiten tarvittavat luokat ja niiden tärkeimmät metodit iskostuvat tajuntaan varsin nopeasti. Harvemmin tarvittavien luokkien kohdalla pitää sitten konsultoida dokumentaatiota.
Java-versioita taitaa itseasiassa olla kuusi kappaletta. Tosin harvemmin niille kaikille tarvitsee tehdä koodia... PHP-versioitakin on laskutavasta riippuen viisi tai 11.
Kyllä se php on huomattavasti selkeämpi, sen takia että siinä on vähemmän hallittavaa ja lähes kaikesta on väännetty rautalangasta käytännön esimerkit php.net sivustolla. Toisinkuin monilla muilla ohjelmointi kielillä.
Millä tavalla siinä on vähemmän hallittavaa? Etenkin kun PHP:n standardikirjaston funktiot ovat mitä ovat...
Otetaan esimerkki:
mixed array_search ( mixed $needle, array $haystack [, bool $strict] )
array array_keys ( array $input [, mixed $search_value [, bool $strict]] )
bool array_key_exists ( mixed $key, array $search )
array array_slice ( array $array, int $offset [, int $length [, bool $preserve_keys]] )
bool in_array ( mixed $needle, array $haystack [, bool $strict] )
Mikä selkeä logiikka noissa parametreissä on?
Kutsut in_array(), array_keys() ja array_search() tekevät muuten likimain saman asian ja minusta vähintään array_search() on täysin turha ja jopa vaarallinen (kuten dokumentaatiossakin varoitetaan). Lisäksi in_array() on oudosti nimetty verrattaessa sitä array_key_exists()-funktioon.
Mitä esimerkkeihin ja rautalankaan tulee niin niitä tulisi käyttää vain silloin kun siihen on oikeasti tarvetta.
Helpommalla muuten myös pääsee jos ottaa Microsoftin C# studio expressin, sillä on myös helpompaa tehdä käyttöliittymiä kuin javalla.
Todellako? Väitätkö että sillä saa tehtyä monimutkaisen ja eri ikkunakokoihin skaalautuvan käyttöliittymän helposti? Minä väitän että ei saa koska siitä puuttuvat automaattisesti skaalautuvat säiliöt. Perusasia joka on Javan AWT:ssä ja Swingissä, Tcl/Tk:ssa, Qt:ssä ja jopa vuonna 1993 julkaistussa
MUI:ssa. Microsoft ei vieläkään osannut tehdä asioita oikein...
Ruby olisi varmaan myös hyvä vaihtoehto tai python.
Niin ne ovatkin toisin kuin PHP.