Melhor resposta
A resposta de Oluwasegun é imparcial e boa, mas curta. A resposta de Bobsy, embora tenha alguns pontos válidos, é altamente tendenciosa e opinativa. Então, deixe-me fazer o meu melhor para lhe dar algo que não seja tendencioso, declare claramente o que é / não é uma opinião e fornece os dois lados da “história”. O seguinte tratará apenas com desenvolvimento web, não desenvolvimento de software (que, aliás, pode ser feito com ambos).
Em primeiro lugar, defina “melhor ”? Esse é um termo incrivelmente subjetivo que depende inteiramente do que você está procurando. Você quer dizer mais rápido? Mais amplamente utilizado? Mais fácil? Oferece maiores perspectivas de emprego? Maior disponibilidade de frameworks e bibliotecas? Eu poderia continuar.
PYTHON
O que são Os pontos fortes do Python?
- Vasta gama de bibliotecas / módulos integrados e de terceiros especificamente para desenvolvimento web e gerenciamento de servidor (o gerenciamento de servidor também se aplica ao desenvolvimento web).
- Essas bibliotecas de terceiros são bem projetadas, bem mantidas, fáceis de instalar e poderosas.
- Facilidade de desenvolvimento. Se você já programou em Python, sabe como é fácil.
- Django é muito poderoso. Ajuda a substituir JavaScript e PHP.
- [ OPINIÃO ] Pessoalmente, odeio PHP e JavaScript. Eles são frustrantes de usar e ambos são vulneráveis. PHP mais por causa de falhas na linguagem; JavaScript por causa de falhas na especificação esquisita que levam a interpretações ruins de como o mecanismo JS deve ser implementado.
- Totalmente orientado a objetos.
- Ótimo para manipulação de dados e máquina aprendizagem (pode ser importante se você estiver fornecendo publicidade direcionada em sua plataforma).
- Com a estrutura certa e os módulos (incluídos como padrão), você pode se integrar de maneira adequada e adequada a um servidor de banco de dados e gere consultas para o seu site.
- por exemplo Se o usuário estiver procurando em sua conta por uma chave de licença específica, a estrutura lida com isso traduzindo o que o usuário está fazendo em uma consulta SQL.
- por exemplo. # 2: Se o administrador estiver pesquisando um cliente por endereço de e-mail, a estrutura irá traduzir isso em uma consulta SQL, em seguida, traduzir os resultados de volta e exibi-los em HTML formatado em CSS.
Quais são os pontos fracos do Python?
- Lento. Muito lento. Mais lento do que os fanboys do Python gostam de admitir. Como disse Oluwasegun, PHP é até 3x mais rápido (às vezes mais, às vezes menos, depende).
- Quando você o usa para desenvolvimento, você não pode realmente pensar nele como se estivesse usando Python: está usando um framework (por exemplo, Django). Portanto, aprender Python não é suficiente, você também precisa aprender a estrutura.
- Python não é nem de longe tão amplamente usado quanto PHP, então seu fator de empregabilidade, especificamente em relação ao desenvolvimento web, é muito mais limitado. Eu ouvi uma estatística de que ~ 80\% de todos os sites usam PHP – não posso verificar a estatística, mas não me surpreenderia.
- Isso meio que anda de mãos dadas com a lentidão, mas precisa ser tratado separadamente: Uso de recursos. Python devora recursos muito mais do que PHP. Você pensaria que, se utilizasse tantos recursos disponíveis, isso talvez ajudasse a acelerá-lo … Não, não, não ajuda.
- [ Opinião ] O aspecto OOP do Python é péssimo. Se você já fez qualquer OOP em uma linguagem como Java, C # ou C ++, você entenderá por que eu odeio isso. Qualquer linguagem que dependa de
this
esuper()
não funcionou direito. Isso faz seu código parecer muito confuso, ofusca todo o processo e torna o desenvolvedor sujeito a erros. Simplesmente não é necessário – todo o aspecto da linguagem parece (como eu acho que já disse em outro lugar neste site) como se estivesse aparafusado , com um martelo , por um peixe cego…. como uma reflexão tardia. E adivinha? Era! Tudo bem, não foi preso com um martelo por um peixe. Mas foi uma reflexão tardia e não tinha a intenção de fazer parte da linguagem (não foi incluído inicialmente). - É uma implementação pobre e restritiva de OOP. Novamente, Opinião . Algumas pessoas gostam, mas geralmente são aquelas que dizem que C e C ++ são difíceis e confusos.
No geral, isso não é terrível, certo? Pessoalmente, acho que o maior problema acima é a participação de mercado em comparação ao PHP, de uma perspectiva de empregabilidade de qualquer maneira.
PHP
Quais são os pontos fortes do PHP?
- Muito rápido.
- Totalmente orientado a objetos .
- Usado na grande maioria dos serviços da web de back-end e na funcionalidade de bastidores de sites.
- Integra-se perfeitamente com servidores SQL e praticamente todos os seus sabores.
- Gera consultas automaticamente para o banco de dados (consulte a seção Python para ver um exemplo do que isso significa).
- Funcionalidades integradas incrivelmente diversas projetadas para uso na web.
- Muitas APIs da web PHP disponíveis que estendem ainda mais o que pode ser feito.
- Muitas delas são projetadas especificamente para uso com PHP e não podem ser usadas com Python e Django.
- por exemplo Muitas APIs de comércio eletrônico
Quais são os pontos fracos do PHP?
Puxa vida. Existem alguns humdingers reais:
- [ Opinião ] A sintaxe é horrível. Sim, essa é uma opinião, mas é uma opinião amplamente compartilhada. Todo e qualquer programador de PHP com quem conversei também tem essa opinião. Se você ainda não está familiarizado com ele, verifique.
- Ataques de injeção de SQL. Veja o link abaixo para uma explicação detalhada do que é, por que acontece e como resolvê-lo usando PHP:
- Previna vulnerabilidades de injeção de SQL em aplicativos PHP e corrigi-los
- Execução remota de código:
- um bug em um aplicativo PHP pode aceitar a entrada do usuário e avaliá-lo como código PHP.
- Cross -Site Scripting (XSS [X = Cross]):
- XSS armazenado e XSS refletido
- Bypass de autenticação – Tecnicamente um erro de desenvolvedor, mas a linguagem em si o torna muito, muito fácil de cometa este erro.
- Eu poderia continuar com mais, mas aqui está um link:
- https://www.wordfence.com/learn/understanding-php-vulnerabilities/
- [ Opinião ] OOP é tão ruim quanto em Python. Possivelmente pior devido à sintaxe. Ele ainda usa
this
(mas na verdade é$this
)
Ao todo, essas vulnerabilidades são bastante terríveis, mas são principalmente devido a um erro do desenvolvedor. Conheça bem o PHP e pesquise não apenas Como faço um desenvolvimento de PHP , mas também “armadilhas de desenvolvimento de PHP” e “vulnerabilidades de PHP”, então não vai ser um problema.
Todos juntos agora
Então, qual é a conclusão final a ser tirada aqui? Bem, apesar do que os fãs de Python gostam de dizer, Python não pode substituir totalmente o PHP, devido à presença de APIs comuns somente de PHP e ao domínio do PHP na indústria.
Sei que já comecei por muito tempo, mas este é meu ponto final e é realmente importante afirmar: A ideia de que os desenvolvedores deveriam escolher “uma das melhores línguas porque é a melhor” é um grande fracasso tanto do sistema educacional moderno quanto dos desenvolvedores juniores [jovens]. Para ser verdadeiramente proficiente em qualquer campo de desenvolvimento, seja web, aplicativo ou software, você precisará saber vários idiomas. O mesmo é válido para uma empregabilidade confiável.
ANECDOTE : Quando comecei no setor, lembro-me de ficar muito impressionado quando perguntei e os desenvolvedores no trabalho me disseram que conheciam Assembly, C, C ++, C #, JavaScript, binário e hexadecimal.
Eu Estou menos impressionado agora porque conheço C, C ++. algum C # (aprender mais), JavaScript, Python, Java, HTML, CSS, algum PHP (aprender mais), SQL, binário, hexadecimal … Sinto que estou perdendo alguns, mas não consigo me lembrar de cara. Eles ainda são muito mais experientes e proficientes do que eu, mas agora entendo que saber muitos idiomas é normal e é o que precisa ser feito.
Portanto, para concluir, não se trata de qual é melhor, trata-se de entender onde e quando usá-los. E, para desenvolvimento web, o MÍNIMO BARE que você deve aprender são os seguintes:
- HTML
- CSS
- JavaScript
- PHP
- JSON (substitua XML)
- SQL (MySQL, Oracle, MS SQL são os 3 principais) – cuidado com os diferentes sabores
- Python
Os itens acima são absolutamente inegociáveis para uma carreira. Opcionalmente, aprenda Java também. É útil para aplicativos da web.
Editar: prova de falta de parcialidade? Eu odeio Python e PHP igualmente; como em, eu realmente não gosto de ambos.
Resposta
Python VS PHP : qual linguagem você deve optar por? A questão é de extrema importância para novos desenvolvedores e startups. A resposta a esta pergunta não é tão simples quanto as duas línguas são populares. Eles são usados globalmente na Internet por causa de orçamentos e outros problemas de desenvolvimento.
Problemas enfrentados por iniciantes ao escolher entre PHP e Python:
- Para desenvolvedores que estão apenas começando seu desenvolvimento web em PHP, decidir entre as linguagens é difícil.
- Iniciantes acham difícil escolher entre as linguagens de desenvolvimento web, pois eles têm requisitos diferentes.
- Além disso, eles enfrentam dois problemas ao lidar com qualquer idioma.Um – eles precisam aprender a construir a programação e, em seguida, aprender como implementá-los na linguagem escolhida. Em segundo lugar, eles exigem experiência em sintaxe que não faz sentido para eles.
- Esses problemas enfrentados por novos desenvolvedores são devido aos conselhos tendenciosos que recebem de Python e Desenvolvedores de PHP . Se você conversar com um desenvolvedor de python, ele listará todos os prós da linguagem e nenhum contras. O mesmo acontece com os desenvolvedores de PHP, eles insistem que não há linguagem melhor.
Então, como você decide entre as duas linguagens? Bem, para facilitar as coisas para você, listamos quatro pontos neste blog para comparação Python VS PHP . Depois disso, você achará fácil decidir entre os dois idiomas.
Antes de passarmos para os três pontos, vamos dar uma olhada em algumas estatísticas sobre o uso de ambas as linguagens de desenvolvimento da Web.
Pontos de comparação para Python VS PHP
1. Frameworks
Um framework é uma comunidade que desenvolve códigos e mantém a compilação de código. Ele ajuda o desenvolvedor a criar um aplicativo da web rapidamente, sem fazer nada do zero.
Uma estrutura oferece várias funções que os desenvolvedores podem adicionar de acordo com suas necessidades para adicionar funcionalidade ao aplicativo.
Frameworks Python são poderosos e versáteis, mas oferecem opções limitadas. A linguagem Python oferece uma ampla variedade de estruturas que basicamente executam a mesma função do PHP. Há um aumento contínuo no número de frameworks Python devido ao aumento do uso da linguagem em projetos. Flask e Django são estruturas populares usadas por desenvolvedores globalmente.
As estruturas PHP também são enormes em número, oferecendo aos desenvolvedores a opção de criação de aplicativos específicos do setor. Os frameworks PHP populares são symfony e Laravel, que são usados por muitos aplicativos populares usados por milhões de usuários.
2. CMS
Um CMS é uma plataforma de software que oferece uma solução versátil para projetos de desenvolvimento de aplicativos. Ele oferece uma solução para blog, e-commerce e assim por diante, garantindo que os desenvolvedores possam se concentrar no business case. O CMS mais popular é o WordPress, desenvolvido em PHP. Outros CMS populares são Magento e WooCommerce, populares para desenvolvimento de sites de e-commerce. Eles também são construídos usando PHP.
Python tem uma plataforma CMS Django que tem uso limitado.
PHP é um claro vencedor aqui, pois é uma plataforma CMS melhor que é usada por muitos usuários.
3. Popularidade
Ambas as linguagens de desenvolvimento web são populares, mas atualmente o PHP domina 80\% do mercado. PHP é usado por muitos sites populares que incluem Yahoo, Wikipedia, Tumblr e assim por diante. O Facebook também usou PHP inicialmente antes de mudar para o framework PHP.
Python é uma das ótimas opções de programação de back-end. E o PHP já está no mercado há algum tempo e ainda é usado para fins de back-end.
A linguagem Python também é bastante popular, especialmente porque o Google escolheu para alguns de seus projetos famosos. Reddit, Pinterest, YouTube, Instagram e Spotify são algumas plataformas que usam a linguagem Python.
Em termos de popularidade, ambos as línguas estão dando forte competição umas às outras. Novos projetos são anunciados diariamente que usam os referidos idiomas.
4. Curva de aprendizado
A curva de aprendizado em termos de linguagens de programação significa a fluência que um desenvolvedor tem na sintaxe da linguagem. Também implica na compreensão que o desenvolvedor tem de usar ferramentas para traduzir o design da web em código funcional.
Python é o vencedor claro porque é fácil para iniciantes aprender e entender. PHP é difícil e tem pouco espaço para erros, tornando-o não amigável para iniciantes.
Python tem mais espaço para erros e o código não quebra devido a pequenos erros. É exatamente por esse motivo que as escolas estão ensinando a linguagem Python da web para o básico de programação.
A estrutura de PHP e os especialistas estão se esforçando ao máximo para tornar a linguagem mais fácil e amigável.
Conclusão:
Python VS PHP é nunca – encerrando o debate, mas ambas as línguas oferecem muitas oportunidades para os desenvolvedores aprenderem. Com sua sintaxe, ferramentas e funcionalidades prontas para usar, os desenvolvedores Python e PHP têm muito com que trabalhar.
É recomendável que você experimente as duas linguagens. Você deve optar pelo que melhor se adapte ao seu projeto e seja fácil de usar. PHP é mais adequado para projetos técnicos, enquanto Python é fácil para novos desenvolvedores e startups.