Kako je PHP programski jezik ponovo postao 'vrela tema' među developerima? - Netokracija.rs

Kako je PHP programski jezik ponovo postao ‘vrela tema’ među developerima?

Novi apdejt učinio je da ovaj skriptni jezik, koji se koristi isključivo za web development ponovo zaživi na developerskim forumima i povrati popularnost. O čemu se tačno radi, razgovarali smo sa PHP stručnjakom, Milanom Milinkovićem.

Doba je godine kada novinski i web članci vrve od “vrelih letnjih” naslova koji nude savete za putovanja, najnovije trendove u odevanju, top liste letnjih hitova i druge razonode. Kao IT portal, dugo smo razmatrali na koji način da se uklopimo u ovu lepršavu atmosferu, i nije bilo nimalo lako. Pretraživanjem termina hot i summer u kontekstu programiranja, konsenzus je pao na ideju da ovog leta pišemo o hot trendovima koji su obeležili prvu polovinu godine.

Prvi trend koji smo želeli da istaknemo jeste “Uskrsnuće PHP programskog jezika, nakon poslednjeg apdejta”. Uprkos predikciji da će ovaj skoro trideset godina star skriptni jezik, koji se prvenstveno koristi za web development uskoro postati skroz irelevantan, nova verzija ga je ponovo učinila “vrelom temom” po developerskim forumima.

O poboljšanim funkcionalnostima koje su doprinele ponovnom popularizovanju PHP programskog jezika, razgovarali smo sa stručnjakom — Milanom Milinkovićem, PHP/Laravel developerom iz kompanije Devtech.

Kada se kod tebe rodila ljubav prema kompjuterima i kako je do sada izgledao tvoj obrazovno-karijerni put?

Milan: Još od kada sam kao dete igrao puno video igrica, mislio sam da su ljudi koji se bave programiranjem genijalci. Ali, kako se nisam pronalazio u prirodnim naukama u školi — predmetima za genijalce — verovao sam da to prosto nije za mene, već za tih nekoliko odabranih ljudi koji drže sve tajne univerzuma u svojoj glavi.

Na greškama se uči, zar ne? Ja sam u tom trenutku više verovao kako ću postati neki Nikola Jokić pre Nikole Jokića, budući da sam malo stariji, ali eto, njemu je umesto džokeja zapalo da bude NBA zvezda, a ja sam se umesto u NBA-u našao u programiranju. Nisam siguran da li je Jokara bolje prošao?

Programiranjem sam posvećenije počeo da se bavim u dvadesetim godinama, upisavši računarski fakultet. Uz mnogo kvalitetnih ljudi, što studenata, što profesora, naučio sam puno, iako sam zbog nedostatka radnih navika, predznanja i potpuno drugačijeg pristupa učenju na kraju neslavno prošao.

