sábado, 13 de julho de 2019

Transformação digital sem python?


#python #transformaçãoDigital #deeplearning 
E ai? Vai implantar a "Transformação digital" sem python? A terceira linguagem de programação mais popular do mundo? Aprenda aqui, sem caô, com um projeto exemplo utilizado em robótica! http://pythondrops.com/curso/

Como funcionam as redes neurais?


#ia #redeneural #deeplearning #java #backpropagation #GPU #CNN
Como funciona uma Rede Neural? Como ela "aprende"? Como são implementados os softwares como o Tensorflow? Veja isso e tudo mais no Neural Java, com exemplos de código: https://github.com/cleuton/neuraljava

quarta-feira, 10 de julho de 2019

Programação CUDA no nVidia Jetson Nano


#GPU #nvidia #CUDA #JetsonNano #AI #computaçãoParalela
Nesse artigo eu mostrarei como programar paralelo utilizando o Nvidia Jetson Nano e CUDA toolkit.


segunda-feira, 8 de julho de 2019

Nvidia Jetson Nano: Primeiros passos


#ia #iot #nvidia #jetsonNano #iotreta
Conforme prometido, aqui vai o primeiro tutorial do Nvidia Jetson Nano: Como configurar e ligar pela primeira vez! http://iotreta.com/jetson/

domingo, 7 de julho de 2019

Agile é lacração


#agile #postura #críticas
"Na verdade, toda ideia deve ser debatida, com seus prós e contras, sem dogmas. Porém, com "Agile", isso não acontece… Há algo de religioso nas discussões envolvendo "Métodos Ágeis", e existem "fiéis" que os defendem ardorosamente, como se fossem dogmas, que tornam todas as outras ideias em “blasfêmias”. Falar mal de Scrum em um grupo é como soltar um "pum" em um elevador: Todos lhe olharão com fúria, indignação e condescendência." 

sexta-feira, 5 de julho de 2019

F de "férias" e de "f...se"


#férias
É isso ai, até Einstein tirou férias! Agora, vou apertar o botão F por um tempo. Postarei apenas "abobrinhas", mas voltarei logo, meus amigos!

quinta-feira, 27 de junho de 2019

Reconhecimento facial com Java


#IA #deeplearning #redeNeural #CNN #reconhecimentoFacial #java #deeplearning4j #openimaj #neuraljava
Te ensino como criar uma CNN para reconhecimento facial totalmente em Java: https://github.com/cleuton/neuraljava/tree/master/cnn_java

terça-feira, 25 de junho de 2019

Nvidia Jetson Nano: Encontro do IoT com IA


#IA #IoT #GPU #deeplearning #visãoComoutacional
O Nvidia Jetson Nano está naquele ponto obscuro onde  IA encontra o IoT. É um computador completo, com GPU e GPIOs, que você pode usar em seus projetos:
  • Na caixa só vem a placa, nada mais;
  • Você precisará de: Um cartão Micro SD (para baixar o SO), uma fonte micro USB de 5v/2a, um monitor de vídeo, um teclado, um mouse e um cabo Ethernet, pelo menos para o primeiro boot;
  • Não tem WiFi nem Bluetooth, mas você pode usar um dispositivo WiFi USB;
  • Opcionalmente, você pode alimenta-lo por com um adaptador barrel jack de 5v/4a, mas tem que usar um jumper;
  • Também pode ser alimentado via GPIO;
  • Tem uma UART, portanto, pode se conectar a dispositivos seriais;
  • Tem um conector de câmera MIPI, portanto, você pode conectar uma câmera do Raspberry Pi;
  • Tem uma GPU de 128 cores;
  • Não tem microcontrolador integrado, portanto, se você precisar controlar hardware em tempo real, será necessário utilizar algo como um Arduino conectado a ele. 


quarta-feira, 19 de junho de 2019

GPU e Java


#ia #deeplearning #GPU #ND4J #CUDA #java
Usar GPU é necessário para deep learning? Não dá para usar um cluster de CPUs? E como posso usar a GPU em Java?
Confira este novo artigo: 

terça-feira, 18 de junho de 2019

Deeplearning4J: Finalmente uma alternativa!


#ia #neuralnetwork #java #deeplearning4j
DeepLearning4J é a grande alternativa para desenvolver modelos de IA robustos e de alto desempenho. É capaz de usar CUDA e OpenCV, e até importar modelos criados com #keras, independentemente da plataforma em que foram criados e treinados (Python, R...). Veja este tutorial que eu fiz: https://github.com/cleuton/neuraljava/tree/master/python_java_keras

