window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', versjon: 2, } ;(function () { var w = vindu if (w.LeadBooster) { console.warn('LeadBooster finnes allerede') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() To grunner til at du ikke bør bruke PHP - The Codest
The Codest
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Industrier
    • Fintech og bankvirksomhet
    • E-commerce
    • Adtech
    • Helseteknologi
    • Produksjon
    • Logistikk
    • Bilindustrien
    • IOT
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
  • Om oss
  • Tjenester
    • Programvareutvikling
      • Frontend-utvikling
      • Backend-utvikling
    • Staff Augmentation
      • Frontend-utviklere
      • Backend-utviklere
      • Dataingeniører
      • Ingeniører i skyen
      • QA-ingeniører
      • Annet
    • Det rådgivende
      • Revisjon og rådgivning
  • Verdi for
    • ADMINISTRERENDE DIREKTØR
    • CTO
    • Leveransesjef
  • Vårt team
  • Casestudier
  • Vet hvordan
    • Blogg
    • Møter
    • Webinarer
    • Ressurser
Karriere Ta kontakt med oss
Pil tilbake GÅ TILBAKE
2022-06-28
Programvareutvikling

To grunner til at du ikke bør bruke PHP

The Codest

Sebastian Luczak

PHP Enhetsleder

Som PHP-utvikler husker jeg fortsatt dagene med PHP4, den første (valgfrie!) GC-implementeringen i PHP5, og jeg gjennomlevde _hype_ om PHP7 og dens forgreninger.

I årenes løp har mange spurt meg hvorfor jeg gidder å programmering i PHP, og i mange år har jeg som et mantra hørt to tilbakevendende argumenter for hvorfor jeg burde slutte og begynne å skrive kommersiell programvare i språk som Java eller C#.
​
I dag skal jeg sitere disse argumentene og prøve å endre holdningen din til PHP i det minste litt. Ja, tittelen på denne artikkelen er en absurd clickbait.

​
bilde
​

#1 PHP er døende

​
PHP dør år etter år. Det en gang mest populære webspråket mister nå popularitet måned for måned, for det meste til JavaScript.

​
Når man ser gjennom tallene, er sannheten tankevekkende! I løpet av det siste året PHP mistet svimlende 1,6% av sin andel som backend-språk på nettet.

​
Hvis PHP fortsetter denne nedadgående trenden, på 18 år PHP vil falle under 50% av backend-webteknologien!

​
Historiske trender i statistikken over bruk av programmeringsspråk på serversiden for nettsteder

​
Men ok, spøk til side - selv om tallene er reelle som rapportert av W3CTechs.

Den første omtalen som PHP er døende har vært å finne på nettet siden 2013. Den gang Software Gunslinger publiserte en artikkel (som jeg forresten anbefaler på det varmeste!) som sier at PHP vil dø fordi den ikke støtter langlivede prosesser og fordi den mangler asynkronitet.

​
Og det er et faktum, PHP var ikke skapt for det!

​

hvis alt du har er en hammer, ser alt ut som en spiker

​
Men tilbake til tallene - la oss ta en titt på fjorårets data om PHP versjoner som brukes i Packagist-pakker. De nyeste dataene er tilgjengelige på kildesiden packagist.org

Pakkeinstallasjoner av PHP mindre versjonsgraf

​
Er dette adopsjonskurven for nye versjoner av et utdøende programmeringsspråk?

​
Hvis det ikke er nok, la oss sjekke "PHP-dødsraten" vår mot andre språk.
​

Datagrunnlaget for analysen er hentet fraGitHut 2.0som genererer et diagram over antall git push per språk til Github siden 2012, i henhold til ordningen - "Den prosentvise språkfordelingen i linjediagrammet viser de 10 største (eller manuelt valgte) språkene siden 2012/Q2".

graf over prosentvis fordeling av programmeringsspråk

​
Som du kan se PHP samt andre populære språk som Ruby, C/C++, Python har opplevd et betydelig fall i popularitet på Github de siste årene, men det er en oppadgående trend, og vi forventer at de vil komme tilbake til høye posisjoner etter en lengre periode med sidelengs utvikling. (dette er ikke investeringsrådgivning)

​
Den første hype for Javascript-språket kan sees i det samme diagrammet. Jeg vil allerede overlate konklusjonene og analysen til deg, kjære leser.

​
bilde

​
Men på den annen side - et utdøende språk burde vel ikke ha en tendens til å øke antall jobbtilbud for programmerere?
​

bilde

​
I skrivende stund kan jeg velge mellom 171 jobbtilbud på en av de ledende jobbportalene i Polenhvorav hele 50 er for juniorer. PHP er døende, ikke sant?
​

PHP meme - php er døende

Og apropos penger... visste du at PHP og dens kilde kode har blitt vedlikeholdt siden november 2021 av uavhengig åpen kildekode samfunnetPHP-stiftelsen som betaler mye penger til OpenSource-utviklere for bidrag til php-src?

I motsetning til andre språk og rammeverk, som ofte eies av store selskaper, er kjernen i utviklingen team betales direkte fra stiftelsens konto, som drives av bidrag fra private selskaper som JetBrains og Symfony Corp, men også avsmå bidrag fra individuelle utviklere.

Åpen kildekode i all sin prakt!

​

#2 PHP er forferdelig

​

