PHP konferencija

Kaip jau visi žinote turbūt, šeštadienį vyko PHP konferencija, kurioje teko dalyvauti ir man. Per daug įspūdžių neaprašinėsiu, nes jau daug kiti yra prirašę.

Mano slidės yra šiuo adresu. Pasistengsiu surasti laiko ir paversti jas į straipsnį, raštu išdėstant tai, ką pasakojau konferencijoje.

Daugiausiai konferencijos medžiagos yra turbūt pas Lakūną, o ypač daug nuorodų čia. (Kitų žmonių slidės: EnC, pukomuko)

Sitepoint apie PHP::Strings

Harry Fuecks, PHPPatterns kūrėjas ir sitepoint PHP weblogo savininkas, pastebėjo minėtame webloge mano dabar palaikomą Perlo modulį PHP::Strings. Harry klaidingai mano, jog perlininkai priešiškai nusiteikę prieš PHP dėl to, kad pavydi jam sėkmės. Kiek teko bendrauti su viso pasaulio perlininkais, tai požiūris į PHP visada būdavo neigiamas ne dėl pavydo, o dėl to, kad PHP nelaikoma rimta kalba (dėl tokio įsitikinimo teisingumo, aišku, galima ginčytis, bet enterprise lygyje PHP vis dar neturi tokių stiprių pozicijų kaip Perl, Java ir panašiai). Na, tikiuosi neužvirs šventasis karas dėl mano palaikomo modulio. Juolab, kad stengsiuosi jį padaryti naudingesniu PHP programuotojams.

PHP, Java ir design patterns

Pirma, keletas naujienų iš PHP srities. Viena iš jų yra specialiai PHP konferencijai skirtas konkursas, kurio metu reikia parašyti kuo geresnę programą, žaidžiančią „kartuves“. Visas bendravimas vyksta per XML, tad manau jog galima rašyti sprendimus bet kokia kalba (na, šiaip tai konferencija apie PHP, bet…)

Kita naujiena irgi gana įdomi – pradėta PHP perrašinėti su Java. Tiksliau vietoj yacc naudojamas Javinis produktas SableCC. Platesnis paaiškinimas čia, o parsisiųsti šį daiktą galima iš http://www.designedideas.com:8080/phpj-0.0.1-alpha/

Dar viena įdomi svetainė, kurią užtikau yra patterns in Interaction Design, kurioje galima rasti daugybę svetainių dizaino elementų. Gal kam pravers.

Smarty ant Perl?

Perlo konferencijoje buvo iškeltas pasiūlymas, kad į standartinius Perlo modulius reiktų įtraukti ir kokią nors šablonų sistemą. Tiesa, ši idėja priimta nelabai gerai, nes paskutiniu metu stengiamasi Perlą sumažinti kiek įmanoma paliekant tik svarbiausius modulius, kurių reikia pačiam Perlui bei kitų modulių pasiėmimui per CPAN.

Tačiau šioje diskusijoje iškilo dar viena labai idomi idėja – galbūt reikėtų nuportinti Smarty ant Perl. Štai citata:

By the way, has anyone written a perl module to correctly interpret the
“Smarty” templating language? My PHP-using co-workers claim it is
becoming the de-facto standard in PHP. This strikes me as odd because
I thought PHP was itself a templating system, but it seems the division
of labor between Modern HTML and Process has become such that it is no
longer enough to embed PHP in web pages, and the PHP “web applications”
are now explicitly generating their output from read-in external files
just like the Perl templating systems. Go figure.

Gal kas apsiimat portint phemplate? ;-)

PHP konferencija Vilniuje

Visai netyčia užtikau, kad EnC organizuoja konferenciją PHP klausimais. Tiesa, nežinau, kodėl ten toks didelis dėmesys skiriamas merginoms („atsivežkite merginas!“ bei „Jeigu reikės panų vakarinei daliai – sakykit – parūpinsim iš VPU“), bet būtent konferencinė dalis gal bus ir nieko (nors, tiesa, viskas taikoma pradedantiesiems).

