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

Office Talks Podcast

Kako doći do investicije za vaš startap?

Gost 195. epizode Office Talks podkasta bio je Miloš Rakčević koji je sa nama podelio svoj preduzetnički put i iskrene savete za sve koji planiraju da osnuju startap u Web3 ili nekom drugom sektoru IT industrije.

Startapi i poslovanje

Kako je Slobodan pobegao iz Beograda na Rtanj gde spaja IT i poljoprivredu?

U podnožju planine Rtanj, zajedno sa svojom porodicom pobegao je od gradske vreve i stresnog života. Tamo uzgajaju lekovito bilje od kojeg proizvode preparate dostupne na portalu Royal Balm.

Startapi i poslovanje

Srpsko-američki Lupa Technology osigurao investiciju od $1,8 miliona – sledi širenje poslovanja

Lupa Technology je na misiji da značajno unapredi upravljanje podacima u građevinskoj industriji. Ova srpsko-američka platforma, sa sedištem u Njujorku i Beogradu, upravo je zatvorila rundu ulaganja od $1,8 miliona kako bi podstakla svoju ekspanziju.

Propustili ste

Intervju

Endava: Program dualnog obrazovanja stvara IT budućnost Srbije

 Ukoliko nastojimo da razvijamo IT industriju i digitalnu ekonomiju u Srbiji, jedan od temelja za to jeste obrazovanje i dolazak novih mladih talentovanih ljudi. Velike IT kompanije, poput Endave, igraju važnu ulogu u procesu izgradnje i edukacije budućih stručnjaka.

Karijere

Učenike u Srbiji više ne zanima IT: Istina ili medijski spin?

'Đaci neće u programere' odjeknulo je u svim medijima nakon završenog prijemnog za srednje škole i gimnazije. Da li je zaista tako i zbog čega ove godine ima manje upisanih đaka na IT smerove u gimnazijama, pročitajte u analizi koja sledi.

Office Talks Podcast

Mily Tech: Startap koji pomaže da vam paketi stižu na vreme

Gost 197. epizode Office Talks podkasta bio je Miloš Zlatković, osnivač i CEO kompanije Mily Technologies. On nam je predstavio razvojni put kompanije — od osnivanja do milionske investicije i planova za budućnost!

Intervju

Mastercard lansirao alat ‘Shopping Muse’ za jednostavnu i personalizovanu kupovinu

Kompanija Mastercard je razvila novi alat 'Shopping Muse' koji je zasnovan na AI tehnologiji a sve u cilju da se napravi veliki korak ka interaktivnijoj i angažovanijoj trgovini u budućnosti. 

Sponzorisano

Kako strani eksperti iz kompanije ABBYY ocenjuju IT tržište rada u Srbiji?

Predviđaju da će Srbija od 'outsourcing' regrutnog centra postati atraktivna tehnološka lokacija na globalnom tržištu, ali je prethodno potrebno preduzeti određene korake ka ostvarivanju tog cilja.

Intervju

Može li veštačka inteligencija pomoći u izgradnji održivih energetskih sistema i poslovanja?

Koliko bi i na koji način integracija AI tehnologije mogla da utiče na unapređenje rešenja u energetskom sektoru, ali i na poslovanje jedne kompanije? Odgovor na ovo pitanje dobili smo u razgovoru sa Jelenom Pejković iz kompanije Schneider Electric.