2020 m. kovo 29 d., sekmadienis

AI su PHP: Kodėl PHP?

Po savo PHP Šiauliai pranešimo “AI in PHP” sulaukiau klausimų: kodėl PHP? Juk kiekvienas žino, kad tam labiau tinka Python, R, Lisp, Prolog ir t.t. Kam “vargti” su PHP?



Tokiems žmonėms atsakau paprastai: šiandiena skaičiuojama, kad pasaulyje yra apie 2000 aktyviai naudojamų programavimo kalbų, ir apie 25 000 apskritai egzistavusių (galbūt irgi kažkur vis dar naudojamų). Ar esate tikri, jog būtent Python geriausiai tinka AI, o C++ blockchain? O gal norint rasti “tobulą” kalbą, reikia išbandyti visas?

Kadangi laikas - labai ribotas resursas, būtina rinktis ką studijuoti ir mokytis, o ką atidėti ateičiai. Aš skiriu savo laiką gerų programavimo praktikų, įvairių algoritmų ir bibliotekų studijoms. Norėdamas patikrinti kaip viskas veikia realiame gyvenime, naudoju PHP programavimo kalbą. Eksperimentams ji puikiai tinka: su kiekviena versija veikia vis greičiau, yra lanksti. Norint patikrinti paprastą algoritmą, nebūtina kurti klasių bei objektų. Internetas pilnas įvairiausių nemokamų klasių ir bibliotekų. PHP yra tobulas įrankis įvairiems eksperimentams, kuris nebando įsprausti į jokius rėmus. Iš kitos pusės, jeigu reikia rašyti daugiau kodo, su PHP galima programuoti pagal visas geriausias praktikas. Aš esu įsitikinęs, kad PHP lankstumas bei lengvas naudojimas ir pagimdė mitą, jog tai kalba skirta tik nedideliems WEB projektams bei programavimo pradinukams.

Mano nuomonę patvirtina labai įdomių ir visiškai skirtingų PHP projektų rinkinys:

Arionum - profesionali blockchain platforma. Jos pagrindu sukurta kriptovaliuta ARO kotiruojasi biržose.
Intervention Image - tvarkyti ir manipuliuoti vaizdus.
PHP-ML - biblioteka, skirta mašininiam mokymui ir neuroniniams tinklams.
PHP OAuth 2.0 Server - OAuth 2.0 serveris su PHP.
PHP-GTK - GTK aplikacijų kūrimas su PHP.

Python naudojimo AI projektuose entuziastai išskiria privalumus, kurie lengvai tinka ir PHP:

1. Didelė bibliotekų ekosistema. PHP turi FANN, RubixML, php-ml, php-opencv. Yra nemažai naujų projektų, kurie galbūt išsivystys.

2. Lengva programuoti žmonėms, kurie nėra programuotojai (mokslininkams). Viena iš PHP populiarumo priežasčių yra lengva pradžia.

3. Lankstumas - galima programuoti imperatyviškai, procedūriškai, funkciškai ar OOP. Nereikia kompiliuoti kodo, norint pamatyti rezultatą.

4. OS nesvarbu. PHP skriptai puikiai veikia ant visų platformų.

5. Skaitomumas. Čia reikėtų klausti pradžiamokslių, bet iš mokymo patirties žinau, kad ją tikrai žmonės perkanda gan greitai.

6. Duomenų vizualizavimas. To gėrio tikrai pakanka: JpGraph, pChart…

7. Bendruomenė. Tiek PHP, tiek Python bendruomenės labai didelės ir lengva gauti atsakymą į bet kokį klausimą.

8. Populiarumas. Python populiarumas data science mokslininkų tarpe yra didesnis, bet čia labiau mados reikalas. Savo dalį bando atriekti tiek R, tiek JavaScript kalbos. Ir kas bus hype kitais metais, niekas nežino.

Nesu fanatikas, kuris teigia, jog PHP tobula ir reikia visur jį naudoti. Tačiau PHP bendruomenė labai aktyviai ir nuolat tobulina šią programavimo kalbą bei kuria įvairias priemones, padedančias programuotojams. Juk kai skaitai gerą knygą, svarbiausia turinys ir jo prasmė. Todėl kai rašau kodą, visada galvoju apie turinį, prasmę, o ne kokia kalba jis parašytas. Geras ir logiškas algoritmas gerai veikia nepriklausomai nuo kalbos. Nesvarbu kokia kalba kalbate. Svarbiausia ką kalbate.

Komentarų nėra:

Rašyti komentarą