Risposta migliore
La risposta di Oluwasegun è imparziale e buona, ma breve. La risposta di Bobsy, sebbene abbia alcuni punti validi, è altamente parziale e supponente. Quindi lasciami fare del mio meglio per darti qualcosa che non sia di parte, che dichiari chiaramente cosa è / non è unopinione e fornisca entrambi i lati della “storia”. Quanto segue si occuperà solo di sviluppo web, non di sviluppo software (che tra laltro può essere fatto con entrambi).
In primo luogo, definire “meglio “? Questo è un termine incredibilmente soggettivo che dipende interamente da ciò che stai cercando. Intendi più veloce? Più ampiamente utilizzato? Più facile? Offre maggiori prospettive di occupazione? Maggiore disponibilità di framework e librerie? Potrei continuare.
PYTHON
Cosa sono I punti di forza di Python?
- Vasta gamma di librerie / moduli incorporati e di terze parti specifici per lo sviluppo web e la gestione del server (la gestione del server si applica anche allo sviluppo web).
- Queste librerie di terze parti sono ben progettate, ben tenute, facili da installare e potenti.
- Facilità di sviluppo. Se hai mai programmato in Python, sai quanto è facile.
- Django è molto potente. Aiuta a sostituire JavaScript e PHP.
- [ OPINIONE ] Personalmente odio PHP e JavaScript. Sono frustranti da usare ed entrambi sono soggetti a vulnerabilità. PHP più a causa di difetti nella lingua; JavaScript a causa di difetti nelle specifiche bizzarre che portano a cattive interpretazioni di come il motore JS dovrebbe essere implementato.
- Completamente orientato agli oggetti.
- Ottimo per la manipolazione dei dati e la macchina apprendimento (può essere importante se fornisci pubblicità mirata sulla tua piattaforma).
- Con il framework e i moduli (inclusi come standard) giusti, puoi integrarti correttamente e piacevolmente con un server di database e generare query per il tuo sito.
- es Se lutente sta cercando nel proprio account una chiave di licenza specifica, il framework lo gestisce traducendo ciò che sta facendo lutente in una query SQL.
- ad es. # 2: se lamministratore sta cercando un cliente tramite indirizzo e-mail, il framework lo tradurrà in una query SQL, quindi tradurrà i risultati e li visualizzerà in HTML formattato CSS.
Quali sono i punti deboli di Python?
- Lento. Mi piace molto lentamente. Più lento di quanto piace ammettere ai fan di Python. Come ha detto Oluwasegun, PHP è fino a 3 volte più veloce (a volte di più, a volte di meno, dipende).
- Quando lo usi per lo sviluppo, non puoi davvero pensarlo come se stessi usando Python: stai usando un framework (ad esempio Django). Quindi imparare Python non è abbastanza, devi imparare anche il framework.
- Python non è neanche lontanamente utilizzato come PHP, quindi il suo fattore di occupabilità, in particolare per quanto riguarda lo sviluppo web, è molto più limitato. Ho sentito una statistica secondo la quale circa l80\% di tutti i siti web utilizza PHP: non posso verificare la statistica, ma non mi sorprenderebbe.
- Questo tipo di cose va di pari passo con la lentezza, ma deve essere affrontato separatamente: uso delle risorse. Risorse di Python hogs molto in più rispetto a PHP. Penseresti che, se utilizzasse così tante delle risorse disponibili, ciò potrebbe effettivamente aiutare ad accelerarlo ……. No, no, non lo fa.
- [ Opinione ] Laspetto OOP di Python è abissale. Se hai mai eseguito un OOP in un linguaggio come Java, C # o C ++, capirai perché lo odio. Qualsiasi lingua che si basa su
this
esuper()
non lha eseguita correttamente. Ti fa sembrare il codice confuso da morire, offusca lintero processo e rende lo sviluppatore incline agli errori. Semplicemente non è necessario: lintero aspetto della lingua sembra (come penso di aver detto altrove su questo sito) come se fosse imbullonato , con un martello , da un pesce cieco…. come un ripensamento. E indovina cosa? Era! Va bene, non è stato avvitato con un martello, da un pesce. Ma era un ripensamento e inizialmente non era destinato a far parte del linguaggio (inizialmente non era incluso). - È unimplementazione scarsa e restrittiva di OOP. Ancora una volta, Opinione . Ad alcune persone piace, ma di solito sono quelle che dicono che C e C ++ sono difficili e confuse.
Tutto sommato, non è terribile, vero? Personalmente penso che il problema più grande in quanto sopra sia la “quota di mercato” rispetto a PHP, comunque dal punto di vista delloccupabilità.
PHP
Quali sono i punti di forza di PHP?
- Molto veloce.
- Completamente orientato agli oggetti .
- Utilizzato nella stragrande maggioranza dei servizi web di back-end e delle funzionalità “dietro le quinte” dei siti web.
- Si integra perfettamente con i server SQL e praticamente con tutti i tipi di essi.
- Genera automaticamente le query al database (vedi la sezione Python di esempio di cosa significa)
- Funzionalità incorporate meravigliosamente diverse progettate per luso web.
- Sono disponibili molte API Web PHP che estendono ulteriormente ciò che può essere fatto.
- Molte di queste sono progettate specificamente per luso con PHP e non possono essere utilizzate con Python e Django.
- ad es. Molte API di e-commerce
Quali sono i punti deboli di PHP?
Oh ragazzi. Ci sono dei veri humding:
- [ Opinione ] La sintassi è terribilmente orribile. Sì, questa è unopinione, ma è unopinione ampiamente condivisa. Anche ogni singolo programmatore PHP con cui ho parlato ha espresso questa opinione. Se non lo conosci già, dai unocchiata.
- Attacchi di SQL injection. Vedi il link sottostante per una spiegazione dettagliata di cosè, perché si verifica e come risolverlo utilizzando PHP:
- Prevenire le vulnerabilità di SQL injection nelle applicazioni PHP e risolverli
- Esecuzione di codice in modalità remota:
- Un bug in unapplicazione PHP può accettare linput dellutente e valutarlo come codice PHP.
- Cross -Site Scripting (XSS [X = Cross]):
- Stored XSS e Reflected XSS
- Bypass autenticazione – Tecnicamente un errore dello sviluppatore, ma il linguaggio stesso lo rende davvero, davvero facile commetti questo errore.
- Potrei continuare con altro, ma ecco invece un link:
- https://www.wordfence.com/learn/understanding-php-vulnerabilities/
- [ Opinione ] OOP è altrettanto pessimo come in Python. Forse peggio a causa della sintassi. Utilizza ancora
this
(ma in realtà è$this
)
Tutto sommato, queste vulnerabilità sono dannatamente orribile, ma sono principalmente dovuti a un errore dello sviluppatore. Impara a conoscere bene PHP e cerca non solo “ Come faccio a sviluppare PHP” , ma anche “insidie dello sviluppo PHP” e “vulnerabilità PHP” essere un problema del genere.
Tutti insieme ora
Allora qual è la conclusione finale da trarre qui? Ebbene, nonostante quello che dicono i fan di Python, Python non può sostituire completamente PHP, a causa della presenza di API comuni solo PHP e del predominio del settore di PHP.
So di aver già continuato per secoli, ma questo è il mio punto finale ed è molto importante affermare: lidea che gli sviluppatori dovrebbero scegliere “una lingua migliore perché è la migliore” è un enorme fallimento sia del sistema educativo moderno, sia degli sviluppatori junior [giovani]. Per essere veramente competente in qualsiasi campo di sviluppo, web, app o software, devi conoscere più lingue. Lo stesso vale per essere impiegabili in modo affidabile.
ANECDOTE : Quando ho iniziato nel settore, ricordo di essere rimasto molto colpito quando ho chiesto e gli sviluppatori al lavoro mi hanno detto che conoscevano Assembly, C, C ++, C #, JavaScript, binario ed esadecimale.
Io Sono meno impressionato ora perché conosco C, C ++. alcuni C # (per saperne di più), JavaScript, Python, Java, HTML, CSS, alcuni PHP (per saperne di più), SQL, binario, esadecimale … Mi sento come se me ne mancassero alcuni ma non riesco a ricordare dalla parte superiore della mia testa. Sono ancora molto più esperti e competenti di me, ma ora capisco che conoscere molte lingue è normale ed è ciò che deve essere fatto.
Quindi, in conclusione, non si tratta di quale sia il migliore, si tratta di capire dove e quando usarli. E, per lo sviluppo web, i MINIMI NUDI che dovresti imparare sono i seguenti:
- HTML
- CSS
- JavaScript
- PHP
- JSON (sostituire XML)
- SQL (MySQL, Oracle, MS SQL sono i 3 principali) – attenzione ai diversi “sapori”
- Python
Quanto sopra è assolutamente non negoziabile per una carriera. Facoltativamente, impara anche Java. È utile per le app web.
Modifica: prova di mancanza di pregiudizi? Odio Python e PHP allo stesso modo; come in, in realtà non mi piacciono sinceramente entrambi.
Risposta
Python VS PHP : quale lingua dovresti scegliere? La domanda è della massima importanza per i nuovi sviluppatori e le startup. La risposta a questa domanda non è così semplice in quanto entrambe le lingue sono popolari. Sono utilizzati globalmente su Internet a causa di budget e altri problemi di sviluppo.
Problemi affrontati dai principianti durante la scelta tra PHP e Python:
- Per gli sviluppatori che stanno appena iniziando il loro sviluppo web PHP, decidere tra i linguaggi è difficile.
- I principianti trovano difficile scegliere tra i linguaggi di sviluppo web poiché hanno requisiti diversi.
- Inoltre, affrontano due problemi mentre si occupano di qualsiasi lingua.Uno: devono imparare il costrutto di programmazione e poi imparare come implementarli nella lingua scelta. Secondo: richiedono esperienza nella sintassi che non ha senso per loro.
- Questi problemi affrontati dai nuovi sviluppatori sono dovuti ai consigli di parte che ricevono da Python e Sviluppatori PHP . Se parli con uno sviluppatore Python, elencherà tutti i pro del linguaggio e nessun contro. Lo stesso vale per gli sviluppatori PHP, insisterebbero sul fatto che non esiste un linguaggio migliore.
Quindi, come decidi tra le due lingue? Bene, per semplificarti le cose, abbiamo elencato quattro punti in questo blog per il confronto Python VS PHP . Dopodiché, ti sarà facile decidere tra le due lingue.
Prima di passare ai tre punti, diamo unocchiata ad alcune statistiche riguardanti il utilizzo di entrambi i linguaggi di sviluppo web.
Punti di confronto per Python VS PHP
1. Framework
Un framework è una comunità che sviluppa codici e mantiene la compilazione del codice. Aiuta uno sviluppatore a creare rapidamente unapp Web senza creare nulla da zero.
Un framework offre numerose funzioni che gli sviluppatori possono aggiungere secondo le loro esigenze per aggiungere funzionalità allapp.
I framework Python sono potenti e versatili ma offrono opzioni limitate. Il linguaggio Python offre unampia gamma di framework che fondamentalmente svolgono la stessa funzione di PHP. Cè un continuo aumento nel numero di framework Python a causa di un maggiore utilizzo del linguaggio nei progetti. Flask e Django sono framework popolari usati dagli sviluppatori a livello globale.
I framework PHP sono anche enormi in numero che offrono agli sviluppatori la possibilità di creazione di app specifiche del settore. I famosi framework PHP sono symfony e Laravel che sono usati da molte app popolari che sono usate da milioni di utenti.
2. CMS
Un CMS è una piattaforma software che offre una soluzione versatile per progetti di sviluppo di app. Offre una soluzione per blog, e-commerce e così via, assicurando che gli sviluppatori possano concentrarsi sul business case. Il CMS più popolare è WordPress creato utilizzando PHP. Altri CMS popolari sono Magento e WooCommerce, popolari per lo sviluppo di siti di e-commerce. Anchessi sono costruiti utilizzando PHP.
Python ha una piattaforma CMS Django che ha un uso limitato.
PHP è un chiaro vincitore qui in quanto è una piattaforma CMS migliore utilizzata da molti utenti.
3. Popolarità
Entrambi i linguaggi di sviluppo web sono popolari, ma attualmente PHP domina l80\% del mercato. PHP è utilizzato da molti siti Web popolari che includono Yahoo, Wikipedia, Tumblr e così via. Anche Facebook ha utilizzato PHP inizialmente prima di passare al framework PHP.
Python è una delle grandi scelte della programmazione backend. E PHP è sul mercato da un po di tempo ed è ancora utilizzato per scopi di backend.
Anche il linguaggio Python è abbastanza popolare soprattutto da quando Google lha scelto per alcuni dei suoi famosi progetti. Reddit, Pinterest, YouTube, Instagram e Spotify sono alcune piattaforme che utilizzano il linguaggio Python.
In termini di popolarità, entrambi le lingue stanno dando una forte concorrenza luna allaltra. Ogni giorno vengono annunciati nuovi progetti che utilizzano le suddette lingue.
4. Curva di apprendimento
La curva di apprendimento in termini di linguaggi di programmazione indica la fluidità di uno sviluppatore nella sintassi del linguaggio. Implica anche la comprensione che lo sviluppatore ha per lutilizzo di strumenti per tradurre il web design in codice funzionale.
Python è il chiaro vincitore perché è facile da imparare e da capire per i principianti. PHP è difficile e ha poco spazio per gli errori, quindi non è adatto ai principianti.
Python ha più spazio per gli errori e il codice non si rompe a causa di piccoli errori. È proprio per questo motivo che le scuole insegnano il linguaggio web Python per le basi della programmazione.
Il framework PHP e gli esperti stanno facendo del loro meglio per rendere il linguaggio facile e più user-friendly.
Conclusione:
Python VS PHP non è mai dibattito, ma entrambe le lingue offrono molte opportunità di apprendimento agli sviluppatori. Con la loro sintassi, strumenti e funzionalità pronti per luso, sia gli sviluppatori Python che quelli PHP hanno molto con cui lavorare.
Si consiglia di provare entrambi i linguaggi. Dovresti optare per quello che si adatta al tuo progetto ed è facile da usare. PHP è più adatto per progetti tecnici mentre Python è facile per nuovi sviluppatori e startup.