sexta-feira, 14 de junho de 2019

Deep learning colaborativo: Python e Java


#deeplearning #produção #java #keras
Desenvolvimento em Python, Produção em Java!
Não é preciso muito para concluir que Java é uma ótima opção para entregar aplicações em ambiente produtivo. É mais limpa e possui menos dependências espalhadas que outras linguagens de programação, como Python (que, por sinal, eu adoro). Enquanto Python é excelente para desenvolvimento, prototipação e experimentação, especialmente em ciência de dados e IA, perde um pouco quando pensamos em ambiente produtivo. Por quê?
* Performance: Além da questão do GIL, há vários benchmarks que comprovam o desempenho superior de aplicações Java, como este: https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/python.html;
* Robustez: Com Java, temos pouca entropia de ambiente, isso quer dizer, menos dependências espalhadas e menos fragilidade. Basta que a JVM esteja instalada corretamente, que o resto das dependências pode ser embutida em um uber jar ou um war;
* Segurança: Embora existam decompiladores Java, podemos obfuscar o bytecode e entregar apenas o executável. Em outras linguagens, como Python, ficamos limitados a entregar o código-fonte. 

quinta-feira, 13 de junho de 2019

Desenvolvimento com Python, Produção com Java!


#ia #deeplearning #python #java #tensorflow #deeplearning4j #keras #neuraljava
Mais um artigo da série NeuralJava: Desenvolvimento com Python, Produção com Java! Como desenvolver e treinar modelos com Python, Keras e Tensorflow, e exportá-los para uma aplicação Java com DeepLearning4J:

https://github.com/cleuton/neuraljava/tree/master/python_java_keras

Deep learning com Java


#ia #deeplearning #java
Esqueçam a política e aprendam algo novo! Isso põe "pão na mesa"!
Tudo o que você precisa para realizar trabalhos de deep learning de forma profissional, com Java, esta aqui! Grátis! Te esperando! Em breve, mais um tutorial e mais um vídeo! https://github.com/cleuton/neuraljava

quarta-feira, 12 de junho de 2019

Inteligência artificial aplicada



#ia #GAN #VAE #RBM #DeepReinforcementLearning
Veja neste artigo alguns exemplos de IA aplicada, utilizando modelos de redes neurais diferentes.

Generative Adversarial Networks é uma tecnologia de Inteligência Artificial baseada em redes neurais competitivas, em que uma tenta gerar novos dados falsos e enganar a segunda, que tenta distinguir os falsos dos verdadeiros. É possível gerar tudo, de música até imagens, e é assustadora a melhoria deste tipo de modelo. 
Este artigo é muito bom e oportuno, pois ensina a identificar rostos falsos, gerados por GANs. Em breve, publicarei um pequeno tutorial sobre o assunto.

Variational AutoEncoders são um tipo de modelo de redes neurais que podem recriar objetos originais, removendo ruídos e até produzindo novos textos, por exemplo. Em breve, será quase impossível distinguir um texto falso. Veja este projeto! 

Restricted Boltzmann Machine é um tipo de rede neural generativa, que pode aprender uma distribuição de probabilidades a partir da entrada, sendo capaz de reconstruir ou gerar novos dados sem supervisão. Veja este projeto de geração de música: 

Deep reinforcement learning é uma técnica de IA para treinar agentes autônomos a interagirem com o ambiente e conquistarem objetivos. Esse tipo de tecnologia é algo a se considerar e temer. Veja este projeto:

quinta-feira, 6 de junho de 2019

Serverless é a solução

#serverless
Arquitetura Serverless é a verdadeira "disrupção" (eu sei que tem gente que gosta desse termo)! Eu já pregava isso há alguns anos: REST + Microservices + Serverless! Este ótimo artigo ajuda a entender como é essa implementação https://dev.to/trek10inc/ci-cd-aws-and-serverless-5-tips-i-learned-the-hard-way-223p

Datascience e Romantismo

