Tvær ástæður fyrir því að þú ættir ekki að nota PHP
Sebastian Luczak
PHP einingarleiðtogi
Sem PHP-þróunaraðili man ég enn eftir dögum PHP4, fyrstu (valkvæðu!) GC-innleiðingunni í PHP5, og ég lifði í gegnum _hype_ um komu PHP7 og afleiðingar hennar.
Hér er tómt.
Í gegnum árin hafa margir spurt mig hvers vegna ég nenni þessu. forritun í PHP, og í mörg ár hef ég heyrt eins og mantra tvö endurtekin rök fyrir því að ég ætti að hætta og byrja að skrifa viðskiptalegan hugbúnað í forritunarmálum eins og Java eða C#. Í dag ætla ég að vitna í þessar röksemdir og reyna að breyta viðhorfi þínu til PHP að minnsta kosti smávegis. Já, titill þessa greinar er fáránlegt smellibeit.
#1 PHP er að deyja
PHP er að deyja ár eftir ár. Sá sem áður var vinsælastur vefur mál er nú að missa vinsældir mánaðarlega, aðallega til JavaScript.
Þegar þú skoðar tölurnar, er sannleikurinn hreint út sagt hrollvekjandi! Á síðasta ári, PHP Missti gífurlega 1,6% af sínum hlutdeild sem bakendamál vefsins.
Ef PHP heldur áfram þessari niðurleið, eftir 18 ár PHP mun detta undir 50% í bakenda vef-tækni!
Fyrsta tilvísunin sem PHP Upplýsingar um að hann sé að deyja má finna á vefnum síðan 2013. Á þeim tíma Software Gunslinger Grein var birt (sem ég mæli eindregið með!) að PHP muni deyja vegna þess að það styður ekki langlíf ferli og skortir ósamstillta vinnu.
Og það er staðreynd., PHP var ekki gert fyrir það!
Ef allt sem þú átt er hamar, lítur allt út eins og nagl
En aftur að tölunum – skulum við líta á tölur síðasta árs gögn á PHP útgáfur sem notaðar eru í Packagist-pakkum. Nýjustu gögnin eru fáanleg á upprunalegri vefsíðu. packagist.org
Er þetta upptökulínan fyrir nýjar útgáfur af dvígnum forritunarmáli?
Ef það er ekki nóg, skulum við bera “PHP dauðahlutfallið” okkar saman við önnur tungumál.
Gögnin fyrir greininguna eru tekin úr GitHut 2.0, sem býr til töflu yfir fjölda Git-pús á hverju tungumáli á GitHub síðan 2012, samkvæmt kerfinu – “Hlutfallstölur tungumála í línuriti sýna efstu 10 (eða handvöld) tungumál síðan 2012/Q2”.
Eins og þú sérð PHP sem og önnur vinsæl tungumál eins og Rúbín, C/C++, Python Þau hafa upplifað verulega lækkun í vinsældum á Github á undanförnum árum, en þó er uppstreymi og við búumst við að þau komi aftur á háar stöður eftir lengri hliðlægan fasa. (Þetta er ekki fjárfestingarráðgjöf)
Upphaflega hype fyrir Javascript-málun má sjá í sama myndlinunni. Ég læt niðurstöðurnar og greininguna eftir þér, kæri lesandi.
En aftur á móti ætti deyjandi tungumál ekki að auka fjölda starfstilboða fyrir forritara, er það ekki?
Þegar þetta er skrifað get ég valið úr 171 starfstilboði á einum af helstu starfavefjum í Pólland, af þeim eru allt að 50 ætluð unglingum. PHP er að deyja, ekki satt?
Og þegar talað er um peninga… vissir þú að PHP og uppruni þess kóði hefur verið viðhaldið síðan í nóvember 2021 af sjálfstætt opinn kóði samfélagPHP-stofnunin sem greiðir verulega peninga til OpenSource-þróunaraðila fyrir framlag til php-uppspretta?
Ólíkt öðrum forritunarmálum og rammaskipulagi, sem oft eru í eigu stórra fyrirtækja, kjarnaþróunin lið er greitt beint af reikningi stofnunarinnar sem er rekinn með framlögum frá einkafyrirtækjum eins og JetBrains og Symfony Corp en einnig af smá framlög frá einstökum forriturum.
Opinn kóði í allri sinni dýrð!
#2 PHP er hræðilegt
Já, þessi röksemd kemur alltaf frá forriturum sem hafa kynnst ströngu, samanburðarhæfu forritunarmáli. Að skoða línurit gagna sem safnað var á meðan StackOverflow könnun Árið 2021 má sjá að allt að 10.834 svarendur, sem standa fyrir næstum 60,1% heildarinnar, töldu PHP vera “hræðilegt”.
Sem gömlu skólanum PHP forritari, ég skil af hverju þetta er svona. Ég man strax eftir klassísku dæmi um minnisvandamál í PHP:
Hvað gerirðu með þessu?
class FOO {
public $f;
}
class BAR {
public $f;
}
while(1) {
$a = new FOO();
$b = new BAR();
$a->f = $b;
$b->f = $a;
print "Minnisnotkun: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Fyrir ókunnuga – já, kóðinn hér að ofan veldur minnisvillu. Og það er meira. Frá heimskulegu nafni aðferðanna og algerri skorti á rökvísi í röðinni á breytunum þeirra (já, við elskum öll str_ og rað_) að frægustu galla PHP T_PAAMAYIM_NEKUDOTAYIM – PHP er fullt af sérkennileikum og göllum eldri útgáfa. Þetta þýðir ekki að það sem við heyrðum um PHP Fyrir nokkrum árum var þetta enn satt. Málfarið hefur gengið í gegnum gríðarlega umbreytingu og í dag er ég ánægður að skoða skilgreiningar hlutanna:
readonly class NotificationEvent
{
public function __construct(
public string $context,
public User $user,
public string $body,
public DateTime $issuedAt,
) {}
}
Enn fremur, PHP vistkerfi Það hefur vaxið gífurlega, og við höfum nú ótrúleg tækifæri til að búa til góðan, vel gerðan og vel prófaðan kóða. Við getum notað Symfony að þróa DDD-forrit án nokkurra verulegra vandamála, og við getum komist hjá samstilld vandamáli PHP með því að nota Message Bus.
Og þó ég sjálfur tel ekki PHP er hentugt til að búa til langlífar bakendaferla og hefur gríðarleg frammistöðuvandamál þegar kemur að samstillingu ástandi, ég hef einnig bjó til PHP leikjatölvuleik að nota Symfony + Docker með eigin höndum sem dæmi um að PHP geti enn haft óhefðbundna notkun.
Annað forskot PHP er lágur inngangur fyrir nýja þróunaraðila. Skjöl um tvö vinsæl rammasöfn, Symfony og Laravel og PHP Skjölin sjálf duga til að stíga inn í backend-heiminn með þeirra hjálp. Heimur sem er ekki fullkominn í PHP en býður upp á margt. Með því að nota viðbótarbókasöfn eins og Laravel Nova getum við búið til nánast hvaða þátt kerfisins sem er með aðeins tveimur skipunum.
Eftirglóð
Er PHP dauðandi?
Nei, en það hefur ímyndarvanda og þarf mikla vinnu til að bæta það. Við, forritararnir, verðum að gera þessa vinnu með því að kenna nýju kynslóðinni og miðla bestu starfsháttum í formi greina, bókasafna og ráðlegginga.
Sem tungumál sem hefur verið á markaður í tuttugu ár, sem hefur þegar lifað af meira en eitt hype (manstu eftir Objective-C?) Ég held að það muni ráða við það og finna sinn sess. Og hver veit, kannski reynast spár mínar réttar og PHP 10.x blómstri aftur eftir tvö ár?