Nakon kratke pauze, ponovo sam se odlučio za studije, ovog puta na Visokoj ICT Školi i tada su se stvari promenile — imao sam predznanje, stekao sam radne navike, i znao sam “kako se uči”. Iako sam u tom trenutku bio zaražen “Ce tarabom” (C#), odlučio sam da na prvom poslu radim kao PHP/Laravel developer, zbog sjajnog osećaja vezanog za ljude na tom mestu.

To se do danas nije promenilo, a ono što jeste je da je PHP na kraju izabrao mene. Upravo zbog ovakvo specifičnog puta do programiranja i PHP-a poželeo sam i da iskustvo podelim sa mladima koji možda takođe nemaju jasno definisano kretanje ka ovom našem svetu i pridružio se mentorskom programu Inicijative Digitalna Srbija.

Da li možeš ukratko da nam opišeš svoju trenutnu poziciju u kompaniji Devtech?

Milan: U Devtech-u radim kao PHP/Laravel developer i, osim što radimo na interesantnim projektima, drago mi je da je moguće puno naučiti. Primećujem da sam razvio svoje veštine i na serveru, uspevao sam da konfigurišem neke stvari koje su mi pre dve do tri godine izgledale paranormalno i — iako sada znam da to nije ništa intergalaktički — lepo je prevazići prepreku.

Pre Devtech-a nisam bio u kompaniji ove veličine i bilo mi je jako interesantno da na Slack-u često možeš da nađeš rešenje brže nego na Google-u. To govori i o tome da sam u kompaniju došao pre ChatGPT-a. Puno ljudi je spremno da pomogne, objasni ili te usmeri na pravi put. To se uglavnom dešavalo i u prethodnim firmama, ali diverzitet nije bio ovoliki.

Kao backend programer imam različite odgovornosti i zadatke koji se uglavnom oslanjaju na uobičajeno u našoj sferi, međutim, posebno je važno što se osećam ohrabreno da stvari uradim na svoj način i stanem iza njih, pa ako zaista jesu kvalitetnije, kolege će ih lako prihvatiti i implementirati.

Na koji način implementiraš PHP u svoj svakodnevni rad?

Milan: S obzirom na to da se PHP koristi za razvoj web aplikacija, to je najčešće oblast u kojoj ga i sam koristim. Međutim, ono što je bilo iznenađenje i za mene — doduše mlađeg i neiskusnijeg u tom trenutku — jeste da PHP može da se primeni i na razvoj desktop aplikacija. Svakako, koristan je i za pisanje konzolnih aplikacija, koje se izvršavaju direktno u terminalu, što se relativno često koristi i ima široku primenu.

Kako komentarišeš tvrdnje dela zajednice da PHP postaje sve irelevantniji?

Milan: Kada je o takvim tvrdnjama reč, treba imati u vidu da su principi programiranja isti u svim programskim jezicima. PHP je napravio veliki zaokret poslednjih nekoliko godina, kako bi se približio porodici striktno tipiziranih programskih jezika i evoluirao u jezik koji podržava gotovo sve neophodno da bi bio OOP jezik. Na osnovu toga, moguće je razvijati se u pravcu veština koje su pre svega opšte, a u samom PHP-u uživati kroz njegove sitne čari i detalje.

Verujem da PHP može da bude veoma koristan u slučaju prelaska na druge jezike u kojima se koristi objektno orijentisana paradigma i da bi, zapravo teža bila tranzicija sa drugih jezika na PHP nego recimo na C#, Javu, JavaScript i slično. Na forumima primećujem da ljudi često veruju da relevantnost jednog jezika zavisi isključivo od njegovih performansi, sa čime se ne slažem.

Ona umnogome zavisi i od ekosistema i zajednica, prilagođenosti i fleksibilnosti, rasprostranjenosti i od specifičnih karakteristika. Tvrdnja da je neki jezik manje relevantan je značajna i često se ispostavlja netačnom, a mislim da o tome osnovano mogu da pričaju samo tvorci datih jezika. Postoji zanimljiv primer za koji sam saznao, gde veliki broj bankarskih sistema zavisi od programskog jezika COBOL.

Razvijan je 60-ih i 70-ih godina i bio je veoma popularan u bankarskom sektoru. Mnoge banke i finansijske institucije i danas koriste COBOL za svoje ključne sisteme, jer imaju kompleksnu logiku koja bi bila izuzetno zahtevna za migraciju na moderne programske jezike.

S druge strane, koje su njegove mane u odnosu na gorenavedene jezike?

Milan: PHP je i dalje slabo tipiziran jezik, što znači da promenljive ne moraju biti eksplicitno deklarisane sa tipom podatka. Stroža tipizacija u PHP-u 8.0 i kasnijim verzijama služi više kao alat za povećanje pouzdanosti i otkrivanje grešaka prilikom razvoja. Dakle, iako je uvedena stroža tipizacija u toj i daljim verzijama, PHP i dalje zadržava neke karakteristike slabo tipiziranih jezika.

Programeri imaju mogućnost da koriste deklaracije tipova kako bi povećali pouzdanost i jasnoću koda i optimizovali resurse neophodne za njegovo izvršavanje, ali stroža tipizacija nije potpuna i univerzalna u celom PHP ekosistemu. Iako PHP ima veliku bazu korisnika i zajednicu, ne znači da postoji mnogo različitih pristupa i praksi u razvoju PHP aplikacija.

Kao jedna od glavnih mana ističe se to što postoji dosta zastarelih pristupa, koje manje iskusni developeri bez dovoljno istraživanja nesvesno mogu da koriste, i tako se piše kod koji nije siguran i nema dobre performanse. Ujedno je važno osloniti se na PSR standarde koji jesu tu da pomognu u uniformnosti koda jedne PHP aplikacije, a ujedno obratiti pažnju na to da se izbegnu outdated pristupi.

Ima tu još stvari koje ćemo čuti, poput nedostatka sigurnosti, kompleksnosti u skaliranju, performansi. To se dešava, i Alfa Romeo je često opisan kao auto ograničenih performansi, pa i upitne lepote, ali i dalje svi volimo da ga vidimo i vozimo.

Koje mere developeri mogu da preduzmu da bi obezbedili visoko-performativno upravljanje PHP-om?

Milan: To je kompleksno pitanje, budući da efikasnost i visoko-performativno upravljanje najpre zavise od veštine developera, dobro odabrane arhitekture aplikacije za potrebe projekta, snage servera i optimizacije svega navedenog. Svakako su ljudi koji brinu o PHP-u zaista dosta uradili da se performanse poboljšaju i da se podigne nivo bezbednosti. Just-in-time kompilacija veliki je korak unapred u rešavanju problema performansi, a postoje i druga unapređenja, kao što su akceleratori i optimizacija interpretera.

Da li možeš da nam kažeš nešto više o novom update-u koji je ‘vaskrsao’ ovaj programski jezik?

Milan: Osim novih funkcija, PHP 8.2 je takođe doneo poboljšanja u performansama, sigurnosti i stabilnosti. Ovo je učinilo PHP još boljim izborom za razvoj web i drugih softverskih aplikacija, na šta smo se oslonili i u prethodnim pitanjima i odgovorima. Tu su i feature-i poput readonly classes koji ne dozvoljavaju promenu vrednosti svojstva, kao i novi stand alone tipovi (null, false i true). Ono što je lep update jeste da je omogućeno i korišćenje konstanti u trait-ovima i to može da bude dosta korisno.

Možeš li da navedeš neke primere koji demonstriraju performativnost PHP-a?

Milan: Koliko god da PHP može biti svestran, naprosto nije švajcarski nož, naići će na izazove. Međutim, ne možemo da izostavimo da je dobar i za command/server side scripting, primer toga mogu da budu skripte koje se izvršavaju na dnevnom nivou za provere konfiguracija, slanje mailova, web scraping/crawling, između ostalog. Pored toga, i ako nije toliko popularno, mogu da se razvijaju već navedene GUI desktop aplikacije korišćenjem PHP-GTK ekstenzije ili neke koja je njoj slična.

Za kraj, da li imaš neka predviđanja za budućnost, kada je reč o daljem razvoju PHP jezika?

Milan: Mislim da ni AI ne može da predvidi budućnost, pa ni mi, ali možemo da sagledamo faktore poput tog da veliki broj biznisa na internetu koristi PHP kao programski jezik i da su neki od njih ogromni biznisi poput Facebook-a. Znajući to, verujem da je izvesno da će PHP još dugo postojati u svakom smislu.

Zbog te jake prisutnosti na web-u i velike zajednice koju poseduje, biće jako teško istisnuti PHP sa tržišta bar u nekom kratkom vremenskom periodu. Da li ćemo u nekom trenutku web sajtove zameniti aplikacijama za pametne naočare, kao što smo desktop računare zamenili pametnim telefonima — moguće je i moguće je da će se celokupno tržište potpuno promeniti, ali u perspektivi koju imamo sada, verujem da egzistencija PHP-a nije upitna.


Želiš da podeliš svoje mišljenje o ovoj temi? Komentari su otvoreni na našoj Facebook i LinkedIn stranici!

Popularno

Startapi i poslovanje

Srpsko-američki MotionOps podigao investiciju od $1,2 miliona – sledi širenje tima u Srbiji i dalji razvoj proizvoda

MotionOps zatvorio je 'pre-seed' rundu od gotovo 1,2 miliona dolara predvođenu VC fondom iz Jute Alpine 100. Nikola Cvetković, jedan od osnivača ovog startapa, otkriva nam više o tome kako tim planira da iskoristi investiciju.

Analiza

Rast po svaku cenu više nije ono što startape vodi do investicije – i tu je prilika za srpske timove

Po pitanju investiranja u startape na globalnom nivou, prošla decenija lako bi mogla dobiti titulu zlatne decenije. Problem je bio samo jedan: ti startapi u velikoj većini nisu stavljali naglasak na profitablinost i zdrav rast i, uprkos gubicima koji su se brojali u stotinama miliona, ipak su dostizali valuacije od nekoliko milijardi. Sada su se pravila igre promenila - što može ići u prilog domaćim startapima.

Sponzorisano

Degordian pokreće novi podbrend: Builtt! Fokusiraće se na ecommerce, web i product projekte

Degordian dobija novi specijalizovani spin-off brand koji deluje u 3 vertikale. Upoznajte 'Builtt' koji se bavi izradom web stranica, digitalnih proizvoda i ecommerce rešenja.

Propustili ste

Kultura 2.0

Web pristupačnost čini internet boljim mestom za sve – a posebno za osobe sa invaliditetom

Internet je alat putem kog možemo pronaći gotovo sve što želimo da saznamo, zar ne? Nažalost, to nije slučaj za osobe koje imaju određene invaliditete. Upravo zato je pristupačnost interneta (web accessibillity) sve aktuelnija tema.

Društvene mreže

Hoće li Elon Mask zaista uvesti pretplatu za sve korisnike Twittera?

Ono što se dešava sa Twitterom od momenta akvizicije od strane kontraverznog biznismena Elona Maska može se kategorizovati kao potpuna farsa sa čudnim spletom događaja i okolnostima koji su zadesili ovu društvenu mrežu.

Takmičenje

Bosch Startup Harbour poziva startape da zajedno validiraju ideje i skaliraju biznis – prijave traju do 30. septembra

Startup Harbour je globalna inicijativa kompanije Bosch čiji je cilj kreiranje ekosistema kroz saradnju između 'early stage' startapa i različitih Bosch divizija u oblasti informacionih tehnologija i digitalizacije.

Intervju

Amir Moini pomogao je Netflixu da izgradi Employer Brand iz temelja – a sada dolazi na Empple Festival

Treći po redu Empple Festival 5. oktobra ugostiće Amira Moinija, direktora Employer Branding-a kompanije Moloco u Silicijumskoj dolini.

Internet marketing

Weekend Media Festival po 16. put u Rovinju, ovog puta sa fokusom na HR i veštačku inteligenciju

Weekend Media Festival, jedna od najvećih regionalnih konferencija posvećenih digitalnom marketingu, po 16. put će se održati u Rovinju od 21. do 24. septembra, sa potpuno novim i aktuelnim temama iz digitalnog sveta.

Karijere

Olja Vučićević Gaković: Srpski IT bio je prenaduvani balon koji je morao da pukne – i to je izdvojilo kvalitetne kompanije

Olja Vučićević Gaković ima impresivno poslovno iskustvo: od života i rada u Silicijumskoj dolini i saradnje sa kompanijama kao što su Google, Yahoo i IBM, do povratka u Srbiju i vođenja uspešnih IT kompanija. U intervjuu koji sledi, ona je sa nama podelila svoje mišljenje o srpskoj IT industriji - i zašto smatra da je kriza imala pozitivan uticaj na nju.