#ia #NLP #R #datascience
Processar textos e informações não estruturadas é cada vez mais importante. Uma das coisas mais fundamentais é resumir e abstrair textos, classificando-os. Com R podemos fazer isto rapidamente, extraindo e pesando os termos mais importantes, como neste exemplo, no qual analiso "A Canção do Exílio", de Gonçalves Dias, escrita em 1843. Podemos notar a relevância dos termos e entender que se trata de um texto dos primeiros momentos do Romantismo Brasileiro. https://github.com/cleuton/datascience/blob/master/book-R/tidy.ipynb

terça-feira, 4 de junho de 2019

Data science com python, R, Julia etc


#datascience #python #R #julia #tensorflow #curso
Quer aprender ciência de dados e #machinelearning? Sem embromação? Grátis? Veja o meu projeto dataLearningHub e tenha tudo isso ao seu alcance! http://datalearninghub.com

quinta-feira, 30 de maio de 2019

Java? Deep Learning? GPU?


#ia #deeplearning #java #gpu #neuraljava
No meu novo livro "Neuraljava", você aprenderá os fundamentos de redes neurais e verá como utilizar Deep Learning nas suas aplicações comuns, utilizando Java! Verá como usar a #GPU (nVidia ou AMD) para processamento paralelo em larga escala, e como utilizar os frameworks mais sinistros do Mercado! Um tira-gosto já está no ar gratuitamente: https://github.com/cleuton/neuraljavaleia, experimente, divulgue! 

terça-feira, 28 de maio de 2019

Acha que postits garantem a manutenibilidade do seu software?


#engenhariaDeSoftware #manutenibilidade #oBomProgramador #8anos
No cenário atual, onde a subjetividade impera, como garantirá a manutenibilidade do seu software? Acha que postits lhe ajudarão? Veja como diminuir e controlar a dependência entre pacotes, com técnicas e métricas. Mais um artigo bombástico do meu blog de Programação O Bom Programador. http://www.obomprogramador.com/2014/02/dependencia-entre-pacotes.html

segunda-feira, 27 de maio de 2019

Classificação de Iris em Java puro


#redesneurais #java #deeplearning  #neuraljava
Adicione inteligência aos seus aplicativos, sem precisar aprender outra linguagem de programação. Classificação do Iris dataset! Veja como funciona uma Rede Neural sem complicações e sem ter que aprender framework algum e o principal: de graça! https://github.com/cleuton/neuraljava/tree/master/iris

segunda-feira, 20 de maio de 2019

Classificando com Naive Bayes


#datascience #deeplearning #redesneurais #java
Quer aprender como funcionam as redes neurais? Sem papofurado de matemática? Ok, aqui vai: https://github.com/cleuton/neuraljava

quinta-feira, 16 de maio de 2019

Deep learning? Pense Java!


#deepLearning #java #deeplearning4j
Cansado dos problemas de desempenho do python? Não suporta os problemas de pacotes do R? Quer fazer seus trabalhos de Deep Learning de uma maneira profissional? Pense Java, Cara!


Só quem já sofreu com Anaconda, lentidão e problemas com aquela porcaria de "install.packages" entenderá a diferença entre uma plataforma profissional e outra, amadora.

segunda-feira, 13 de maio de 2019

Para aprender Redes neurais tem que sujar a mão de graxa


#deepLearning #redesNeurais #java #inteligênciaArtificial
Não adianta insistir! Você não vai aprender sobre Redes Neurais estudando no #tensorFlow. Tem que "sujar a mão de graxa". Comece aqui: https://github.com/cleuton/neuraljava

sábado, 11 de maio de 2019

sexta-feira, 10 de maio de 2019

Tudo sobre redes neurais e deep learning


#redesNeurais #multiLayerPerceptron #backpropagation #deepLearning
Para entender e usar eficientemente frameworks como o Tensorflow, é necessário compreender certas coisa. Este livro ajuda muito, e está disponível para Kindle: https://www.amazon.com.br/Machine-Learning-Neural-Networks-depth-ebook/dp/B075882XCP/ref=sr_1_6?__mk_pt_BR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=Neural+network&qid=1557476608&s=digital-text&sr=1-6
Mas é necessário saber:
Em breve, postarei um vídeo explicando tudo isso, de maneira fácil para você! 

quinta-feira, 9 de maio de 2019

Evite o "release train"


#technologyRadar #hold
Release train! Imagine vários sistemas interdependentes, para os quais o gestor estabelece um "cronograma de releases" de tempo fixo, não importando se as mudanças foram todas implementadas ou se o seu valor justifica o gasto da empresa em fazer um release monstro. Horas extras, desgaste da equipe e problemas pós release devem ser justificados pelo valor que está sendo entregue. Amarrar o release de sistemas interdependentes a um intervalo fixo de tempo é desconhecer e desprezar o trabalho dos Engenheiros de Software  https://www.thoughtworks.com/pt/radar/techniques

