Nas pesquisas do Stack Overflow em 2018, 45,3% dos entrevistados consideraram o Java a linguagem de programação mais popular e o Kotlin preferiu apenas 4,5% dos desenvolvedores. No entanto, em maio de 2019, o Google anunciou o Kotlin como a linguagem de programação prioritária. A corporação não pediu o abandono de C ++ e Java, mas as disputas entre programadores aumentaram ainda mais.
A Netology aprendeu com os desenvolvedores qual linguagem de programação eles usam e como eles vêem o futuro do Java e do Kotlin.“O thread principal permanecerá em Java e o Kotlin será usado para desenvolvimento rápido”
Dmitry Kachalov, Programador Líder, Kelly IT SolutionsQue idiomas ele conhece? Inicialmente, estudei linguagens de desenvolvimento web, mas em algum momento eu também queria fazer desenvolvimento móvel. Comecei a estudar desenvolvimento para Android e dominei a linguagem Java no mínimo necessário para poder escrever os primeiros aplicativos, rodar no telefone, publicar no mercado. Isso foi quando Kotlin apareceu e não era conhecido por um amplo círculo de desenvolvedores.
Quais usos. Agora, ao desenvolver aplicativos corporativos, uso Java. Muitas bibliotecas estão disponíveis para ele, existem módulos prontos. Além disso, o Android Studio suporta tanto que você pode literalmente escrever uma letra e o código será escrito para você. É muito conveniente
Na minha prática, não havia o que exigir conhecimento de outro idioma. Geralmente, Java é suficiente, porque possui muitas bibliotecas e é possível executar qualquer tarefa em princípio. A única coisa que vale a pena considerar são as limitações da própria plataforma Android. Porque, independentemente do idioma, todas as restrições, mais cedo ou mais tarde, são contra a restrição da plataforma. Na minha opinião, não há muita diferença em qual idioma implementar a tarefa, o principal é encontrar uma boa solução que funcione em uma plataforma específica.
Por que prefere Java. Nele, você pode criar serviços gratuitos, seus próprios métodos de API, sites de gravação, servidores, aplicativos móveis. Essa é essencialmente uma linguagem universal na qual você pode executar um grande número de operações e desenvolver aplicativos diferentes. Para ele, existem muitos desenvolvimentos e bibliotecas. E também - uma grande comunidade que está sempre pronta para responder perguntas e ajudar.
Sobre o confronto e o futuro das línguas. Kotlin é definitivamente um passo adiante interessante, mas, na minha opinião, ele não traz novas abordagens e paradigmas. Simplesmente reduz o tempo necessário para escrever código com construções mais curtas. Ao mesmo tempo, ainda é baseado no mesmo Java.
Num futuro próximo, o Java ainda será o mais popular. O encadeamento principal permanecerá em Java e o Kotlin será usado para desenvolvimento rápido no contexto de prototipagem rápida de aplicativos ou prototipagem simples. Embora este seja um ponto de vista muito provocador. O Kotlin é compatível com Java, então você não pode dizer que algo mudará fundamentalmente.
“Se você é iniciante e deseja trabalhar com o Android, aprenda Kotlin. Caso contrário, eu escolheria Java "
Artem Pervushov, especialista licenciado em ATC para Android, autor do programa de curso Android Developer em NetologyPor que prefere Java. Primeiro de tudo, você precisa entender o que é o Kotlin. Kotlin é mais sobre açúcar sintático. Preciso de tanto açúcar? Provavelmente não, já estou acostumado a ler código Java e não cometer erros (quase). Um novato em programação deve escolher obviamente um Java mais complexo? Provavelmente também não.
Ainda precisa considerar os benefícios de investir seu tempo. Java é uma história não apenas sobre Android e desktop. Há um grande número de outros projetos nele. E se você quiser ir do Android para outro lugar, saber o idioma será útil.
Sobre o futuro dos idiomas. Talvez no futuro Kotlin domine o mundo, ou talvez não. "Capture the world" Go, Python, Ruby, JS, <substitua o necessário> é muito menos comum do que os fãs dessas tecnologias nos dizem. Portanto, meu conselho é este - se você é iniciante e está determinado a conectar seu destino ao Android - aprenda Kotlin, é conveniente e elegante. Caso contrário, eu me concentraria em Java.
"Os desenvolvedores do Kotlin podem usar estruturas e bibliotecas Java e escrever código mais compreensível e simples".
Semyon Pilunts, desenvolvedor Android, especialista no curso de NetologiaQue idiomas ele conhece? Minha familiaridade com a programação aconteceu no meu instituto, comecei com Pascal, também estudei Basic, QBasic. Já no final dos anos escolares, comecei a estudar C. Não parei por aí e comecei a estudar outras línguas - Javascript, VB 6.0, MS SQL, Java. Ele logo percebeu que o Java era o mais próximo de mim, então decidiu se concentrar nele.
Depois de alguns anos, por acaso, comecei a usar Java para criar aplicativos móveis para Android. Às vezes era necessário usar Javascript, HTML, SQL no próprio Android. Conhecer outros idiomas sempre ajuda.
Quais usos. Atualmente, estou trabalhando em Java e Kotlin. Até o momento, não podemos abandonar completamente o Java, mas estamos gradualmente avançando.
Na prática, antes de executar uma tarefa, é necessário avaliá-la, escolher uma abordagem e uma maneira de realizá-la. Aqui ficará claro qual idioma é melhor usar. Nesse caso, não haverá situação em que você não possa lidar com a tarefa. Ao mesmo tempo, os desenvolvedores do Kotlin podem usar estruturas e bibliotecas Java e escrever código mais compreensível e simples.
Por que Kotlin prefere. Usar o Kotlin é mais fácil e mais conveniente que o Java. Nele, o código do programa é obtido em média 40% menor. E permite evitar alguns erros que podem ocorrer durante a execução do programa. Quando o código é mais simples e compreensível, os erros são mais difíceis de cometer e mais fáceis de detectar, portanto, seu número está diminuindo rapidamente. Você gasta menos tempo desenvolvendo e testando.
Sobre o futuro dos idiomas. Eu acho que em um futuro próximo o Kotlin será capaz de substituir quase completamente o Java. Já, ele cobre o mercado Android em 50%, e isso é apenas 3 anos após o aparecimento. Mas, ainda assim, o Java precisa saber, sem ele, será difícil transferir o código para o Kotlin. Aqui, observo que o Kotlin é totalmente compatível com Java, ou seja, não é necessário reescrever completamente o aplicativo imediatamente. Geralmente é mais conveniente fazer isso gradualmente.
E o desenvolvimento de aplicativos Android não é a única direção do Kotlin. Ele suporta JavaScript, os programadores podem transferir a interface para ele; o Kotlin é ótimo para o desenvolvimento de aplicativos de servidor, permitindo que você escreva códigos curtos e expressivos, mantendo total compatibilidade com as pilhas existentes baseadas na tecnologia Java. Os criadores também adicionaram suporte Gradle para que os desenvolvedores possam gravar arquivos Gradle nele. Ativamente é o desenvolvimento do Kotlin Native, com o qual você pode criar aplicativos iOS.
“Kotlin não é melhor que Java em geral, mas melhor no mundo Android”
Ilnaz Gilyazov, co-fundador da AIMS, autor do curso Kotlin Developer em NetologyQue idiomas ele conhece? Inicialmente, aprendi várias linguagens, conforme necessário: Assembler, C / C ++, depois Java, JS, PHP, Python. Como trabalhei e trabalhei no campo da segurança da informação, não consigo parar em um idioma.
Quais usos. Agora eu escolho as ferramentas, dependendo das tarefas e preferências do cliente. Para o back-end - Java / Kotlin, para coisas leves sem muitas integrações - Go / NodeJS, para o front-end - estruturas JS / TypeScript +, para coisas do sistema - C ++ / Go. Ou seja, levo em conta não preferências pessoais, mas procedo da tarefa e das capacidades da linguagem e de seu ecossistema.
Por que Kotlin prefere. As vantagens da linguagem Kotlin em uma nova visão das coisas, no desejo de fornecer aos desenvolvedores ferramentas simples e convenientes que não exigem muito código. Estes são açúcar sintático e corotinas. O Kotlin permite que você escreva menos código - isso agrada.
No Android, escolher Kotlin em vez de Java é óbvio. No mundo do back-end, a posição de Kotlin é muito mais fraca, embora mesmo lá ele faça o seu caminho. O Spring Framework (que para muitos é o padrão no back-end) inclui chips para o Kotlin que não estão disponíveis para Java. Isso já diz muito. No back-end grande e complexo, ainda estamos trabalhando em Java, apesar de usarmos o Kotlin em alguns lugares. No caso da arquitetura de microsserviço, em que um microsserviço específico não requer um grande número de integrações, o Kotlin se sente bem.
Kotlin não é melhor que Java em geral, mas melhor no mundo Android. Embora isso também possa ser discutido, tudo depende dos parâmetros pelos quais avaliamos.
Sobre o confronto e o futuro das línguas. O confronto entre desenvolvedores no Kotlin e Java às vezes é observado em projetos em que não há acordo comum e usam as duas linguagens. E há fanáticos que acreditam na única linguagem correta. Caso contrário, tudo será mais ou menos suave, embora a rugosidade permaneça nos problemas de integração. Se você quiser se tornar um profissional no Android, precisará conhecer os dois idiomas. De qualquer forma, vale a pena se acostumar com o fato de que você precisa aprender constantemente novas linguagens, bibliotecas, estruturas, idéias e abordagens.
Agora, o futuro do Java no Android não está claro. Quando transferimos todos os nossos projetos do Android para o Kotlin, o Java no Android ficou parado na sétima versão com alguns chips da oitava. E ainda não está claro se o Google pretende resolver suas disputas com a Oracle e introduzir suporte para novas versões, ou se manterá em suas posições atuais. Portanto, investir no aprendizado, no uso e no suporte a Java no Android parece ser pelo menos arriscado a médio prazo.
O Kotlin está se desenvolvendo de maneira mais ou menos previsível e fornece invólucros que permitem o uso de todos os recursos modernos do idioma, adiciona diversas comodidades e recursos especificamente para o desenvolvimento do Android. Esse é um fator importante que afeta a satisfação do desenvolvedor.
Num futuro próximo, não acho que o Kotlin substitua o Java. Em vez disso, ele será capaz de coexistir com o Java, pois foi originalmente orientado para isso. Espero que a maioria das bibliotecas Java populares existentes não seja reescrita no Kotlin. Mas você pode escrever no Kotlin (tendo entendido as nuances da integração do Kotlin <-> Java, por exemplo, reflexão e todas as armadilhas) e usar bibliotecas escritas em Java.
“Agora ninguém está procurando um desenvolvedor com conhecimento apenas de Java ou apenas Kotlin. Você precisa ser um especialista universal ”
Dmitry Gordin, desenvolvedor Android na RoadARSobre o confronto. Para não gerar demagogia e não se basear em sentimentos pessoais, vamos olhar para os principais players do mercado. Primeiro, o Google reconhece o Kotlin como a principal linguagem de desenvolvimento para o Android. Em segundo lugar, é assim que as vagas no HH.ru das principais empresas se parecem:
- Tinkoff - “Uma vantagem significativa: experiência no desenvolvimento de aplicativos no Kotlin”;
- Yandex - "Bem-vindo: experiência em desenvolvimento no Kotlin";
- Redmadrobot - “Desejável: experiência em desenvolvimento Kotlin”;
- até "Russian Post" - "Esperamos o seguinte conhecimento e competências de você: conhecimento da pilha da tecnologia Android SDK, Kotlin / Java".
Sobre a escolha do idioma. Você precisa conhecer os dois idiomas. É impossível conhecer Kotlin e não conhecer Java. A liga chata pode encontrar falhas e perceber que existe um Kotlin Native que não está relacionado ao Java. Mas estamos falando do desenvolvimento do Android, o que significa o tempo de execução do Dalvik / ART. Portanto, todos os empregadores que escrevem que estão procurando um desenvolvedor no Kotlin estão realmente procurando pelos dois idiomas.
Na minha opinião, a melhor maneira é se familiarizar com o Java e depois começar a mudar sem problemas para o Kotlin. O Kotlin não vira tudo que você sabia do Java de cabeça para baixo. Você pode mudar para um novo idioma com alterações mínimas e escrever no "estilo Java", gradualmente classificando seu código, adicionando açúcar e chips específicos ao Kotlin.
Dos editores
Levamos em conta a situação atual das linguagens de programação e as opiniões dos próprios desenvolvedores - ensinamos Java e Kotlin no curso "
Desenvolvedor Android do zero ". Graças a isso, os alunos podem escolher qual idioma permanecer no futuro ou usar os dois.