https://media.blubrry.com/hipsterstech/content.blubrry.com/hipsterstech/hipsters_110_kotlin.mp3Podcast: Play in new window | Download | Embed RSS | More Compartilhar Assinar Kotlin, Android e além – Hipsters #110 21/08/2018 / mobile Podcast / 37 Comentários Trabalha ou estuda na área de tecnologia? Participe da Pesquisa Nacional de Carreira em Tecnologia! Queremos entender quais as suas preferências profissionais. Sua participação é muito importante! Responda e contribua com a comunidade, os resultados serão abertos a todos: https://carreira.tech/ — Depois de muitos pedidos, reunimos um time bacana pra finalmente falar sobre essa linguagem que se tornou extremamente popular nos últimos tempos: Kotlin! Hora de descobrir o porque de tanta popularidade, o que tem de tão legal nessa linguagem e as razões para você usá-la. Participantes: Paulo Silveira, o host que não troca o Android de jeito nenhum Walmyr Carvalho, especialista em mobile na Loggi e Google Developer Expert Alex Felipe, instrutor e desenvolvedor na Alura Tais Batuira, desenvolvedora mobile na Alura Matheus Brandino, instrutor e desenvolvedor na Alura e Caelum Links: Scala Retrofit Swift Picasso Android Studio Curso de Kotlin da Alura Kotlin in action Artigos do Alex no Medium Android Dev BR Kotlin Meetup São Paulo Livro de Kotlin com Android na Casa do Código Formação Android na Caelum Produção e conteúdo: Alura Cursos online de Tecnologia Caelum Ensino e Inovação Edição e sonorização: Radiofobia Podcast e Multimídia Relacionado
Augusto Santos - 0 Excelente episódio. Bom ponto observado quanto a legibilidade por volta dos 35m, isso conta bastante e o kotlin pode perder um pouco dessa clareza mesmo, olha que os convidados tentaram dar um drible na resposta kkk. Claro que todas as linguagens tem seus ganhos e percas e cabe ao utilizador delas ter tudo isso em mente. Extensions são fantásticas mesmo mas os puristas da OO podem ter um baita coceira ao ver isso haha Responder
Javan Torres - 0 Como o tema englobava o Android/Google poderiam ter falado sobre o Flutter e quais são as expectativas em relação a ele, de qualquer forma foi um ótimo podcast, parabéns. Responder
Javan Torres - 0 Como o tema englobava o Android/Google poderiam ter falado sobre o Flutter e quais são as expectativas em relação a ele, de qualquer forma foi um ótimo podcast, parabéns, muito bom. Responder
walmyrcarvalho - 0 Javan, como Flutter não usa muito Kotlin a gente preferiu não entrar em muitos detalhes, mas com certeza vale fazer um episódio só sobre Flutter e Fuchsia! 🙂 Responder
Rafael Felipe - 0 Uma coisa que está me fazendo muito considerar o kotlin é das mais simples. Trabalhar com cálculos financeiros no java é um parto, as expressões de bigdecimal usando chamadas de funções são contra intuitivas. Parece que com kotlin vc usa operadores pra bigdecimal, o que faria eu ganhar muito. Responder
leonidas - 0 no minuto 38:12 fala sobre over kotlin, então nao posso criar um app usando somente kotlin? Responder
Nyo - 0 Ainda vale a pena aprender Kotlin, com o avanço de frameworks javascript que fazem aplicativos para duas plataformas, como o React Native e o Ionic????????? Responder
Ray da Costa - 0 Bom… sem querer puchar saco, sem qrer levar para lado de religião… Mas Kotlin, é uma linguagem nova, nada mais justo e inteligente de nascer com tudo de bom que NÃO TEM de bom no java. Simples assim. Outro ponto, java é bem maduro e bem completo, muitos recursos é lento mesmo VIRAR tudo de uma so vez para se adaptar ou se modernizar. Tem q ter calma. (A Oracle AINDA ajuda a fd mais…). Agora gente… a linguagem ser melhor pq não ocorre nullpointer!?Pq escreve menos (lembrando que PARA ANDROID tem que escrever muito, framework ANDROID).Não podemos confundir, JAVA de java para adroid onde vc É OBRIGADO A CRIAR X objetos para a coisa ocorrer. Em resumo, fica FÁCIL PARA KCT, criar uma coisa com base em outra que já está pronta e FUNCIONA, ENTÃO, vamos na calma. Pessoal tem muito medo de java. Tem q ter medo do que a Oracle está fazendo com o Java…. isto sim…. Minha opinião… Responder
Ray da Costa - 0 Paulo, EXCELENTE observação… (escrever os métodos para acesso as variáveis), pois, o que NÃO é escrito… como vc vai saber o q faz…. cara vc criando método, fica mais educado, explicito, claro, evidente, claro, documentado,,,, seu la,,,,, deixar de criar método para escrever menos,,, COLOCA o atributo PUBLICO! Pronto,,, sei la…. sei la…. A ÚNICA coisa que faz eu olhar Kotln é a ORCLE acabar com o Java…. Pq d resto, o q faz em Kotlin java TAMBÉM FAZ…. e faz bem… Responder
João Beno - 0 Eu não gosto do Kotlin… Swift e TS patrolam ele qualquer dia da semana… Muitas decisões bestas da JetBrains/Comunidade… Responder
João Beno - 0 Falando mais sério agora, infelizmente esse podcast faz zero criticismo ao Kotlin, quem ouve acha tudo lindo… Mas a verdade é que sem o menor motivo os desenvolvedores fazem uma série de mudanças sem nomeclaturas, metodos e soluções que funcionam em várias linguagens, e que não tem motivo pra ser descartado. Eu penso que foi perdida uma excelente oportunidade pra trazer o Kotlin pra perto do Swift, TS/JS, e etc… com uma notação mais comum, com estruturas mais próximas, para ajudar o desenvolvedor a aproveitar boas lógicas de programação que ele já usa em uma linguagem na outra, sem ter que perder tempo aprendendo que fun == func == function e que when ≈ switch, e que construtor se declara de outra forma deferente das outras linguagens de uso parecido, isso pra citar alguns problemas… Responder
Junior Osho - 0 João falou tudo, e add.. Elixir – Erlang Kotlin – Java Type Script – Java Script Angular – Inferno JS ops aqui é outra coisa… kkk Responder
walmyrcarvalho - 0 Bom dia João, tudo bem? Qual são os pontos negativos que você vê na linguagem, em geral? Nosso objetivo no podcast foi falar um pouco dos benefícios da linguagem em geral, principalmente pelo pouco tempo, mas penso que esses problemas que você citou não são tão críticos pra adoção da linguagem, mas queria entender o que te incomoda e podemos discutir sobre, se quiser. 🙂 Abraço! Responder
João Beno - 0 Bom, para contextualizar meu criticismo, penso que uma linguagem tem que antes de tudo priorizar a intenção de ser o mais transparente possível, de ser “straightforward”, e ficar fora do caminho do desenvolvedor. Tendo dito isso, considero que o Kotlin sacrifica esses preceitos em troca de “inovar”, e que vocês, ao avaliar a linguagem, levam muito mais em conta a comparação com o Java, que foi concebido na década de 80, do que a comparação com outras linguagens contemporâneas ao Kotlin, e que fazem um trabalho bem melhor em relação a curva de aprendizado para quem já lida com a programação no dia a dia. Eu venho de um background trabalhando com PHP, também trabalhei com Java Web e Android, e sempre quis aprender a programar para iOS, porém nunca tive saco para aprender objC, e larguei de mão. Quando saiu o Swift 2, decidi pegar, e foi faca quente na manteiga. Não tive problema em entender muitos dos conceitos, e a cada interação da linguagem tudo fica mais simples e fácil. Quando peguei o Kotlin, tive mais problema pra me adequar a ele do que tive para me adequar ao Swift, por conta da falta de métodos estáticos, para, por exemplo aplicar pequenas transformações em bitmaps usando um método estático. Ok, você pode estender a classe com seu método, mas quando você deixa de ter a classe “Util” e passa a ter um arquivo “Extensions”, a gente evoluiu mesmo? Também não gosto que você possa declarar funções direto no namespace, num arquivo .kt qualquer, acho que isso é algo que pode ser abusado por um iniciante, e pode ser uma receita para problemas futuros. Até acho interessante a parte das Corrotinas, mas penso que o RxJava fica mais elegante. Foi mencionado de leve a questão de não se saber se estamos acessando getter e setters ou a propriedade em sí, mas isso foi tratado como um preciosismo, mas isso pode gerar mal entendidos, em certos contextos e situações, como um code review, por exemplo. Acho que o código deveria ser o menos ambíguo possível. Pra não me delongar, também não gosto da forma que construtores são declarados, no Swift, no TS e no C# eu nunca nem tive que pensar em como se declara isso, como se chama o construtor superior. Eles são diferentes, mas a teoria é simples, e os componentes sintáticos os mesmos, então ao olhar uma documentação você saca rapidamente. No Kotlin eu tenho um construtor declarado lá no alto, e se tiver outro, dependendo da circunstância, pode ficar embaixo de um monte de declarações, e eu acho isso meio errado. Se os construtores fossem declarados apenas dentro, como é nos outros, meio que ficaria organizado, já que adotaram o estilo parecido com o do C# na declaração dos construtores adicionais… Enfim, queria que o Kotlin fosse menos diferentão nas coisas que não precisa ser diferentão, ou que pelo menos suportasse o jeito menos diferentão de fazer as coisas… Responder
Vinicius Giacomelli - 0 Olá, eu participei da pesquisa e gostaria de saber se teria como acessar os resultados gerais, seria ótimo entender quais são as tendências até mesmo para afinar meu próprio desempenho e aspirações. Obrigado pelo programa. Responder
Renato Bezerra - 0 em 2014 a moda era aprender Scala. Não foi pra frente. Hoje vejo muita gente usando Clojure. Então, qual escolher em meio a tantas opções? Lembrando que o Google lancou o framework Flutter, que usa a linguagem Dart como padrão. Responder
Felipe Torres - 0 Oi Renato, não há uma resposta definitiva para a sua pergunta. A escolha da linguagem, ao meu ver, é mais do que simplesmente pegar a mais moderna. Deve-se levar em consideração o projeto, a experiência do time, a comunidade que mantém e contribui com bug fixes… Eu faço assim: se vou começar um projeto Android do zero, vou de Kotlin. Se é um projeto já existente, mantenho o Java e penso com muito carinho se vale a pena migrar (uma classe de cada vez) para Kotlin. No fim das contas, a linguagem tem influência num projeto, mas pra mim o código que é escrito importa mais. Para Android, seja Java ou Kotlin, o importante é sempre manter um código bem escrito, pensando em baixo acoplamento, coesão e todas aqueles conceitos de orientação a objetos. Responder
Matheus Eduardo Machado Moreir - 0 Paulo, bacana o episódio mas acho que houve uma falta fundamental: alguém para fornecer um contra-ponto a Kotlin. Existe muito hype a respeito da linguagem atualmente e ter alguém que vê além dele enriqueceria a discussão. Comecei a estudar Kotlin mas em pouco tempo senti que não valia meu tempo. Pra mim, uma linguagem que valha a pena estudar (não necessariamente adotar) tem que trazer uma abordagem nova para pensar e solucionar problemas, não apenas sintaxes ou funcionalidades extras. Veja só, quando você perguntou aos participantes quais as características de alto nível que Kotlin tem, nenhuma resposta foi “na mosca”, elas foram esses “extras” que você consegue ou com bibliotecas ou com boas práticas de programação: null-safety, código verboso, código clean, segurança para o desenvolvedor, (i)mutabilidade… Interessante que você mesmo comparou alguns desses pontos com Scala, e acrescentou que a adoção da linguagem já não avança. Meu ponto é que Scala, na época em que foi lançada, trouxe novidades em relação à forma de pensar os problemas por causa da novidade (ao menos se considerarmos visibilidade no mercado de desenvolvimento) do OO + funcional. Clojure também traz uma forma diferente de pensar na modelagem e abordagem de problemas. Kotlin não. Gosto muito do programa, a inclusão da Roberta como co-host foi muito bacana, as participações do Linhares sempre misturam polêmica, informação e bom-humor, e deixo a sugestão de que em assuntos mais polêmicos possa participar alguém com contra-pontos inteligentes para enriquecer a conversa. Abraços! Responder
Desv - 0 A linguagem Java é tao ruim que fica difícil ter contra-ponto a Kotlin, em relação a Java. Responder
Felipe Torres - 0 Oi Matheus, acho importante essa visão mais crítica para não entrar em hypes que podem acabar dando em nada. Concordo bastante com elas, mas acho a comparação com Scala, Clojure, (até Erlang) meio injusta pois essas linguagens apresentaram, como você disse perfeitamente, novidades de “paradigmas”. Porém a ideia do Kotlin, ao meu ver, é “atualizar” o mundo do Java principalmente para o desenvolvimento Android e não criar um novo paradigma, por exemplo. Arrisco dizer que o Kotlin foi inspirado nessas linguagens citadas acima, mas a inspiração se deu mais no tocante à sintaxe e não necessariamente na apresentação de novas formas de se modelar problemas. Quando você diz que “esses ‘extras’ […] você consegue ou com bibliotecas ou com boas práticas de programação” é verdade para grande parte das features do Kotlin, mas algumas são um pouco mais trabalhosas de serem obtidas por esses meios: – Coroutines (https://kotlinlang.org/docs/reference/coroutines-overview.html): programação assíncrona como se fosse síncrona. – Kotlin/Native (https://kotlinlang.org/docs/reference/native-overview.html): compilar o código para ser executado fora de uma VM. (deixei os links, pra resposta não ficar maior ainda…) Kotlin/Native é particularmente interessante para que o mesmo código Kotlin feito para o Android seja utilizado no mundo do iOS, de uma forma beeeem mais simples que alternativas “híbridas”. Responder
jallisson jallis oliveira band - 0 Muito bom esse episodio, escutei no carro enquanto levava meu filho para a escola, programo em Java e estou pensando muito querendo aprender Kotlin. Responder
Junior Osho - 0 @mauriciolinhares:disqus pod sem você não é a mesma coisa ! @peasilveira:disqus faça o linhares bater ponto, além de conteúdo técnico senso de humor e visão Nietzschianiana ! Responder
Maurício Linhares - 0 O paulo tava querendo evitar a treta nesse. https://uploads.disquscdn.com/images/fd2650c19962caae249410ba920007354688edca2564fae221ec437b606014be.jpg Responder
Alex Felipe - 0 Eu queria também a participação do @mauriciolinhares:disqus, sempre é interessante quando tem uma pitada de treta no podcast kkkkkk Responder
darioajr - 0 O Java cresceu e esta liberando do core as bibliotecas, já o Kotlin ainda esta com todas as libs agregada, futuramente isso pode mudar?, ou só demonstra a imaturidade do Kotlin? Responder
Filipe de Holanda - 0 Os cursos da Alura para Android já estão atualizados? com Kotlin, Room entre outrar novidades do jetpack? Responder
Tiago Faustino - 0 Ouvindo as características do Kotlin eu como fui desenvolvedor de Groovy no Grails vi diversas coisas que já tinham no Groovy há anos atrás. Aí fico pensando o que o coitado do Groovy não tem que o Kotlin tem? Além de sorte e ter sido feito pela galera certa. Tem algo técnico que coloca o Groovy abaixo do Kotlin? Responder
Felipe Torres - 0 Oi Tiago, não vejo uma relação de superioridade entre as linguagens pois o Groovy tem até mais coisas que o Kotlin (por exemplo, metaprogramação) mas o que você disse é bem verdade: “sorte e ter sido feito pela galera certa”. Pra mim, que sou dev Android/iOS, são duas vantagens bem específicas que o Kotlin tem sobre o Groovy: 1) Tooling: por ter sido criado pela JetBrains, o IntelliJ IDEA (que pra mim é uma das melhores IDEs) já vem com diversas facilidades para se criar e desenvolver um projeto usando Kotlin de forma bem produtiva. 2) Tempo de menor no build de scripts do Gradle: como o Kotlin é estaticamente tipado, sem nenhuma otimização já há um menor tempo na compilação de um script do Gradle quando comparado com um script usando Groovy, sem nenhuma otimização. Para o mundo do Android, em projetos grandes, isso pode fazer diferença. Responder