segunda-feira, 6 de maio de 2019

Novo livro: Neural Java


 #livro #deeplearning #java #neuraljava
Meu próximo livro é sobre Deep learning (redes neurais) com Java. Quer aprender sobre redes neurais, sem complicações, sem pyhon e sem R? Quer aprender a criar modelos de redes usando diretamente a GPU? Quer aprender a criar soluções profissionais de redes neurais em Java? Então aguarde! Em breve, um "tiragosto" para vocês.

sábado, 4 de maio de 2019

Um sucesso


#sucesso #OBP8anos #oBomProgramador
Um dos meus livros mais bem sucedidos, que originou meu blog: http://obomprogramador.com

sexta-feira, 3 de maio de 2019

Neural java

#deeplearning #java

Sim! É perfeitamente possível criar soluções baseadas em Redes Neurais utilizando Java! E faz todo sentido, pois a JVM tem um desempenho muito bom e em certos casos próximo ao do C++. Meu blog de Data Science, o datalearninghub.com, vai iniciar uma série de artigos sobre Deep Learning utilizando Java (incluindo o uso de GPU com CUDA), com vários frameworks: Tensorflow, Deeplearning4j e cuDNN (Nvidia). Vamos desde o mais básico Perceptron até o mais sofisticado modelo! Aguarde!

segunda-feira, 29 de abril de 2019

Cuidado com soluções caseiras


#planejamento #gestão #startup
A ênfase no processo produtivo de qualquer empresa é enxuga-lo, utilizando apenas ferramentas, métodos e técnicas que efetivamente agreguem valor ao produto.
Agregar valor pode ser simplificado como: "o quanto você ganha a mais por utilizar certo insumo". Sim, do ponto de vista do Produtor, é isso mesmo. 
Se, ao utilizar certa ferramenta, seu custo de produção cai, ou sua vendas aumentam, então, talvez, a tal ferramenta esteja agregando valor. Para confirmar, é preciso calcular qual seria o custo sem utiliza-la ou qual seria a quantidade de vendas, depois, precisamos calcular o quanto gastamos para utiliza-la ou mante-la. Se o que ganhamos com seu uso for maior do que o que gastamos com ela, então, seu uso agrega valor ao ciclo produtivo.
Fui contatado por uma empresa que havia desenvolvido um framework próprio gerador de apps Angular. Segundo o responsável, ele economizava entre 30 e 40% do tempo e do custo de desenvolvimento de aplicações para seus clientes. O problema é que, devido às constantes mudanças no Angular, a ferramenta necessitava de constante manutenção. Bom, pedi a ele para fazer as contas, e, na verdade, a tal ferramenta própria não agregava valor. Nunca agregou. 
Todas as empresas, especialmente as de TI, tem ferramentas "mágicas" criadas em casa, porém, mesmo agregando valor aparentemente, não geram receita direta e seu valor se dilui com o tempo. 

sábado, 20 de abril de 2019

IA, carreira, emprego

#ia #carreiras 
Tenho dito aos meus filhos e amigos que as carreiras e empregos estão sofrendo um processo disruptivo, embora odeie este adjetivo. A IA veio para ficar e quem compreender e souber utilizar suas técnicas e algoritmos, estará no topo da onda. https://www.forbes.com/sites/cognitiveworld/2018/09/19/skill-up-your-career-for-the-new-ai-economy/#2bfa91c252c4

IA e marketing


#IA #marketing
Eu acredito que o uso de IA em marketing é importantíssimo e vai aumentar! É preciso reformular o currículo das faculdades para preparar os profissionais! É galera, a matemática e a ciência da computação chegaram para ficar! https://econsultancy.com/15-examples-of-artificial-intelligence-in-marketing/

quinta-feira, 18 de abril de 2019

quarta-feira, 17 de abril de 2019

Ano do C++! Aprenda conosco


#curso #C #Cplusplus #ANSI #gratuitos
Quer aprender C ou C++? Não precisa gastar dinheiro! Aqui estão, de graça! http://www.obomprogramador.com/p/cursos.html#ccpp

terça-feira, 16 de abril de 2019

Prática de Redes Neurais


