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

Tehnologija

Neuralink moždani čip: Revolucija u medicini ili senzacionalizam?

Čip pod nazivom 'Telepatija' uspešno je ugrađen u ljudski mozak, saopštila je kompanija Elona Maska. Analizirali smo da li je reč o velikom naučnom dostignuću, ili tek eksperimentu u testnoj fazi.

Startapi i poslovanje

Vega IT ulaže €1.000.000 u osnivanje novog startapa Thrivea

Kao nastavak globalnog širenja poslovanja, kompanija Vega IT najavila je novi poslovni poduhvat. Ovog puta, rade na razvoju inovativnog HR SaaS rešenja pod imenom Thrivea.

Startapi i poslovanje

Anygo je novi servis za deljenje vozila u Beogradu putem aplikacije – čija se mreža širi

Na ulicama glavnog grada pojavili su se mali gradski Hyundai automobili sa natpisom 'Anygo car sharing'. Prestonica je konačno dobila jedan ovakav servis, a mi vam u intervjuu sa osnivačem startapa 'Anygo' otkrivamo kako on funkcioniše i na koji način je nastao.

Propustili ste

Startapi i poslovanje

Novi GapMinder Fond II s kapitalom od €80 miliona targetira i srpske startape!

GapMinder Ventures, VC fond koji je dosad primarno ulagao u tehnološke kompanije iz Rumunije, pokreće GapMinder Fond II, investicioni paket od 80 miliona evra koji će biti alociran i na širem istočnoevropskom regionu, pa tako i Srbiji i Hrvatskoj.

Tehnologija

SEO Spam: Kako su AI generisani advokati pokušali da prevare Netokraciju?

Razvojem veštačke inteligencije cyber kriminalci postaju sve veštiji, a napadi sve maliciozniji. Donosimo vam priču o tome kako smo uspeli da raskrinkamo jedan takav pokušaj ucene.

Office Talks Podcast

Da li će Bitcoin doći do $100.000?

Dolazak Bitcoin ETF-a izazvao je pažnju mnogih u Web3 svetu. Upravo o ovoj temi ali i o stanju na tržištu kriptovaluta, razgovarali smo u novoj epizodi podkasta sa Aleksandrom Matanovićem, direktorom i osnivačem kripto menjačnice ECD.rs.

Mobilno

Uživo praćenje prevoza u Beogradu od danas na Google mapama!

Google je u okviru svoje aplikacije mapa na pametnim telefonima omogućio praćenje javnog prevoza u realnom vremenu za našu prestonicu.

Digitalni mediji

Vladimir Kovač: Iz zajednice se regrutuje radna snaga, zato kompanije treba da budu deo događaja

Zrenjaninski hotel Vojvodina tradicionalno će krajem aprila ugostiti još jednu DigiTalk konferenciju i edukaciju posvećenu e-trgovini. O važnosti održavanja ovakvih događaja za kreativnu, digitalnu i IT zajednicu, razgovaramo sa jednim od osnivača i organizatora konferencije.

Intervju

Bosch inženjerski centar u Srbiji zapošljava IT stručnjake koji razvijaju rešenja za auto industriju

Ubrzani razvoj 'automotive' industrije i okretanje u smeru sve veće integracije digitalnih rešenja, otvorile su jedno sasvim novo poglavlje za tehnološke i IT kompanije. Jedan od lidera u razvoju digitalnih rešenja za auto industriju je i kompanija Bosch, čiji IT sektor u Srbiji zapošljava više od 400 stručnjaka.