Pats konferencijoje ruošiuosi pašnekėti apie PHP5 ir stengsiuosi PHP minėti dažniau nei Perl ;-)

PHP::Strings

Paskutinėmis praeitų metų dienomis staiga mirė vienas iš Perlo programuotojų, perlreref autorius (lietuviškas vertimas
čia) Iain „Spoon“ Truskett. Jam tebuvo tik 24 metai.

Taip viskam atsitikus, liko keletas jo CPAN modulių, ir Perlo bendruomenė pradėjo rūpintis, kad jie nebūtų apleisti. Vienas modulis patraukė mano dėmesį, nes panašių minčių turėjau ir aš. Tai PHP::Strings, kuriuo implementuojama daugelis PHP funkcijų Perlu. Pasisiūliau jį prižiūrėti, jei neatsiras kas nors labiau patyręs ;-)

Pačiame modulyje yra keletas įdomių nuorodų, kur aprašomi PHP trūkumai, štai jie:

  • http://tnx.nl/php.txt
  • http://www.webkreator.com/php/community/php-love-and-hate.html
  • http://keithdevens.com/weblog/archive/2003/Aug/13/HATE-PHP
  • http://n3dst4.com/articles/phpannoyances/
  • http://www.ukuug.org/events/linux2002/papers/html/php/
  • http://czth.net/pH/PHPSucks
  • http://www.nntp.perl.org/group/perl.advocacy/1458
  • http://www.gnu-friends.org/story/2002/5/29/113829/681

Taigi naujieji

Na štai, baigėsi 2003-ieji metai, ir visas internetas jau visą savaitę ūžia pateikdamas visokius praeitų metų geriausių, didžiausių, greičiausių ir dar visokių „-iausių“ sąrašus. Bent jau paskutinėmis 2003-ųjų metų dienomis du trečdaliai Slashdot naujienų buvo apie vienokius ar kitokius metų geriausiųjų sąrašus ir apdovanojimus. Užtat aptikau labai gerą svetainę kur visi tie sąrašai pateikti vienoje vietoje – jei labai knieti sužinoti kokios pernai metais buvo geriausios Oreill’y knygos, ar geriausi metų filmai, ar bjauriausi žmonės televizijoje apsilankykite adresu http://www.fimoculous.com/year-review-2003.cfm.

PHP fronto Derick Rethans parašė visų metų internals@lists.php.net santrauką. Pats šioje konferencijoje esu dar neseniai, tad buvo gana įdomu pasiskaityt apie ką ten viskas vyko iki šiol (skirtingai nuo Perlo konferencijų, čia neruošiamos savaitinės santraukos). Trumpai tariant šie metai buvo pasirengimo PHP5 metais, bei keistų, man nelabai suprantamų licencijavimo problemų metai. PHP licenzija atrodo yra nesuderinama su GPL, tad dėl to buvo išmestas MySQL palaikymas branduolyje, ir vietoj to pasirinkta SQLite, kurios licencija yra public domain. Kartu šįmet buvo ir PECL pradžios metai (kažkas panašaus į CPAN, tik C kalba rašytiems PHP patobulinimams – PHP rašytiems patobulinimams yra PEAR – ganėtinai sudėtinga susigaudyt kas yra kur ;-) ). Būtent buvo pareikšta, jog į PECL nebus priimamos bibliotekos, kurios turi GPL licenciją. Hmm… 2004-ųjų metų pradžioje turėtų būti išleistos pirmosios PHP5.0.0 RC versijos, nors tiesą sakant PHP5 nėra toks jau ir skirtingas nuo 4-os versijos (na, tik Zend engine perdarytas į antrąją versiją). Pakeitimai daugiausiai matysis objektinio programavimo galimybėse, nors visos built-in funkcijos kaip suprantu kaip buvo taip ir liko neobjektinės. Žiūrėsim.