PHP ou Java
Introdução
Então, você está se perguntando se deve aprender PHP ou Java ?
Por alguma razão esta é uma pergunta bem comum para pessoas que estão começando a aprender, imagino que seja em função da popularidade de cada uma, existe também uma demanda considerável para ambas.
PHP
Segundo este artigo da wikipedia PHP é um acrônimo para “PHP: Hypertext Preprocessor” contudo no planejamento inicial a ideia original era que PHP significasse “Personal Home Page“.
PHP foi concebida originalmente como uma linguagem de servidor, um termo pouco usado hoje que em inglês fica traduzido como Server Side Language. A característica principal deste tipo de linguagem: O Processamento dos dados ocorre no servidor e então a resposta processada é enviada ao cliente.
Um exemplo de uma linguagem client side é o Java Script, sim o Java Script. Usamos muito java script, por exemplo a Jquery, para manipular elementos do Browser ( seu navegador ) e essas execuções e processamentos ocorrem no cliente.
Ainda assim, mesmo que Java Script possa ser uma linguagem Client Side ela não se limita mais a ser somente Cliente Side, mas isso eu expliquei no Post Como Aprender a Programar .
Voltando ao PHP, analisando sua nomenclatura é fácil concluir que o PHP é uma linguagem que nasceu para implementar sistemas web. Então é muito simples você criar sistemas voltados para web com PHP, ele apresenta muitas facilidades e módulos que ajudam este tipo de desenvolvimento.
PHP – Um pouco de “Tecniquês”
Mesmo tendo nascido com foco em web, PHP é uma linguagem muito versátil que acabou ganhando forks como PHP-GTK, que permite que seja possível escrever aplicações em PHP para desktop .
A versatilidade do PHP vai além da sua facilidade em se integrar com sistemas web, PHP é uma linguagem compilada em tempo de execução que suporta variáveis com baixa tipagem e você ainda pode programar de forma estruturada ( vulgo PHP Macarrão ) ou Orientada a Objetos.
Ao meu ver esta facilidade de se integrar com sistemas web, o suporte flexível para variáveis foram os grandes fatores que impulsionaram a popularidade do PHP.
O que eu quero dizer aqui é que PHP apresenta uma curva de aprendizado mais rápida ? Bem, sim e não. Quero dizer que você consegue rapidamente aprender a fazer várias coisas, mas isso não quer dizer que você está fazendo da melhor forma.
Mas por trazer uma linguagem com menos “amarrações” PHP acaba se tornando relativamente fácil de aprender se comparado com java.
PHP também é uma linguagem portável, o que quer dizer que ela pode ser executada em sistemas windows,unix, etc. Há claro algumas pegadinhas para cada, mas no geral podemos afirmar que assim como Java , PHP é uma linguagem portável.
PHP – Ainda é Usado ?
Bem , apesar de fácil será que o PHP ainda é utilizado ? De acordo com o Tiobe Index de Janeiro de 2021 PHP é a 8ª linguagem de programação mais utilizada em janeiro de 2021 mantendo a mesma posição de um ano atrás , ou seja, em janeiro de 2021.
No inicio do PHP houve um BOOM, sobre muitos sistemas, uma das características que, na minha opinião, prejudicaram o PHP é a sua carência de escalabilidade. O que eu quero dizer aqui é que para você desenvolver uma plataforma escalável como PHP você vai precisar se esforçar um pouco mais do que em outras linguagens.
Outra razão que pode ter ajudado para queda de popularidade do PHP foi sua estagnação no lançamento de versões que aconteceu no intervalo das releases 5.2.0 e 5.3 que chegou a quase 3 anos.
Indiferentemente a minha opinião notamos no gráfico de ranking da Tiobe uma queda razoável da popularidade do PHP a partir de 2010.
Apesar da queda no Ranking, há menções honrosas que não devem ser esquecidas, por exemplo o Wordpress, que é o CMS que mantém este site, é feito em PHP, e hoje representa mais de 30% de todos os sites da WEB. E nesta linha há uma série de sistemas que vão de gerenciadores de Conteúdo a Lojas Online, todas feitas em PHP.
Java
Então vamos falar do Java. Java é uma linguagem de programação Orientada a Objetos. Só esta simples definição já cria um enorme abismo entre Java e PHP.
A linguagem de programação java foi desenvolvida inicialmente pela Sun Microsystems em 1991, no inicio o projeto era conhecido como Green Project.
O Green Project almejava ser uma linguagem portável entre equipamentos, ou seja, seria possível você programar em uma única linguagem e executar seus programas em TV´s, Decoders, Geladeiras e consequentemente computadores.
Esta era a crença por trás do projeto, criar um ambiente multimídia para smart devices. Obviamente, o conceito estava a frente de seu tempo, um dos desafios do projeto era criar uma infra estrutura capaz de suportar a comunicação destes dispositivos, mas este problema se resolveu sozinho, com a popularização da internet nos anos 90.
A linguagem programação do Green Project chamava-se até então Oak , e em 1995 foi renomeada java, em homenagem ao café que o time de desenvolvimento consumiu durante sua evolução.
JAVA – Um pouco de “Tecniquês”
Por ser uma linguagem orientada a objetos, a concepção de programas em java é organizada por um padrão mínimo, que independentemente a sua abordagem a orientação a objetos estaria lá presentes, obviamente, este conceito não se limitava a design patterns.
Estou falando muito difícil né? Bem o que quero dizer é que para qualquer um desenvolver em java, indiferente do design, o conceito de orientação a objetos estaria sempre presente.
Além da orientação a objetos, java é uma linguagem fortemente tipada, o que quer dizer que é necessário que você defina os tipos de dados que cada variável irá receber. Eu não vou entrar no mérito do Garbage Colector aqui, uma vez que o PHP também seu próprio mecanismo de gerenciar a alocação e a “deslocação” dinâmica de objetos em memória.
Outro ponto que considero positivo, são as IDE`s, o ambiente de desenvolvimento java é altamente produtivo, e seus erros são muitos didáticos, tornando fácil sua depuração.
Java é portável para todas as plataformas existentes e ativa de mercado, além de portável java não é exclusivamente web, ele poder ser WEB ou Desktop. Temos até servidores de aplicações desenvolvidos em java.
Ao longo do tempo grandes organizações passaram a optar por fava como linguagem de desenvolvimento para suas soluções. Eu particularmente concordo com essa ótica, na qual sugere que o Java é bom para ambientes corporativos.
Além dos pontos que mencionei acima ele possui uma fácil escalabilidade.
Java ainda é usado ?
Java ainda é usado, porém sua popularidade vem caindo ao longo dos anos, eu vejo no meu dia-a-dia, muitas oportunidades para o mercado java, contudo em sua maioria são grandes empresas procurando profissionais qualificados.
Mesmo com esta queda java ainda se mantém no segundo lugar do ranking de TIOBE conforme podemos observar na tabela abaixo:
Java também paga bem, em geral um desenvolvedor java recebe melhor que um dev PHP, o problema é que por ser uma linguagem que tem um processo de maturidade maior, o que geralmente os recrutadores buscam são profissionais com experiência.
Não bastasse a exigência do mercado por profissionais com experiência, a curva de aprendizado do java,frameworks etc, é bem mais longa, o que pode tornar esta escolha inviável em função do seu momento financeiro etc. Ou seja, se você precisa fazer dinheiro rápido nesse segmento, java não lhe trará nenhum tão cedo.
E para concluir aqui o Tiobe Index, notem que java vem perdendo popularidade ao longo tempo.
Conclusão
Java ou PHP ? Se você está procurando se inserir no mercado agora, eu diria que nenhuma das duas a queda acentuada do Java se dá ao fato de que a nova onda do mercado é “Machine Learning” e para isso temos ótimos frameworks fornecidos pelo google todos em Python.
Observem o gráfico abaixo e notem a popularidade do Python
Se mesmo assim você ainda insistir em querer aprender PHP ou Java, tenha em mente qual serão seus objetivos. PHP poderá lhe trazer um ganho mais rápido e há um mercado de pequenas e médias empresas bem amplo, que podem gerar uma boa demanda.
Java terá um retorno mais devagar mas possui um mercado de médias e grandes empresas que pagam bem. Na minha opinião pessoal, java é uma ótima linguagem de programação, com uma filosofia e abordagem que permite a criação de várias coisas. PHP é tão boa quanto mas pessoalmente prefiro java.