Linguagens de programação
para ficar de olho em 2019
Rodrigo 'Pokemaobr' Cardoso
Bacharel em Matemática Aplicada e Computacional pela UFRRJ
MBA em Engenharia de Softwares Orientado para Serviços pelo IBTA
Community Manager @ iMasters
Evangelista @ PHPSP
Criador do canal de youtube PokePHP
@pokemaobr - rodrigo.cardoso@imasters.com.br
@pokemaobr
Aviso Importante:
Não se baseie apenas nessa palestra para
escolher sua linguagem “preferida”. Caso
se interesse em alguma linguagem
apresentada estude-a e veja se é o tipo de
linguagem que te dá vontade de codar e
que resolve os problemas que você
possui.
Parte 1 - Cenário
➢ Containers
➢ Orquestração de containers
➢ Integração contínua e entrega contínua
Devops em ascensão
➢ Pequenos blocos para pequenos problemas
➢ Paradigma funcional em alta
➢ AWS Lambda, Google Cloud Functions,
Azure Functions, Apache OpenWhisk, etc
Serverless
➢ Ionic, Electron, Cordova, Quasar
➢ React Native, NativeScript, Xamarin
➢ Lançamento do Flutter 1.0
Desenvolvimento
Cross-Platform
➢ Apps que na verdade são webpages
➢ Apoio forte do Google e da Microsoft
➢ Muitos serviços que usamos são PWAs
(telegram e whatsapp web por exemplo)
➢ Mais força para as linguagens web
tradicionais.
PWA
➢ Aumento da quantidade de dados
➢ Não-devs codando
➢ Linguagens de fácil aprendizagem e alto
poder matemático têm destaque.
Machine Learning e Data Science
➢ APIs de processamento de linguagem
natural, imagens, etc
➢ Interfaces de fácil utilização por quem não
sabe programar
➢ Integração com serviços de chat e redes
sociais
Serviços Cognitivos
➢ Criada pelo facebook em 2012 (lançamento
em 2015)
➢ “Query language” para APIs
➢ Alternativa ao REST
GraphQL
➢ Base de dados distribuída
➢ Transações permanentes
➢ Criação de redes
➢ BitCoin, Etherium, Monero, etc
BlockChain
➢ “Compila” para a web
➢ VM
➢ Front-end & Back-end
➢ C, C++, RUST e outras linguagens
WebAssembly
➢ Criado pela Microsoft
➢ IDE “Universal”
➢ Alta aceitação
Visual Studio Code (VS Code)
Parte 2 - “Linguagens
Hypadas”
➢ Criado em 2016 pelo facebook
➢ Compila para Assembly ou JavaScript
➢ Foco em desempenho e tamanho
➢ Fortemente tipada
Reason (OCaml)
Reason (OCaml)
let () = {
print_string("Hello world!");
print_newline()
};
Hello World:
➢ Criado em 2012 pela Microsoft
➢ Atribui tipagem estática ao JavaScript
➢ Angular, React, Vue, Node.js
TypeScript (JavaScript)
TypeScript (JavaScript)
var hello: string = "Hello World";
console.log(hello);
Hello World:
➢ Apresentada em 2011
➢ Linguagem web criada pelo Google na
tentativa de substituir o JavaScript nos
navegadores
➢ Sintaxe parecida com Java e C++
Dart
➢ Pode ser executada sobre uma VM
➢ Ou compilada para JavaScript
➢ É necessária para desenvolver aplicativos
utilizando o Flutter
Dart
Hello World:
Dart
main() {
print('Hello World!');
}
➢ Criada em 2010 pela Mozilla
➢ Pode ser usada no WebAssembly
➢ Pode ser usada em iOT
➢ Sintaxe amigável
Rust
Rust
fn main() {
println!("Hello,
world!");
}
Hello World:
➢ Criada em 2012 pelo José Valim
(Plataformatec)
➢ Linguagem funcional
➢ Tolerancia a falhas
➢ Programação concorrente
Elixir
Elixir
IO.puts "Hello World!"
Hello World:
➢ Baseada em MATLAB
➢ Tipagem dinâmica
➢ Alto desempenho numérico e científico
➢ Pode usar funções do Python
Julia
Julia
println("hello world")
Hello World:
Parte 3 - Linguagens
“Clássicas”
O que parece que vai ser bom, pode ser
bom, mas, talvez não seja bom.
➢ Web (Front-End, Back-End), Console,
Mobile, Desktop
➢ Linguagem mais usada na Web (Front-End)
➢ Basicamente 100% da web usa JavaScript
JavaScript
➢ Web (Back-End), Console, Desktop
➢ Linguagem mais utilizada em Data
Science/Machine Learning
➢ Boa para rotinas de cyber segurança
➢ Youtube, Dropbox, Google, Spotify
Python
➢ Web (Back-End), Console, Desktop*
➢ Linguagem mais utilizada na Web
(Back-End)
➢ Facebook, Wordpress, Wikipedia, Slack,
Magento
PHP
➢ Web (Back-End), Console, Desktop, Mobile
➢ Linguagem bastante utilizada em
ambientes corporativos
➢ Utilizada para criar apps nativos Android
➢ Netflix, Instagram, Netbeans, eBay
Java
➢ Web (Front-End, Back-End), Console,
Desktop, Mobile
➢ Linguagem com mais tipos diferentes de
utilização
➢ Microsoft, Bing, StackOverflow
C#
➢ Web (Back-End), Console, Desktop*
➢ Linguagem mais utilizada por startups
➢ AirBnB, Shopify, Twitch, Heroku
Ruby
➢ Web (Front, Back-End), Mobile, Console,
Desktop
➢ Linguagem oficial para desenvolvimento de
apps nativos Android
➢ Criada pela JetBrains
Kotlin
➢ Mobile, Desktop
➢ Utilizada para criar apps nativos iOS
➢ Apple, Lyft, 9gag
Swift
➢ Web (Back-End), Console, Desktop
➢ Ótima linguagem para criar aplicações
concorrentes
➢ Docker, Google, Medium
Go
➢ Console, Desktop, Hardware, Mobile
➢ C++ é muito utilizada em jogos de alta
performance
➢ Linguagens próximas da linguagem de
máquina (melhor controle sobre memória e
outros dispositivos “físicos”)
C, C++
Parte 4 - Comparativos de
Linguagem
Linguagens mais utilizadas por devs:
StackOverflow
https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
Linguagens mais amadas por devs:
StackOverflow
https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
Linguagens mais temidas por devs:
StackOverflow
https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
Linguagens mais procuradas por devs:
StackOverflow
https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
Ranking de Linguagens de Programação:
RedMonk
https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
Ranking de Linguagens de Programação:
RedMonk
https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
Linguagens utilizadas como back-end de websites
W3Tech
https://w3techs.com/technologies/overview/programming_language/all
Parte 5 - Qual linguagem
escolher?
➢ Saiba quais problemas quer resolver
➢ Leia a documentação
➢ Experimente
➢ Procure a comunidade
Qual linguagem escolher?
Dúvidas?
Rodrigo 'Pokemaobr' Cardoso
Community Manager @ iMasters
@pokemaobr
rodrigo.cardoso@imasters.com.br
@pokemaobr

Linguagens de Programação para Ficar de Olho em 2019 - DevRocks

  • 1.
    Linguagens de programação paraficar de olho em 2019
  • 2.
    Rodrigo 'Pokemaobr' Cardoso Bacharelem Matemática Aplicada e Computacional pela UFRRJ MBA em Engenharia de Softwares Orientado para Serviços pelo IBTA Community Manager @ iMasters Evangelista @ PHPSP Criador do canal de youtube PokePHP @pokemaobr - rodrigo.cardoso@imasters.com.br @pokemaobr
  • 4.
    Aviso Importante: Não sebaseie apenas nessa palestra para escolher sua linguagem “preferida”. Caso se interesse em alguma linguagem apresentada estude-a e veja se é o tipo de linguagem que te dá vontade de codar e que resolve os problemas que você possui.
  • 5.
    Parte 1 -Cenário
  • 6.
    ➢ Containers ➢ Orquestraçãode containers ➢ Integração contínua e entrega contínua Devops em ascensão
  • 7.
    ➢ Pequenos blocospara pequenos problemas ➢ Paradigma funcional em alta ➢ AWS Lambda, Google Cloud Functions, Azure Functions, Apache OpenWhisk, etc Serverless
  • 8.
    ➢ Ionic, Electron,Cordova, Quasar ➢ React Native, NativeScript, Xamarin ➢ Lançamento do Flutter 1.0 Desenvolvimento Cross-Platform
  • 9.
    ➢ Apps quena verdade são webpages ➢ Apoio forte do Google e da Microsoft ➢ Muitos serviços que usamos são PWAs (telegram e whatsapp web por exemplo) ➢ Mais força para as linguagens web tradicionais. PWA
  • 10.
    ➢ Aumento daquantidade de dados ➢ Não-devs codando ➢ Linguagens de fácil aprendizagem e alto poder matemático têm destaque. Machine Learning e Data Science
  • 11.
    ➢ APIs deprocessamento de linguagem natural, imagens, etc ➢ Interfaces de fácil utilização por quem não sabe programar ➢ Integração com serviços de chat e redes sociais Serviços Cognitivos
  • 12.
    ➢ Criada pelofacebook em 2012 (lançamento em 2015) ➢ “Query language” para APIs ➢ Alternativa ao REST GraphQL
  • 13.
    ➢ Base dedados distribuída ➢ Transações permanentes ➢ Criação de redes ➢ BitCoin, Etherium, Monero, etc BlockChain
  • 14.
    ➢ “Compila” paraa web ➢ VM ➢ Front-end & Back-end ➢ C, C++, RUST e outras linguagens WebAssembly
  • 15.
    ➢ Criado pelaMicrosoft ➢ IDE “Universal” ➢ Alta aceitação Visual Studio Code (VS Code)
  • 16.
    Parte 2 -“Linguagens Hypadas”
  • 17.
    ➢ Criado em2016 pelo facebook ➢ Compila para Assembly ou JavaScript ➢ Foco em desempenho e tamanho ➢ Fortemente tipada Reason (OCaml)
  • 18.
    Reason (OCaml) let ()= { print_string("Hello world!"); print_newline() }; Hello World:
  • 19.
    ➢ Criado em2012 pela Microsoft ➢ Atribui tipagem estática ao JavaScript ➢ Angular, React, Vue, Node.js TypeScript (JavaScript)
  • 20.
    TypeScript (JavaScript) var hello:string = "Hello World"; console.log(hello); Hello World:
  • 21.
    ➢ Apresentada em2011 ➢ Linguagem web criada pelo Google na tentativa de substituir o JavaScript nos navegadores ➢ Sintaxe parecida com Java e C++ Dart
  • 22.
    ➢ Pode serexecutada sobre uma VM ➢ Ou compilada para JavaScript ➢ É necessária para desenvolver aplicativos utilizando o Flutter Dart
  • 23.
  • 24.
    ➢ Criada em2010 pela Mozilla ➢ Pode ser usada no WebAssembly ➢ Pode ser usada em iOT ➢ Sintaxe amigável Rust
  • 25.
  • 26.
    ➢ Criada em2012 pelo José Valim (Plataformatec) ➢ Linguagem funcional ➢ Tolerancia a falhas ➢ Programação concorrente Elixir
  • 27.
  • 28.
    ➢ Baseada emMATLAB ➢ Tipagem dinâmica ➢ Alto desempenho numérico e científico ➢ Pode usar funções do Python Julia
  • 29.
  • 30.
    Parte 3 -Linguagens “Clássicas” O que parece que vai ser bom, pode ser bom, mas, talvez não seja bom.
  • 31.
    ➢ Web (Front-End,Back-End), Console, Mobile, Desktop ➢ Linguagem mais usada na Web (Front-End) ➢ Basicamente 100% da web usa JavaScript JavaScript
  • 32.
    ➢ Web (Back-End),Console, Desktop ➢ Linguagem mais utilizada em Data Science/Machine Learning ➢ Boa para rotinas de cyber segurança ➢ Youtube, Dropbox, Google, Spotify Python
  • 33.
    ➢ Web (Back-End),Console, Desktop* ➢ Linguagem mais utilizada na Web (Back-End) ➢ Facebook, Wordpress, Wikipedia, Slack, Magento PHP
  • 34.
    ➢ Web (Back-End),Console, Desktop, Mobile ➢ Linguagem bastante utilizada em ambientes corporativos ➢ Utilizada para criar apps nativos Android ➢ Netflix, Instagram, Netbeans, eBay Java
  • 35.
    ➢ Web (Front-End,Back-End), Console, Desktop, Mobile ➢ Linguagem com mais tipos diferentes de utilização ➢ Microsoft, Bing, StackOverflow C#
  • 36.
    ➢ Web (Back-End),Console, Desktop* ➢ Linguagem mais utilizada por startups ➢ AirBnB, Shopify, Twitch, Heroku Ruby
  • 37.
    ➢ Web (Front,Back-End), Mobile, Console, Desktop ➢ Linguagem oficial para desenvolvimento de apps nativos Android ➢ Criada pela JetBrains Kotlin
  • 38.
    ➢ Mobile, Desktop ➢Utilizada para criar apps nativos iOS ➢ Apple, Lyft, 9gag Swift
  • 39.
    ➢ Web (Back-End),Console, Desktop ➢ Ótima linguagem para criar aplicações concorrentes ➢ Docker, Google, Medium Go
  • 40.
    ➢ Console, Desktop,Hardware, Mobile ➢ C++ é muito utilizada em jogos de alta performance ➢ Linguagens próximas da linguagem de máquina (melhor controle sobre memória e outros dispositivos “físicos”) C, C++
  • 41.
    Parte 4 -Comparativos de Linguagem
  • 42.
    Linguagens mais utilizadaspor devs: StackOverflow https://insights.stackoverflow.com/survey/2018#technology-programming-scripting-and-markup-languages
  • 43.
    Linguagens mais amadaspor devs: StackOverflow https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
  • 44.
    Linguagens mais temidaspor devs: StackOverflow https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
  • 45.
    Linguagens mais procuradaspor devs: StackOverflow https://insights.stackoverflow.com/survey/2018#technology-most-loved-dreaded-and-wanted-languages
  • 46.
    Ranking de Linguagensde Programação: RedMonk https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
  • 47.
    Ranking de Linguagensde Programação: RedMonk https://redmonk.com/sogrady/2018/08/10/language-rankings-6-18/
  • 48.
    Linguagens utilizadas comoback-end de websites W3Tech https://w3techs.com/technologies/overview/programming_language/all
  • 49.
    Parte 5 -Qual linguagem escolher?
  • 50.
    ➢ Saiba quaisproblemas quer resolver ➢ Leia a documentação ➢ Experimente ➢ Procure a comunidade Qual linguagem escolher?
  • 51.
  • 52.
    Rodrigo 'Pokemaobr' Cardoso CommunityManager @ iMasters @pokemaobr rodrigo.cardoso@imasters.com.br @pokemaobr