PHP vs Python: er der et klart valg i 2020?

der er snesevis af gode sprog at lære. I dag vil vi nedbryde forskellene mellem to af de bedste: PHP vs Python. Hvilken er bedst til din ansøgning? Hvilket vil give dig det bedste afkast på din udviklingstid?

vi sætter disse to head-to-head og finder ud af, hvilket er det bedste valg for dig.

nem Installation

hvis du selv bygger en lille applikation, har PHP tre enkle fordele.

Installation er en leg. Det kører godt på , og kan findes på en række delte hosting sites rundt om i verden, normalt for et minimalt gebyr.

installation af Python kan være et vanskeligt forslag. Hvis du er på OS, er der en eksisterende systemversion af Python, der blev installeret på din computer.

dårlige nyheder.

det er forældet og ikke egnet til applikationsudvikling.

tro mig, du ønsker ikke at installere nye pakker på systemet Python. Du skal installere en ny version for at sikre, at dit system er så stabilt som muligt.

Python på vinduer kan også tage lidt arbejde at installere.

den mest almindelige råd er at bruge en Vinduer pakke manager som Chocolatey som du starter ud. Hvis du planlægger et hold, kan den lille smule ekstra arbejde tilføje op.

hvis dit team er på , har du dog ingen problemer med at installere Python.

PHP vinder denne runde på grund af at være lettere at installere stort set overalt.

Score: PHP 1, Python 0

biblioteksstyring

Python har en stærk fordel i forhold til PHP.

Python bruger Pip (et rekursivt akronym, der står for “Pip installerer Python”) til at administrere pakker. Pip gør det nemt at administrere forskellige biblioteker i en Python-applikation, det er hurtigt, og dit projekts krav er lette at analysere med et øjeblik. Som Python-udvikler er Pip et vigtigt værktøj at have i din værktøjstaske.

PHP bibliotek ledelse er ikke så stærk.

PHP 7 introducerede Composer, som er et fantastisk værktøj, for det meste komplet, og (når det er parret med et værktøj som Packagist), finder du pakkehåndtering tæt på på niveau med Pythons. Desværre er det stadig ret ung.

i slutningen af dagen har Python et bredere udvalg af modne pakker, og deres værktøjer er lidt lettere at installere og bruge på dette tidspunkt.

et punkt for Python.

Score: PHP 1, Python 1

miljøledelse

hvis du bygger dine applikationer helt på containere ved hjælp af noget som Docker, behøver du sandsynligvis ikke bekymre dig om miljøledelse. Så tillykke! Gå til højre.

hvis det ikke beskriver dig selv, at være i stand til at adskille din applikations installerede sprog-og biblioteksversioner er en kritisk del af at forblive sund som udvikler.

Python har igen en best of breed-applikation til at styre miljøer. Virtualenv er et system, der bruges til at installere flere versioner af Python side om side og skifte mellem dem hurtigt. Virtualenv er en af de oprindelige miljøledere og har været aktivt vedligeholdt i mere end et årti. Det er et fantastisk stykke program.

PHP er ikke så heldig. Der er en analog til virtualenv til PHPcalled virtPHP,. men dette projekt er blevet arkiveret og vedligeholdes ikke længere aktivt. Deres egne udviklere foreslår faktisk at bruge containere i stedet.

dette er klogt råd, da containere har alle mulige fordele for udviklere og operationel implementering. Desværre er de ikke en god pasform til ethvert miljø. Hvis dit miljø er et af dem, er PHP en ulempe her.

Python scorer et andet point.

Score: PHP 1, Python 2

let at lære

Python og PHP er meget ens. Begge er objektorienterede fortolkede sprog, der kører på en række operativsystemer. De er begge dynamisk skrevet og har fantastisk IDE support. Endelig, Python og PHP begge skiller sig ud i verden af syntaks.

PHP kræver, at du præfikser alle variabler med et $ – tegn og bruger operatoren – > til at angive en metode, der kaldes på et objekt. De gør det skiller sig ud fra andre C-stil sprog.

Pythons syntaks er forskellig fra mange andre sprog. Det bortskaffer krøllede seler, og i stedet omfavner det hvide rums følsomhed.

så hvad er lettere at lære?

det er svært at sige.

PHP har nogle fordele. PHP har et dobbeltkantet sværd i deres array-koncept, der fungerer som noget som en kombination mellem Pythons liste og ordbogsdatatyper. Det er en fordel, fordi hvis du forstår, hvordan du bruger et array, kan du gøre meget i PHP. Det er dog også negativt, fordi PHP ofte mangler kvalitetsimplementeringer af andre mere fokuserede datatyper.

hvis du forsøger at gøre noget, der ikke passer ind i et array, betyder PHP, at du muligvis skal skrive din egen datatype.

i Python er det ikke tilfældet.

Python har en bred vifte af indbyggede datatyper, der er klar til at gå lige ud af kassen. Udfordringen med Python er ofte at vide, hvilket værktøj du skal bruge til det specifikke job, du laver. Det er stadig en udfordring, men det er normalt lettere at løse. Python har en ulempe, at Python 2 til Python 3-overgangen ikke har været bagudkompatibel.

endnu et hurtigt ord om at lære PHP: det er et gammelt sprog. Det betyder, at der er mange forældede og ærligt dårlige tutorials derude. Det er en reel hindring for at lære sproget fra bunden.