#IA #DeepLearning #fundamentals #Cplusplus #python
Antes de "mergulhar" em um framework de Deep Learning, como o Tensorflow, fingindo que aprendeu sobre Redes Neurais, eu recomendaria a leitura e prática destes livros. O da esquerda em em C++, muito simples, algo que você lê e executa em 1 dia. O outro é em Python, com muita base teórica. Em ambos, você constrói seu algoritmo de Rede Neural e executa uma análise. A ideia é aprender a fundo, para poder tirar melhor proveito do Tensorflow

sexta-feira, 12 de abril de 2019

Ideias para startups


#inovação #transformaçãoDigital #tecnologia #nuvem #iot #startup
Tenho publicado vários tutoriais tecnológicos, voltados para turbinar projetos de startups. Às vezes, recebo um feedback positivo de algum empreendedor que se inspirou em algumas das minhas ideias. 
Ontem, recebi um ótimo feedback de uma startup, que conseguiu bons investimentos, cujo projeto foi inspirado em uma das minhas ideias. É o nascimento de uma nova empresa a qual, espero, gere empregos diretos e indiretos.
Tudo o que eu ofereço é gratuito, veja você também: 

quarta-feira, 10 de abril de 2019

IoT sem caô


#iot #omega2 #python #bigdata #inovação #semCaô
Vou começar uma série de video-tutoriais no meu blog de IoT: iotreta.com, utilizando o Omega2, um servidor Linux completo, baseado no MediaTek MT7688 MIPS, já vem com WiFi e é compatível com os shields para Arduíno, utilizando uma Dock. Aguarde!
É claro que tudo estara aqui: No Bom Programador!

quarta-feira, 27 de março de 2019

Reconhecimento e classificação facial com CNN - Rede neural convolucional usando Tensorflow


#python #IA #redeNeural #CNN #reconhecimentoFacial

Continuando minha série de artigos sobre visão computacional e reconhecimento facial, mostrarei um método bem mais preciso de classificação de rostos, ou seja, identificação de pessoas com base em fotos.

Esta demonstração utiliza o Tensorflow e um modelo de rede convolucional que eu criei e treinei com imagens minhas e de algumas personalidades públicas, selecionadas da Internet.

sábado, 23 de março de 2019

Comparação de rostos com Java e C++ utilizando HOG


#C++ #java #opencv #dlib #reconhecimentoFacial #faceRecognition #IA #deepLearning

HOG - Histogram of Oriented Gradients (histograma de gradientes orientados) é um descritor de imagens, capaz de resumir as principais características de uma imagem, como rostos por exemplo, permitindo comparação com imagens semelhantes.

Este artigo e tutorial é de dois anos atrás e eu resolvi atualizar e modernizar o código-fonte para publicar novamente.

quinta-feira, 14 de março de 2019

Python, paralelismo e GIL - Nem tudo funciona como você pensa


#python #multiprocessing #thread #OBP8anos #oBomProgramador
Bom, neste artigo vou mostrar a você um pouco das idiossincrasias do Python e seus efeitos no seu projeto de software. Veremos uma característica curiosa, o GIL - Global Interpreter Lock, e como podemos contorná-lo. Este artigo é original do meu blog de cultura Python: http://pythondrops.com


quarta-feira, 13 de março de 2019

Linguagens de programação: estatísticas do Githut.info


#engenhariaDeSoftware #linguagens #github
Olhar as estatísticas do githut.info pode nos dar insights sobre o uso de linguagens de programação. Por exemplo: "active repositories" tem Javascript em primeiro lugar, afinal, é a linguagem mais ativa no Github, mas Swift está melhor em "new forks" e "new watchers", o que significa que esta atraindo a atenção de novos adeptos. E, surpreendentemente, R está em primeiro lugar em "new forks". Um "new fork" diferencia quem apenas quer utilizar o software de quem quer desenvolver ou melhorar o software.

terça-feira, 12 de março de 2019

Framework móvel multiplataforma


#mobile #multiplatform #framework #lua
AAMO Framework, meu projeto de framework móvel.
Um framework móvel, multiplataforma, baseado em Lua, que permite criar apps totalmente nativas, em Android, iOS e Desktop (Windows, Linux e MacOS).
Algumas empresas ao redor do mundo já o utilizaram como base para seus produtos. Vamos lá... dê uma olhada.

segunda-feira, 11 de março de 2019

