Beste antwoord
Oluwaseguns antwoord is onbevooroordeeld en goed, maar kort. Bobsys antwoord, hoewel het enkele geldige punten heeft, is zeer bevooroordeeld en eigenwijs. Dus laat me mijn best doen om je iets te geven dat niet bevooroordeeld is, duidelijk aangeeft wat wel / niet een mening is, en beide kanten aan het ‘verhaal’ biedt. Het volgende heeft betrekking op alleen met webontwikkeling, niet met softwareontwikkeling (wat trouwens met beide kan worden gedaan).
Ten eerste, definieer “beter ”? Dat is een ongelooflijk subjectieve term die volledig afhangt van wat u zoekt. Bedoel je sneller? Op grotere schaal gebruikt? Makkelijker? Biedt meer kansen op werk? Betere beschikbaarheid van frameworks en bibliotheken? Ik zou kunnen doorgaan.
PYTHON
Wat zijn De sterke punten van Python?
- Uitgebreide reeks ingebouwde bibliotheken en modules van derden, specifiek voor webontwikkeling en serverbeheer (serverbeheer is ook van toepassing op webontwikkeling).
- Die bibliotheken van derden zijn goed ontworpen, goed onderhouden, eenvoudig te installeren en krachtig.
- Gemakkelijk te ontwikkelen. Als je ooit in Python hebt geprogrammeerd, weet je hoe gemakkelijk het is.
- Django is erg krachtig. Het helpt JavaScript en PHP te vervangen.
- [ MENING ] Persoonlijk haat ik PHP en JavaScript. Ze zijn frustrerend in het gebruik en beide zijn kwetsbaar. PHP meer vanwege fouten in de taal; JavaScript vanwege gebreken in de gekke specificatie die leiden tot slechte interpretaties van hoe de JS-engine moet worden geïmplementeerd.
- Volledig objectgeoriënteerd.
- Geweldig voor gegevensmanipulatie en machine leren (kan belangrijk zijn als u gerichte advertenties op uw platform aanbiedt).
- Met het juiste framework en modules (standaard inbegrepen) kunt u goed en mooi integreren met een databaseserver en automatisch zoekopdrachten voor uw site genereren.
- bijv Als de gebruiker op zijn account zoekt naar een specifieke licentiesleutel, verwerkt het framework dat door te vertalen wat de gebruiker doet in een SQL-query.
- bijv. # 2: Als de beheerder op e-mailadres naar een klant zoekt, vertaalt het framework dat in een SQL-query, vertaalt vervolgens de resultaten en geeft ze weer in CSS-opgemaakte HTML.
Wat zijn de zwakke punten van Python?
- Traag. Echt traag. Langzamer dan Python-fanboys graag toegeven. Zoals Oluwasegun zei, is PHP tot 3x sneller (soms meer, soms minder, hangt ervan af).
- Wanneer je het gebruikt voor ontwikkeling, kun je het niet echt zien alsof je Python gebruikt: je gebruiken een framework (bijv. Django). Dus Python leren is niet genoeg, je moet ook het framework leren.
- Python wordt lang niet zo veel gebruikt als PHP, dus de inzetbaarheid ervan, met name met betrekking tot webontwikkeling, is veel beperkter. Ik hoorde een statistiek dat ~ 80\% van alle websites PHP gebruikt – ik kan de statistiek niet verifiëren, maar het zou me niet verbazen.
- Dit soort gaat hand in hand met traagheid, maar moet apart worden behandeld: gebruik van hulpbronnen. Python hogs bronnen veel meer dan PHP. Je zou denken dat als het zoveel van de beschikbare bronnen zou gebruiken, het misschien zou helpen om het te versnellen … Nee, nee dat doet het niet.
- [ Opinion ] Het OOP-aspect van Python is verschrikkelijk. Als je ooit een OOP hebt gedaan in een taal als Java, C # of C ++, zul je begrijpen waarom ik er een hekel aan heb. Elke taal die afhankelijk is van
this
ensuper()
heeft het niet goed gedaan. Het laat je code er verwarrend uitzien, het hele proces verdoezelt en maakt de ontwikkelaar vatbaar voor fouten. Het is gewoon niet nodig – het hele aspect van de taal voelt (zoals ik denk dat ik elders op deze site heb gezegd) alsof het vastgeschroefd was, met een hamer , door een blinde vis…. als een bijzaak. En raad eens? Het was! Oké, het was niet vastgeschroefd met een hamer, door een vis. Maar het was een bijzaak en was in eerste instantie niet bedoeld als onderdeel van de taal (het was aanvankelijk niet inbegrepen). - Het is een slechte en beperkende implementatie van OOP. Nogmaals, Opinie . Sommige mensen vinden het leuk, maar zij zijn meestal degenen die zeggen dat C en C ++ moeilijk en verwarrend zijn.
Al met al is dat niet erg, toch? Persoonlijk denk ik dat het grootste probleem in het bovenstaande marktaandeel is in vergelijking met PHP, hoe dan ook vanuit het perspectief van inzetbaarheid.
PHP
Wat zijn de sterke punten van PHP?
- Zeer snel.
- Volledig objectgericht .
- Gebruikt in de overgrote meerderheid van back-end webservices en achter de schermen-functionaliteit van websites.
- Integreert goed met SQL-servers en vrijwel alle smaken ervan.
- Genereert automatisch zoekopdrachten naar de database (zie Python-sectie van een voorbeeld van wat dit betekent)
- Wonderbaarlijk diverse ingebouwde functionaliteit die is ontworpen voor webgebruik.
- Er zijn veel PHP-web-APIs beschikbaar die verder uitbreiden wat er kan worden gedaan.
- Veel hiervan zijn specifiek ontworpen voor gebruik met PHP en kunnen niet worden gebruikt met Python en Django.
- bijv. Veel e-commerce APIs
Wat zijn de zwakke punten van PHP?
Oh jongen. Er zijn enkele echte humdingers:
- [ Opinie ] De syntaxis is verschrikkelijk verschrikkelijk. Ja, dat is een mening, maar het is een zeer breed gedeelde mening. Elke PHP-programmeur die ik ooit heb gesproken, heeft deze mening ook gehad. Als je er nog niet bekend mee bent, kijk dan eens.
- SQL-injectie-aanvallen. Zie de onderstaande link voor een gedetailleerde uitleg van wat het is, waarom het gebeurt en hoe u het kunt oplossen met PHP:
- Voorkom kwetsbaarheden in SQL-injectie in PHP-applicaties en repareer ze
- Uitvoering van externe code:
- Een bug in een PHP-toepassing kan gebruikersinvoer accepteren en deze evalueren als PHP-code.
- Cross -Sitescripting (XSS [X = Cross]):
- Opgeslagen XSS en gereflecteerde XSS
- Authenticatie-bypass – Technisch gezien een ontwikkelaarfout, maar de taal zelf maakt het heel, heel gemakkelijk om maak deze fout.
- Ik zou door kunnen gaan met meer, maar hier is een link:
- https://www.wordfence.com/learn/understanding-php-vulnerabilities/
- [ Mening ] OOP is net zo slecht als in Python. Mogelijk erger vanwege de syntaxis. Het gebruikt nog steeds
this
(maar het is eigenlijk$this
)
Al met al zijn die kwetsbaarheden behoorlijk verdomd verschrikkelijk, maar ze zijn meestal te wijten aan een ontwikkelaarfout. Leer PHP goed kennen en onderzoek niet alleen Hoe ik een PHP-ontwikkeling doe , maar ook valkuilen voor PHP-ontwikkeling en PHP-kwetsbaarheden, dan zal het niet is zon probleem.
All Together Now
Dus wat is de uiteindelijke conclusie die hier getrokken kan worden? Ondanks wat die Python-fans graag zeggen, kan Python PHP niet volledig vervangen, vanwege de aanwezigheid van gewone PHP-only APIs en de dominantie van PHP in de branche.
Ik weet dat ik al ben doorgegaan voor eeuwen, maar dit is mijn laatste punt en het is echt belangrijk om te zeggen: het idee dat ontwikkelaars een “de beste taal moeten kiezen omdat deze de beste is” is een enorme mislukking van zowel het moderne onderwijssysteem als de junior [jonge] ontwikkelaars. Om echt bekwaam te zijn in elk ontwikkelingsgebied, of het nu gaat om web, app of software, moet u meerdere talen kennen. Hetzelfde geldt om betrouwbaar inzetbaar te zijn.
ANECDOTE : Toen ik voor het eerst in de industrie begon, herinner ik me dat ik erg onder de indruk was toen ik het vroeg en de ontwikkelaars op het werk me vertelden dat ze Assembly, C, C ++, C #, JavaScript, binair en hexadecimaal kenden.
I ben nu minder onder de indruk omdat ik C, C ++ ken. wat C # (meer leren), JavaScript, Python, Java, HTML, CSS, wat PHP (meer leren), SQL, binair, hex … Ik heb het gevoel dat ik er een paar mis, maar ik kan het me niet meer herinneren. Ze zijn nog steeds veel meer ervaren en bekwaam dan ik, maar ik begrijp nu dat het kennen van veel talen gewoon normaal is en dat is wat er moet worden gedaan.
Dus tot slot gaat het er niet om wat beter is, het gaat erom te begrijpen waar en wanneer u ze moet gebruiken. En, voor webontwikkeling, is het KLEINE MINIMUM dat u moet leren het volgende:
- HTML
- CSS
- JavaScript
- PHP
- JSON (vervang XML)
- SQL (MySQL, Oracle, MS SQL zijn de 3 belangrijkste) – pas op voor verschillende smaken
- Python
Bovenstaande is absoluut niet onderhandelbaar voor een carrière. Leer eventueel ook Java. Het is handig voor webapps.
Bewerken: Bewijs van gebrek aan vooringenomenheid? Ik haat Python en PHP allebei even; zoals in, ik heb eigenlijk echt een hekel aan beide.
Antwoord
Python VS PHP : welke taal moet je kiezen voor? De vraag is van het grootste belang voor nieuwe ontwikkelaars en startups. Het antwoord op deze vraag is niet zo eenvoudig, aangezien beide talen populair zijn. Ze worden wereldwijd op internet gebruikt vanwege budgettering en andere ontwikkelingsproblemen.
Problemen waarmee beginners worden geconfronteerd bij het kiezen tussen PHP en Python:
- Voor ontwikkelaars die net met hun PHP-webontwikkeling beginnen, is het moeilijk om tussen de talen te kiezen.
- Beginners vinden het moeilijk om te kiezen tussen de webontwikkelingstalen omdat ze andere vereisten hebben.
- Ze worden ook geconfronteerd met twee problemen bij het omgaan met talen.Ten eerste moeten ze de programmeerconstructie leren en vervolgens leren hoe ze deze in de gekozen taal kunnen implementeren. Ten tweede hebben ze expertise nodig in syntaxis die voor hen nergens op slaat.
- Deze problemen waarmee nieuwe ontwikkelaars worden geconfronteerd zijn te wijten aan het bevooroordeelde advies dat ze krijgen van Python en PHP -ontwikkelaars. Als je met een python-ontwikkelaar praat, zullen ze alle voordelen van de taal vermelden en geen nadelen. Hetzelfde is het geval met PHP-ontwikkelaars, ze zouden erop staan dat er geen betere taal is.
Dus, hoe kies je tussen de twee talen? Om het u gemakkelijk te maken, hebben we in deze blog vier punten opgesomd voor Python VS PHP vergelijking. Hierna zult u gemakkelijk kunnen kiezen tussen de twee talen.
Laten we, voordat we verder gaan met de drie punten, eens kijken naar enkele statistieken met betrekking tot de gebruik van beide talen voor webontwikkeling.
Punten ter vergelijking voor Python VS PHP
1. Frameworks
Een framework is een gemeenschap die codes ontwikkelt en de compilatie van code onderhoudt. Het helpt een ontwikkelaar om snel een web-app te maken zonder iets vanaf nul te maken.
Een framework biedt tal van functies die ontwikkelaars kunnen toevoegen volgens hun behoeften om functionaliteit aan de app toe te voegen.
Python-frameworks zijn krachtig en veelzijdig, maar bieden beperkte opties. Python-taal biedt een breed scala aan frameworks die in principe dezelfde functie vervullen als voor PHP. Er is een continue toename van het aantal Python-frameworks vanwege het toegenomen gebruik van de taal in projecten. Flask en Django zijn populaire frameworks die wereldwijd door ontwikkelaars worden gebruikt.
PHP-frameworks zijn ook enorm in aantal en bieden ontwikkelaars de mogelijkheid om het maken van branchespecifieke apps. De populaire PHP-frameworks zijn symfony en Laravel die worden gebruikt door veel populaire apps die door miljoenen gebruikers worden gebruikt.
2. CMS
Een CMS is een softwareplatform dat een veelzijdige oplossing biedt voor app-ontwikkelingsprojecten. Het biedt een oplossing voor blog, e-commerce enzovoort om ervoor te zorgen dat ontwikkelaars zich kunnen concentreren op de businesscase. Het meest populaire CMS is WordPress dat is gebouwd met PHP. Andere populaire CMS zijn Magento en WooCommerce, populair voor de ontwikkeling van e-commerce sites. Ook deze zijn gebouwd met PHP.
Python heeft een CMS-platform Django dat beperkt wordt gebruikt.
PHP is hier een duidelijke winnaar omdat het een beter CMS-platform is dat door veel gebruikers wordt gebruikt.
3. Populariteit
Beide talen voor webontwikkeling zijn populair, maar momenteel domineert PHP 80\% van de markt. PHP wordt gebruikt door veel populaire websites waaronder Yahoo, Wikipedia, Tumblr enzovoort. Facebook gebruikte aanvankelijk ook PHP voordat het overschakelde naar het PHP-framework.
Python is een van de beste keuzes bij het programmeren van de backend. En PHP is al een tijdje op de markt en wordt nog steeds gebruikt voor backend-doeleinden.
Python-taal is ook behoorlijk populair, vooral omdat Google koos het voor enkele van zijn beroemde projecten. Reddit, Pinterest, YouTube, Instagram en Spotify zijn enkele platforms die Python-taal gebruiken.
In termen van populariteit, beide talen geven elkaar een stevige concurrentie. Er worden dagelijks nieuwe projecten aangekondigd die de genoemde talen gebruiken.
4. Leercurve
De leercurve in termen van programmeertalen betekent de vloeiendheid die een ontwikkelaar heeft in de syntaxis van de taal. Het impliceert ook het begrip dat de ontwikkelaar heeft voor het gebruik van tools om webdesign in functionele code te vertalen.
Python is duidelijk de winnaar omdat het voor beginners gemakkelijk te leren en te begrijpen is. PHP is moeilijk en heeft weinig ruimte voor fouten, waardoor het niet beginnersvriendelijk is.
Python heeft meer ruimte voor fouten en de code breekt niet door kleine fouten. Het is precies om deze reden dat scholen Python-webtaal onderwijzen voor de basisprincipes van programmeren.
PHP-framework en experts doen hun best om de taal gemakkelijk en gebruiksvriendelijker te maken.
Conclusie:
Python VS PHP is een nooit debat, maar beide talen bieden ontwikkelaars veel mogelijkheden om te leren. Met hun gebruiksklare syntaxis, tools en functionaliteiten hebben zowel Python- als PHP-ontwikkelaars veel om mee te werken.
Het wordt aanbevolen dat je beide talen probeert. Kies degene die bij uw project past en die gemakkelijk te gebruiken is. PHP is het meest geschikt voor technische projecten, terwijl Python gemakkelijk is voor nieuwe ontwikkelaars en startups.