PHP vs Python: finns det ett tydligt val 2020?
det finns massor av bra Språk Att lära sig. Idag kommer vi att bryta ner skillnaderna mellan två av de bästa: PHP vs Python. Vilken är bäst för din ansökan? Vilket kommer att ge dig den bästa avkastningen på din utvecklingstid?
vi kommer att ställa dessa två head-to-head och ta reda på vilket som är det bästa valet för dig.
enkel Installation
om du bygger en liten applikation själv har PHP tre enkla fördelar.
Installation är en bris. Det går bra på Windows (native eller WSL), OS X och Linux, och finns på en mängd delade webbhotell runt om i världen, vanligtvis för en minimal avgift.
Installera Python kan vara ett svårt förslag. Om du använder OS X finns det en befintlig systemversion av Python som installerades på din dator.
dåliga nyheter.
det är föråldrat och inte lämpligt för applikationsutveckling.
lita på mig, du vill inte installera nya paket på systemet Python. Du måste installera en ny version för att se till att ditt system är så stabilt som möjligt.
Python på Windows kan också ta lite arbete att installera.
det vanligaste rådet är att använda en Windows-pakethanterare som Chocolatey när du börjar. Om du planerar för ett team kan det lilla extra arbetet lägga till.
om ditt team är på Linux har du dock inga problem med att installera Python.
PHP vinner denna runda på grund av att det är lättare att installera ganska mycket överallt.
betyg: PHP 1, Python 0
Bibliotekshantering
Python har en stark fördel jämfört med PHP.
Python använder Pip (en rekursiv akronym som står för” Pip installerar Python”) för att hantera paket. Pip gör det enkelt att hantera olika bibliotek i en Python-applikation, det är snabbt och projektets krav är lätta att analysera med en överblick. Som Python-utvecklare är Pip ett viktigt verktyg att ha i din verktygsväska.
PHP: s Bibliotekshantering är inte lika stark.
PHP 7 introducerade Composer, vilket är ett fantastiskt verktyg, mestadels har komplett, och (när parat med ett verktyg som Packagist), hittar du pakethantering nära på nivå med Python ’ s. tyvärr, Det är fortfarande ganska ung.
i slutet av dagen har Python ett bredare utbud av mogna paket, och deras verktyg är lite enklare att installera och använda just nu.
en punkt för Python.
betyg: PHP 1, Python 1
miljöhantering
om du bygger dina applikationer helt på behållare med något som Docker behöver du förmodligen inte oroa dig för miljöhantering. Så, grattis! Flytta höger längs.
om det inte beskriver dig, att kunna segregera programmets installerade språk-och biblioteksversioner är en viktig del av att hålla sig frisk som utvecklare.
Python har återigen en best of breed-applikation för att hantera miljöer. Virtualenv är ett system som används för att installera flera versioner av Python sida vid sida och växla mellan dem snabbt. Virtualenv är en av de ursprungliga miljöcheferna och har underhållits aktivt i mer än ett decennium. Det är en fantastisk mjukvara.
PHP är inte så lycklig. Det finns en analog för virtualenv för Phpkallad virtPHP,. men det projektet har arkiverats och underhålls inte längre aktivt. Deras egna utvecklare föreslår faktiskt att använda behållare istället.
detta är klokt råd eftersom containrar har alla möjliga fördelar för utvecklare och operativ distribution. Tyvärr passar de inte bra för alla miljöer. Om din miljö är en av dem är PHP en nackdel här.
Python gör en annan poäng.
betyg: PHP 1, Python 2
lätt att lära sig
Python och PHP är mycket lika. Båda är objektorienterade tolkade språk som körs på en mängd olika operativsystem. De är båda dynamiskt skrivna och har fantastiskt IDE-stöd. Slutligen sticker Python och PHP ut i syntaxvärlden.
PHP kräver att du prefixar alla variabler med ett $ – tecken och använder operatören -> för att indikera en metod som anropas på ett objekt. De gör det sticker ut från andra C-stil språk.
Pythons syntax skiljer sig från många andra språk. Den förfogar över lockiga hängslen och i stället omfattar den whitespace-känslighet.
så, vilket är lättare att lära sig?
det är svårt att säga.
PHP har vissa fördelar. PHP har ett tveeggat svärd i sitt array-koncept, som fungerar som något som en kombination mellan Pythons lista och ordboksdatatyper. Det är en fördel för om du förstår hur du använder en array kan du göra mycket i PHP. Det är dock också negativt eftersom PHP ofta saknar kvalitetsimplementeringar av andra mer fokuserade datatyper.
om du försöker göra något som inte passar in i en array, betyder PHP att du kanske behöver skriva din egen datatyp.
i Python är det inte fallet.
Python har ett brett utbud av inbyggda datatyper som är redo att gå direkt ur lådan. Utmaningen med Python är ofta att veta vilket verktyg du ska använda för det specifika jobbet du gör. Det är fortfarande en utmaning, men det är vanligtvis lättare att lösa. Python har en nackdel att Python 2 till Python 3-övergången inte har varit bakåtkompatibel.
ytterligare ett snabbt ord om att lära sig PHP: det är ett gammalt språk. Det betyder att det finns många föråldrade och uppriktigt dåliga tutorials där ute. Det är ett verkligt hinder för att lära sig språket från början.
trots att båda poäng i denna kategori.
betyg: PHP 2, Python 3
applikationshastighet
många av de saker som gör webbapplikationer långsamma är inte relaterade till programmeringsspråk alls. Långsam databasfrågor mosse ner varje programmeringsspråk. Att förlita sig på överdrivna nätverksfrågor eller läsa mycket information från en disk kommer att sakta ner dig varje gång. Som sagt, i de flesta fall är PHP ett snabbare programmeringsspråk än Python.
Core PHP-teamet har gjort mycket för att påskynda PHP, och med PHP 7 lyckades de.
den utvärderingen kommer dock inte utan varningar. PHP startar om hela din applikation varje gång en webbförfrågan startar. För det mesta är det inte ett problem. Det kan dock vara problem om du arbetar med ett program som behöver dela resurser över förfrågningar.
eftersom PHP ställer in och tårar ner hela applikationen på varje begäran kan det vara svårt att dela resurser. Det är inte så mycket av ett problem för Python, och i rättvisa är det något som de flesta webbapplikationer inte behöver göra.
det är också viktigt att komma ihåg att oavsett språk är du inte garanterad en snabb webbapp. Om du bygger en ny webbapplikation och letar efter bästa prestanda bör du ansluta till ett verktyg som Retrace. Det hjälper dig att identifiera problemfläckar i din ansökan och påskynda dem oavsett vilket språk du väljer.
PHP får poängen här.
betyg: PHP 3, Python 3
felsökning
när du bygger en ny applikation är den viktigaste frågan inte alltid vad som händer när saker fungerar bra. Ofta måste du veta vad som händer när saker går sönder. För erfarna utvecklare betyder det att bifoga en debugger och ta reda på var din kod gick fel.
både PHP och Python har fantastiska felsökare som tusentals utvecklare använder dagligen. Pythons steg-genom debuggers integreras direkt i IDEs som Visual Studio Code eller PyCharm (min personliga favorit). Om du skriver Python behöver du bara trycka på ”debug” – knappen och du är ute efter tävlingarna.
i PHP är det inte alltid så enkelt. Ibland kan felsökning av PHP kräva lite installationsarbete först. Det är inte en stor sak att få en PHP debugger igång. Vem som helst kan göra det. Men det är bra att veta att gå in.
felsökning är dock inte bara för utveckling. En gratis testversion av Retrace kommer att ge kraftfull felövervakning och kodförbättring till dina produktionsappar också.
så, vilket språk poäng här? Jag skulle säga att de knyter. Båda ger kraftfulla, förstklassiga debuggers med utmärkt IDE-integration.
betyg: PHP 4, Python 4
dokumentation
för vår sista kategori tittar vi på språkdokumentation. När du dyker in i ett nytt projekt är bra dokumentation avgörande för din framgång.
PHP har en robust dokumentationssida med en unik funktion. Utvecklare kan bidra med kommentarer på varje dokumentationssida. Dokumentationen täcker redan effektivt alla inbyggda funktioner i språket på ett enkelt, enkelt språk. Kommentarerna kan vara ett körsbär på toppen som hjälper till att förklara komplicerade begrepp från en annan riktning.
det finns dock en stor nackdel. Dessa kommentarer stannar kvar för alltid. Det betyder att när du läser PHP: s dokumentationssidor kommer kommentarerna som visas först från mycket gamla versioner av språket. Ibland läser du en kommentar kvar på en funktions dokumentationssida för att ta reda på att utvecklarna tog bort det beteende som beskrivs för tre år sedan. Detta leder till mycket förvirring, som du kan föreställa dig.
Python har inte det problemet, eftersom deras dokumentation inte tillåter kommentarer. Deras dokumentation är skriven i en mindre konversationston. Vissa människor tycker att detta är till hjälp, medan andra har svårt att förstå. Pythons dokumentation är också lite mer kortfattad, övergripande.
båda dessa språk utnyttjar deras dokumentation väl. Men jag måste välja en vinnare. I det här fallet säger jag att PHP: s regelbundet föråldrade kommentarer är tillräckligt för att hålla det från att göra en poäng här.
betyg: PHP 4, Python 5
PHP vs Python slutsats
vår slutliga utvärderingen slutar med Python håller en mycket liten kant över PHP. Ärligt talat, det känns rätt. Både PHP 7 och Python 3 är utmärkta val för att bygga en webbapplikation 2020. Men om jag var tvungen att välja skulle jag välja Python.
när du jämför PHP vs Python, vilken ska du välja? Det beror på vad du behöver.
behöver du dela miljöer på samma dator? Python är nästan säkert det rätta svaret. Finns det utvecklare i ditt team som redan känner till lite PHP? PHP är förmodligen din bästa insats! Kräver din ansökan bra Unicode-stöd? Python skulle vara vägen att gå.
oavsett vilken väg du går, det handlar inte om PHP vs Python. Nyckeln är att komma ut och bygga. Du kan inte fatta fel beslut här. Lycka till att bygga din nya ansökan!