Java é uma linguagem de programação orientada a objetos fortemente tipada. Criado em 1995, recebeu muitas melhorias desde então. Constantemente ocupa uma posição de liderança em rankings de linguagens de programação , bem como em rankings de salários de desenvolvedores de software .

E o mais importante, a classificação do Java não muda de ano para ano — ela permanece consistentemente alta. Vamos tentar entender o que torna o Java popular.

1. Plataforma cruzada — O código escrito é convertido em bytecode, que é executado pela JVM. Existem implementações JVM para uma variedade de plataformas. Isso significa que o código, uma vez escrito, rodará no Windows, Linux e macOS, e até mesmo em várias plataformas exóticas, como Arduino, geladeiras inteligentes e aspiradores de pó. Ou seja, o código funcionará em diferentes plataformas e sistemas operacionais, sem necessidade de adaptação para cada um deles.

2. Gerenciamento automático de memória — O desenvolvedor não precisa pensar sobre onde as variáveis ​​são armazenadas na RAM, lê-las/gravá-las manualmente ou se preocupar com a integridade dos dados. Ao resolver o problema de negócios de um cliente, você deve pensar no problema, não em como e onde escrever bytes.

3. Velocidade (compilador JIT) — Além da compilação estática, que ocorre "com antecedência", o Java oferece suporte à compilação just-in-time (JIT). Isso é altamente relevante para o código do servidor, que pode ser executado por meses ou até anos. O código executado com frequência é compilado de diferentes maneiras e seu tempo de execução é medido. O resultado é que quanto mais tempo um aplicativo é executado, mais rápido ele se torna. E isso é verdade para um servidor em execução ativa. Legal certo?

4. Compatibilidade com versões anteriores — O código escrito em versões mais antigas do Java também funcionará em versões mais recentes. Isso é conveniente: depois que a especificação do Java for atualizada, você não precisará reescrever metade do seu projeto "devido à atualização", mas ainda poderá obter os patches de segurança mais recentes.

5. Orientação a objetos — Os seres humanos pensam em termos de objetos: uma mesa, um trólebus, um smartphone. Os desenvolvedores não são forçados a pensar em paradigmas incomuns enquanto trabalham, e isso ajuda a evitar erros desnecessários em nosso código. Em vez disso, podemos nos concentrar apenas nos detalhes que são importantes na tarefa. Por exemplo, do ponto de vista de um designer de interiores, o tamanho e a localização de uma mesa em uma sala são importantes. A data de fabricação, o nome do trabalhador que cortou a madeira para a mesa e o telefone do motorista da FedEx que a entregou não são importantes. Além disso, os dados e métodos para trabalhar com esses dados são armazenados juntos no código.

6. Tipagem estática (falha rápida) — A compatibilidade dos tipos de variáveis ​​é verificada durante o estágio de compilação. Todo desenvolvedor compila o código, portanto, os erros de compilação são detectados quase instantaneamente. Quanto mais tarde o estágio em que um erro é descoberto, mais caro é corrigi-lo.

7. Código como documentação — Java é lido como sentenças em inglês. Assim, na maioria dos casos, não há necessidade de despender esforços para manter a documentação, pois qualquer desenvolvedor, ao olhar o código, entenderá o que um método faz ou qual comportamento uma interface é responsável. Além do mais, existem convenções inteligentes em relação à nomenclatura "adequada" de todas as entidades no código. O nome de um método geralmente deixa claro o que ele faz.

Por exemplo, o método getContext() retorna o contexto e o campo idade é responsável por armazenar a idade. Em Java, o comprimento dos nomes não afeta a quantidade de recursos do sistema necessários para trabalhar com entidades. C também não lida com isso: quando um desenvolvedor ingressa em um novo projeto, em vez de entender a lógica do código, ele deve decifrá-lo.

8. Muitas bibliotecas e frameworks de código aberto — 99% das tarefas que um desenvolvedor enfrenta na prática diária já foram resolvidas por alguém. Com o tempo, as boas soluções se transformam em bibliotecas e até mesmo em estruturas. O que é melhor - pesquisar no Google por 5 minutos ou reinventar sua própria bicicleta com rodas quadradas?

9. Grande comunidade — Essa linguagem popular tem uma enorme base de desenvolvedores que faz muitas perguntas na Internet, dá muitas respostas, escreve muitos códigos e enfrenta e resolve muitos problemas. E quanto mais desenvolvedores houver, mais popular será a linguagem e mais rápido ela crescerá. É um ciclo virtuoso.

Muitas das "qualidades" positivas de Java já foram mencionadas, mas gostaria de acrescentar mais algumas:

  • A JVM (Java Virtual Machine) gerencia a memória para você, o que a torna segura e a linguagem número 1 para ferramentas financeiras.

  • É muito conveniente escrever o servidor back-end (lógica do servidor) em Java.

  • Até recentemente, Java era a principal linguagem para aplicativos Android.

    Kotlin, uma linguagem JVM que difere de Java por "açúcar sintático" e alguns recursos, agora toma seu lugar. Mudar de Java para Kotlin e vice-versa levará vários dias. E dado que o ciclo de atualização do Java agora é de seis meses, a próxima versão do Java pode ter todas as coisas sensacionalistas para as quais o Kotlin foi escrito.

  • Muitas empresas famosas usam Java: Google, Facebook, Twitter, Amazon, LinkedIn, eBay, CodeGym e muitas, muitas outras.