på trods af det Scorer begge i denne kategori.

Score: PHP 2, Python 3

applikationshastighed

mange af de ting, der gør internetapplikationer langsomme, er slet ikke relateret til programmeringssprog. Langsom database forespørgsler mose ned hver programmeringssprog. At stole på overdrevne netværksforespørgsler eller læse en masse information fra en disk vil bremse dig hver gang. Når det er sagt, er PHP i de fleste tilfælde et hurtigere programmeringssprog end Python.

Core PHP-teamet har gjort meget for at fremskynde PHP, og med PHP 7 lykkedes det.

denne evaluering kommer dog ikke uden forbehold. PHP genstarter hele din applikation, hver gang en internetanmodning starter. For det meste er det ikke et problem. Det kan dog være problemer, hvis du arbejder med et program, der skal dele ressourcer på tværs af anmodninger.

da PHP opsætter og nedbryder hele applikationen på hver anmodning, kan det være svært at dele ressourcer. Det er ikke så meget af et problem for Python, og i retfærdighed er det noget, som de fleste internetapplikationer ikke behøver at gøre.

det er også vigtigt at huske, at uanset sproget er du ikke garanteret en hurtig internetapp. Hvis du bygger en ny internetapplikation, og du leder efter den bedste ydelse, skal du tilslutte et værktøj som Retrace. Det hjælper dig med at identificere problemsteder i din applikation og fremskynde dem, uanset hvilket sprog du vælger.

PHP får pointen her.

Score: PHP 3, Python 3

Debugging

når du bygger en ny applikation, er det vigtigste spørgsmål ikke altid, hvad der sker, når tingene fungerer godt. Ofte skal du vide, hvad der sker, når tingene går i stykker. For erfarne udviklere betyder det at vedhæfte en debugger og finde ud af, hvor din kode gik galt.

både PHP og Python har fantastiske debuggere, som tusindvis af udviklere bruger dagligt. Pythons step-through debuggers integreres direkte i IDE ‘ er som Visual Studio Code eller PyCharm (min personlige favorit). Hvis du skriver Python, skal du bare trykke på knappen “debug”, og du er ude på løbene.

i PHP er det ikke altid helt så enkelt. Nogle gange kan debugging PHP kræve en lille smule opsætningsarbejde først. Det er ikke en big deal at få en PHP debugger op og køre. Alle kan gøre det. Det er dog godt at vide at gå ind.

Debugging er dog ikke kun til udvikling. En gratis prøveversion af Retrace vil også medføre kraftig fejlovervågning og kodeforbedring til dine produktionsapps.

så hvilket sprog scorer her? Jeg vil sige, at de binder. Begge bringer kraftfulde, førsteklasses debuggere med fremragende IDE-integration.

Score: PHP 4, Python 4

dokumentation

for vores endelige kategori ser vi på sprogdokumentation. Når du dykker ned i et nyt projekt, er god dokumentation afgørende for din succes.

PHP har et robust dokumentationssite med en unik funktion. Udviklere kan bidrage med kommentarer på hver dokumentationsside. Dokumentationen dækker allerede effektivt alle de indbyggede funktioner i sproget på et enkelt, almindeligt sprog. Kommentarerne kan være et kirsebær på toppen, der hjælper med at forklare komplicerede begreber fra en anden retning.

der er dog en stor ulempe. Disse kommentarer holder sig for evigt. Dette betyder, at når du læser PHP ‘ s dokumentationssider, er de kommentarer, der vises først, fra meget gamle versioner af sproget. Nogle gange læser du en kommentar tilbage på en funktions dokumentationsside for at finde ud af, at udviklerne fjernede den adfærd, der blev beskrevet for tre år siden. Dette fører til en masse forvirring, som du kan forestille dig.

Python har ikke det problem, fordi deres dokumentation ikke tillader kommentarer. Deres dokumentation er skrevet i en mindre konversationstone. Nogle mennesker finder dette nyttigt, mens andre har svært ved at forstå. Pythons dokumentation er også lidt mere kortfattet, samlet set.

begge disse sprog udnytter deres dokumentation godt. Jeg skal dog vælge en vinder. I dette tilfælde siger jeg, at PHP ‘ s regelmæssigt forældede kommentarer er nok til at holde det fra at score et punkt her.

Score: PHP 4, Python 5

PHP vs Python konklusion

vores endelige evaluering slutter med Python holder en meget lille kant over PHP. Ærligt talt, det føles rigtigt. Både PHP 7 og Python 3 er fremragende valg til opbygning af en internetapplikation i 2020. Men hvis jeg skulle vælge, ville jeg vælge Python.

når du sammenligner PHP vs Python, hvilken skal du vælge? Det afhænger af, hvad du har brug for.

har du brug for at dele miljøer på den samme PC? Python er næsten helt sikkert det rigtige svar. Er der udviklere på dit team, der allerede kender nogle PHP? PHP er nok din bedste satsning! Kræver din ansøgning stor Unicode support? Python ville være vejen at gå.

uanset hvilken vej du går, handler det ikke om PHP vs Python. Nøglen er at komme ud der og få bygning. Du kan ikke tage en forkert beslutning her. Held og lykke med at opbygge din nye applikation!

Planlæg En Demo