Ja, dette argumentet kommer alltid fra utviklere som har blitt kjent med sterkt typede, sammenlignbare språk.
​
Når vi ser på grafen over data som ble samlet inn i løpet avStackOverflow-undersøkelse av 2021, kan du se at så mange som 10 834 respondenter, som representerer nesten 60% av totalen, syntes at PHP var "forferdelig".

​
bilde
​
Som en gammeldags PHP programmererJeg forstår hvorfor det er slik. Jeg blir umiddelbart minnet om et klassisk eksempel på hukommelsesproblemer i PHP:

<?php

class FOO {
  public $f;
}

class BAR {
  public $f;
}

while(1) {
  $a = ny FOO();
  $b = ny BAR();
  $a->f = $b;
  $b->f = $a;
  print "Minnebruk: " . number_format(memory_get_usage(true)) . " bytesn";
  unset($a);
  unset($b);
}

For de uinnvidde - ja, koden ovenfor forårsaker en minnefeil. Og det er mer. Fra den idiotiske navngivningen av metoder og den totale mangelen på logikk i rekkefølgen av parametrene (ja, vi elsker alle str_ og array_) til PHPs mest berømte feil T_PAAMAYIM_NEKUDOTAYIM - PHP er full av særegenheter og laster fra gamle versjoner. Dette betyr ikke at det vi hørte om PHP for noen år siden, gjelder fortsatt. Språket har gjennomgått en enorm metamorfose, og i dag er jeg glad for å kunne se på objektdefinisjonene mine:

readonly-klassen NotificationEvent
{
    offentlig funksjon __construct(
        public string $context,
        public User $user,
        public string $body,
        public DateTime $issuedAt,
    ) {}
}

Dessuten er PHP økosystem har vokst enormt, og vi har nå utrolige muligheter til å lage god, høyt typet og godt testet kode. Vi kan bruke Symfony ​for å utvikle DDD-applikasjoner uten store problemer, og vi kan omgå problemet med PHPs synkronisering ved å bruke Message Bus.

Og selv om jeg selv ikke tror PHP er egnet for å lage langlivede backend-prosesser og har store ytelsesproblemer når det gjelder tilstandssynkronisering, men jeg har ogsåopprettet en PHP konsollspill ved å bruke Symfony + Docker med mine egne hender som et eksempel på at PHP fortsatt kan ha utradisjonelle bruksområder.

​
En annen fordelen med PHP er den lave inngangsbarrieren for nye utviklere. Dokumentasjon av to populære rammeverk, Symfony ogLaravel og PHP dokumentasjon i seg selv er nok til å komme inn i backend-verdenen med deres hjelp. En verden som ikke er perfekt i PHP, men som tillater mye. Ved hjelp av tilleggsbiblioteker som Laravel Nova kan vi lage nesten alle komponenter i systemet vårt med bare to kommandoer.

Etterglød

​
Er PHP ...døende?

Nei, men det har et imageproblem og trenger mye arbeid for å forbedre det. Vi programmerere må gjøre dette arbeidet ved å lære opp den nye generasjonen og videreformidle beste praksis i form av artikler, biblioteker og tips.

Som et språk som har vært på marked i tjue år, og som allerede har overlevd mer enn én hype (husker du Objective-C?) Jeg tror det vil klare seg og finne sin nisje.
​
Og hvem vet, kanskje mine spådommer viser seg å være riktige, og PHP 10.x vil blomstre igjen om to år?

samarbeidsbanner

Relaterte artikler

Programvareutvikling

PHP 8.2: Hva er nytt?

Den nye versjonen av PHP er rett rundt hjørnet. Hvilke nye implementeringer bør du vite om? Sjekk denne artikkelen for å finne ut av det!

The Codest
Sebastian Luczak PHP Enhetsleder
Programvareutvikling

GraphQL: Erfaringer fra produksjon

Vi skriver 2020. Teamet ditt går i økende grad over til å bygge applikasjoner med én side, eller i det minste inkludere rike komponenter i vanlige applikasjoner med flere sider. [GraphQL](https://graphql.org/) er [over to år gammel](https://en.wikipedia.org/wiki/GraphQL) nå, noe som ...

Pawel Wal

Abonner på vår kunnskapsbase og hold deg oppdatert på ekspertisen fra IT-sektoren.

    Om oss

    The Codest - Internasjonalt programvareutviklingsselskap med teknologisentre i Polen.

    Storbritannia - Hovedkvarter

    • Kontor 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale teknologisentre

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      The Codest

    • Hjem
    • Om oss
    • Tjenester
    • Casestudier
    • Vet hvordan
    • Karriere
    • Ordbok

      Tjenester

    • Det rådgivende
    • Programvareutvikling
    • Backend-utvikling
    • Frontend-utvikling
    • Staff Augmentation
    • Backend-utviklere
    • Ingeniører i skyen
    • Dataingeniører
    • Annet
    • QA-ingeniører

      Ressurser

    • Fakta og myter om samarbeid med en ekstern programvareutviklingspartner
    • Fra USA til Europa: Hvorfor velger amerikanske oppstartsbedrifter å flytte til Europa?
    • Sammenligning av Tech Offshore Development Hubs: Tech Offshore Europa (Polen), ASEAN (Filippinene), Eurasia (Tyrkia)
    • Hva er de største utfordringene for CTO-er og CIO-er?
    • The Codest
    • The Codest
    • The Codest
    • Retningslinjer for personver
    • Vilkår for bruk av nettstedet

    Opphavsrett © 2025 av The Codest. Alle rettigheter forbeholdt.

    nb_NONorwegian
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek nb_NONorwegian