Ruby está morrendo?


#engenhariaDeSoftware #ruby #rails
O que está acontecendo com Ruby? Está morrendo? Amargando a 15ª posição na lista TIOBE de popularidade, ainda apresenta forte tendência de queda. Até 2010 só sa falava em Ruby e Rails. Vários artigos tentam explicar essa queda, como este: https://www.informationweek.com/devops/programming-languages/the-rise-and-fall-of-ruby-on-rails/a/d-id/1329443

sexta-feira, 8 de março de 2019

Fábrica de salsichas



#engenhariaDeSoftware #infraestrutura #TI
Vivemos uma explosão tecnológica atualmente. É um mar de acrônimos, siglas e nomes exóticos, formando um turbilhão imenso, o qual, se não tomarmos cuidado, acabará nos engolindo.

Para fugir deste turbilhão, é preciso pensar nas necessidades do seu cliente. O que é essencial para ele? Como podemos entregar um MVP? Qual é o seu orçamento? Quanto ele realmente espera gastar com o Projeto? Qual é o seu ciclo de produção e de manutenção?



quinta-feira, 7 de março de 2019

Deploy de hadoop


#hadoop #bestPractices #technologyRadar

Isso é algo que aprendi com muita dor! O Hadoop (e o HDFS) são sistemas com estado e você não deve usar o "pensamento em nuvem" ao implementá-los. Este é o melhor conselho que já conheci.
"Quando as organizações escolhem uma distribuição vanilla Hadoop ou Spark em vez de uma das distribuições do fornecedor, elas precisam decidir como desejam provisionar e gerenciar o cluster. Ocasionalmente, vemos "handcranking" de clusters do Hadoop usando ferramentas de gerenciamento de configuração, como Ansible, Chef e outras. Embora essas ferramentas sejam ótimas no provisionamento de componentes de infraestrutura imutáveis, elas não são muito úteis quando você precisa gerenciar sistemas com estado e geralmente podem levar a um esforço significativo para tentar gerenciar e desenvolver clusters usando essas ferramentas. Em vez disso, recomendamos o uso de ferramentas como o Ambari para provisionar e gerenciar seus clusters Hadoop ou Spark com preservação de estado."

quarta-feira, 6 de março de 2019

Microservice Envy


#engenhariaDeSoftware #technologyRadar #microservices
A melhor frase sobre microsserviços que eu já vi: "É importante lembrar que os microsserviços negociam a complexidade de desenvolvimento para a complexidade operacional" e esse tradeoff nem sempre é considerado.
Eles aconselham a evitar o antipattern: Microservice Envy. Eis uma tradução:

"Os microsserviços surgiram como uma técnica de arquitetura líder em sistemas modernos baseados em nuvem, mas ainda achamos que as equipes devem proceder com cuidado ao fazer essa escolha. A Microservice Envy tenta que as equipes complicem sua arquitetura tendo muitos serviços simplesmente porque é uma opção de arquitetura da moda. Plataformas como o Kubernetes facilitam muito a implementação de conjuntos complexos de microsserviços, e os fornecedores estão impulsionando suas soluções para o gerenciamento de microsserviços, potencialmente liderando equipes ainda mais nesse caminho. É importante lembrar que os microsserviços negociam a complexidade de desenvolvimento para a complexidade operacional e exigem uma base sólida de testes automatizados, entrega contínua e cultura de DevOps."

quarta-feira, 27 de fevereiro de 2019

O que está acontecendo com Swift


#mobile #ios #swift
O que está acontecendo com Swift? Despencou da 16ª para. 20ª posição, no ranking de popularidade TIOBE. Alguns acreditam que essa queda é devido ao uso de frameworks móveis multiplataforma, como o Xamarin, por exemplo. Porém, se analisarmos a lista, vemos que Objective-C, a tradicional linguagem do iOS, está na 10ª posição com forte tendência de subida! Na minha opinião, Swift é uma linguagem complexa, diferente, e que, para piorar, é utilizada praticamente só na plataforma Apple, e o Objective-C tem uma enorme base de código produzida. 

Coisa pior acontece com Kotlin, 38ª posição e estagnada. São linguagens parecidas, "modernas", diferentes, mas que não estão atraindo adeptos. Confira este artigo: https://www.infoworld.com/article/3231664/apples-swift-is-losing-developers-to-multiplatform-frameworks.html

domingo, 17 de fevereiro de 2019