Mostrando postagens com marcador Linguagem de programação. Mostrar todas as postagens
Mostrando postagens com marcador Linguagem de programação. Mostrar todas as postagens

sábado, 6 de janeiro de 2018

Linguagem C volta a ser popular

Da Redação, com IDG News Service

Publicada em 05 de janeiro de 2018 




A linguagem C recuperou popularidade durante 2017 no índice da Tiobe, ganhando a designação de Linguagem de Programação do Ano. Cresceu 1,69 pontos percentuais na sua classificação anual, considerando o registro de Janeiro. O suficiente para derrotar a Python, cuja quota aumentou 1,21% e a Erlang, com ganho de 0,98%. Contudo apenas há cinco meses, a C estava com a sua classificação bem mais baixa (por volta de 6%). Agora a quota subiu para 11,07% mais uma vez, colocando-a apenas atrás da Java, tendo esta tenha caído 3,05%.
linguagens
O ressurgimento da C está possivelmente ligado à popularidade na indústria automobilística, segundo a Tiobe.
No ano de 2016 a linguagem de programação do ano foi a Go (Golang), da Google.
A Tiobe baseia as suas classificações em uma fórmula que considera o volume de pesquisas sobre linguagens em serviços de busca como o Google, Bing e na Wikipedia.
Linguagens promissoras como Julia, Hack, Rust e Kotlin sequer entraram para a lista das 30 mais preferidas.
Um grupo de outras linguagens com saltos de popularidade significativos em 2017 inclui a R, que subiu de 16º para o 8º lugar e a Kotlin. Esta evoluiu para a 39ª posição desde a 89ª. Outro destaque é a Erlang, que aparece no 23º lugar depois de estar no 44º há um ano.
“Entrar no ‘top 10’ ou mesmo ‘top 20’ requer ter um ecossistema amplo e forte”, recorda Paul Jansen, diretor executivo da Tiobe. “Isso não acontece em 12 meses, apenas”.

sexta-feira, 5 de janeiro de 2018

Vamos começar a programar em Scratch? (Parte I)

Por Pedro Pinto em 04/01/2018 no site pplware

Atualmente existem milhares de linguagens de programação que nos permitem desenvolver os mais diversos projetos. No entanto, uma das que mais se tem falado é o Scratch por ser uma linguagem de programação muito simples e direcionada para quem quiser entrar no mundo da programação. Hoje vamos ensinar-lhe a dar os primeiros passos.
O Scratch é uma das linguagens de programação por blocos mais populares do mundo. Foi criada no MIT (Massachusetts Institute of Technology) e é sem dúvida uma das linguagens de programação ideal dar os primeiros passos na criação de aplicações, jogos, animações, etc, de uma forma muito simples e divertida.

Por onde começar?

Apesar de existirem alguns editores, podemos começar a programar em Scratch online. Para começarem basta que acedam aqui. Hoje, como é o primeiro tutorial vamos criar um projeto simples e no segundo tutorial iremos criar a respetiva conta na plataforma. Depois de acederem ao site devem carregar em CRIAR
Já dentro do IDE vamos começar pelo tutorial Iniciação ao Scratch
Como podem ver, este tutorial tem vários passos mas neste artigo vamos mostrar apenas os primeiros quatro. Os outros é para fazerem “sozinhos”. Carreguem então em Começar a andar
Tal como indica o “guião”, arrastem o bloco andar 10 passos para zona cinzenta. Reparem que podem mudar o número de passos que o gato tem de dar.
Para testarem esta ação, basta que cliquem, continuamente, com o rato sobre o bloco. Do lado esquerdo irão ver o gato a mexer-se.
O próximo passo é adicionar um som. Para isso no separador Guiões escolhemos Som e arrastamos o blocotoca o som meow até terminar. Para testarem basta que cliquem com o rato sobre o conjunto de blocos.
Vamos agora à dança. Acrescente outro bloco anda, clique na ranhura do bloco e introduza um sinal negativo. Acrescente outro bloco toca a percussão e escolha um instrumento no menu.
Clique em qualquer dos blocos para executar a pilha de blocos:
Por fim vamos adicionar uma repetição. No separador Guião escolham Controlo e depois encaixem o bloco repete 10 vezes conforme mostra a figura.

Já percebeu a lógica? É fácil não é? Agora os seguintes passos é para fazem sozinhos seguindo o tutorial que é disponibilizado na própria interface. Caso tenham alguma dúvida ou questão deixem nos comentários. Boas programações!

sexta-feira, 29 de dezembro de 2017

7 linguagens de programação para estudar em 2018

28 de dezembro de 2017 no site Código Fonte
Aprender a programar pode assustar muita gente, mas existem diversas técnicas, meios e ferramentas, atualmente, que ajudam a reduzir um pouco quaisquer hipotéticos traumas.
Aqui mesmo no código fonte já listamos uma série dicas para você que deseja aprender alguma linguagem. Confira abaixo:
Também existem algumas plataformas com cursos online muito interessantes e práticas, como a Udemy, por exemplo. Enfim, são muitas as maneiras de entrar nesta área sem que seja preciso gastar rios de dinheiro e perder inúmeros fios de cabelo.
código
Pois bem, o site Coding Dojo montou uma listagem com 7 linguagens de programação importantes. Linguagens que você deve ficar de olho em 2018. Linguagens cuja adoção vem aumentando.
A lista foi preparada com base nas vagas disponíveis em um famoso banco online. Vamos lá:

C#

Linguagem da Microsoft que faz parte da plataforma .NET, de suma importância para quem trabalha com o desenvolvimento de games. A linguagem surgiu em 2000.

C++

Linguagem também utilizada no desenvolvimento de jogos eletrônicos, além de softwares e aplicativos diversos, drivers, etc. Trata-se de uma linguagem compilada multi-paradigma, surgida na década de 70.

Java

Utilizada no desenvolvimento de aplicativos para smartphones e tablets Android, o Java surgiu em 1995 e é utilizado por uma enorme quantidade de empresas e programadores ao redor do mundo.
O java é compilado para um bytecode, o qual é interpretado pela máquina virtual “Java Virtual Machine”.

JavaScript

Bastante utilizado na web, no desenvolvimento de sites, o JavaScript é uma das linguagens de programação mais populares da atualidade. Ele também ganhará mais relevância com o advento da internet das coisas, valendo a pena lembrar que trata-se de uma linguagem de programação interpretada, originalmente desenvolvida como parte de navegadores web, para que scripts pudessem rodar no lado do cliente, interagindo com os usuários sem a necessidade de passagem para os servidores web.

Perl

O Perl ficou em sétimo lugar no ranking das linguagens mais populares em 2017. Trata-se de uma linguagem muito utilizada por quem administra sistemas Linux e redes, tendo sido lançada em 1987.
A linguagem permite a criação de aplicativos em ambientes UNIX, MSDOS, Windows, Macintosh e OS/2, dentre outros.

PHP

Bastante utilizada em sites e sistemas web, o PHP é uma linguagem interpretada livre, utilizada na criação de sistemas que rodam do lado do servidor. A linguagem surgiu em 1995.

Python

O Python é uma linguagem cuja utilização aumentou em 2017. Surgida em 1991, trata-se de uma linguagem de programação de alto nível, utilizada para diversos fins, como por exemplo desenvolvimento de aplicativos web e softwares em geral.

quinta-feira, 2 de novembro de 2017

Desenvolvedores da Blockstream apresentam linguagem de programação Simplicity para contratos inteligentes

Publicado em 31 de outubro de 2017 por 

O desenvolvidor da Blockstream, Russell O'Connor, publicou o White Paper para Simplicity, uma nova linguagem de programação destinada a ser uma alternativa às linguagens existentes usadas na criação de contratos inteligentes. Acredita-se que a Simplicity pode ser implementada ao longo do tempo no protocolo do Bitcoin através do mecanismo do softfork.
O desenvolvidor da Blockstream, Russell O’Connor, publicou o White Paper para Simplicity, uma nova linguagem de programação destinada a ser uma alternativa às linguagens existentes usadas na criação de contratos inteligentes. Acredita-se que a Simplicity pode ser implementada ao longo do tempo no protocolo do Bitcoin através do mecanismo do softfork.
Publicidade
Conforme o blog Blockstream, a Simplicity é baseada no algoritmo de computação sequencial e oferece várias melhorias importantes, sendo a principal, a extensão dos recursos da linguagem.
Como descrito na apresentação da Simplicity, “um dos problemas do Bitcoin Script – linguagem da programação do Bitcoin –, é que, mesmo no estágio inicial, alguns opcodes foram desativados. Por exemplo, no Bitcoin Script, você pode somente adicionar números, mas não pode multiplicá-los“.
Entre outras características importantes apontadas pela Blockstream, está o um aumento do nível de segurança. Conforme Turing, Simplicity é uma linguagem incompleta que fornece uma limitação de uma chamada recursiva, proteção contra ciclos intermináveis e permite fazer uma análise estática de código.
Além disso, a Simplicity tem suporte embutido para as árvores Merkle de sintaxe abstratas.
Juntos, todos esses fatores permitem a criação de um código mais seguro, eficiente e funcional para contratos inteligentes.
Uma análise mais detalhada da Simplicity será publicada no futuro próximo. Enquanto isso, você pode se familiarizar com seu White Paper.

sexta-feira, 25 de agosto de 2017

Pesquisa aponta Python como ferramenta mais popular no mercado

Por Vitor Vidal


Várias pesquisas analisam a popularidade das linguagens de programação e de suas IDEs. O índice Tiobe, o Redmonk e o índice PyPL são os mais famosos. Todos focam nas linguagens de programação mais em voga e são a fotografia viva de como cada linguagem caminha em termos de penetração e adoção no mundo do software.

A novidade fica por conta da última pesquisa da Packt, que apontou o Python como a ferramenta mais popular entre desenvolvedores. A sua pesquisa anual – Annual Skill Up Report, traz as principais ferramentas e IDEs mais utilizadas dentre mais de 4 mil desenvolvedores pesquisados. Além da popularidade das ferramentas, a pesquisa também aponta quais as habilidades de programação mais valiosas do mercado, isto é, as habilidades que refletem nos maiores incrementos salariais (atentar que a pesquisa foi feita com desenvolvedores de todo o mundo).

Python à frente da lista de ferramentas mais populares
O resultado está de acordo com as recentes posições que a linguagem tem alcançado nos principais índices de popularidade. Repare que os índices são atualizados mensalmente. Os dados apresentados aqui são referentes a julho e junho de 2017.

Em julho de 2017, o índice Tiobe aponta as seguintes linguagens como as mais usadas:

Java – 13.774 %
C  – 7.321 %
C++ – 5.576 %
Python  – 3.543 %
C#  – 3.518%

Para o mesmo mês, o índice PyPL apresentou como o seguinte top 5:

Java  – 22.6 %
Python – 16.4%
PHP – 9.1%
 C# – 8.2%
 JavaScript – 8 %

O índice Redmonk, esse de junho de 2017, tem o seguinte pelotão de frente (sem as percentagens):

JavaScript;
Java;
Python;
PHP;
C#;

Em todos os três principais rankings de popularidade, Python aparece no top 5, oscilando entre o segundo e o terceiro lugar. A pesquisa da Packt (acesse o estudo completo aqui) foi a primeira a trazer a linguagem em primeiro lugar, ainda que num ranking de ferramentas/IDEs, e não de linguagens em si. O ranking de ferramentas/IDEs mais populares, segundo a editora é a seguinte:

Python programming language;
The Git software version control system;
Microsoft’s Visual Studio IDE;
Eclipse IDE;
Java programming language;
The Notepad++ code editor;
Linux;
R statistical language;
Docker container system;
Microsoft Excel;
Crescimento do Python e ferramentas mais valiosas
A pesquisa aponta que a linguagem cresceu em popularidade por conta da comunidade altamente engajada e de seu rico conjunto de bibliotecas e frameworks disponíveis. 

Em relação às habilidades e aos salários, a pesquisa também traz outros dados interessantes. O país com o maior salário médio é os EUA, como esperado. De acordo com a pesquisa, o Brasil estaria em quarto lugar, atrás de Reino Unido e Alemanha. 

As ferramentas associadas aos maiores salários foram cinco. São elas:

Splunk;
Kafka;
Hadoop;
Chef;
Kubernetes;

As três mais valiosas são todas relacionadas à área de big data, mostrando que profissionais da área tem uma boa perspectiva salarial no mercado atual. O salário médio para os desenvolvedores que trabalham com Splunk foi de 100 mil dólares/ano.

A pesquisa conta ainda com outras interessantes estatísticas sobre as tendências e educação tecnológica. Vale a pena conferir!

segunda-feira, 17 de julho de 2017

Nove linguagens de programação que vale a pena manter no radar

Da Redação CIO, com IDG News Service

Publicada em 14 de julho de 2017


Resultado de imagem para linguagens de programação
Cafécom Código

As linguagens de programação são populares por um motivo, em especial: oferecem uma base enorme de código aberto, bibliotecas e frameworks que facilitam o trabalho dos programadores. Mas, às vezes, os vastos recursos das linguagens de programação populares e convencionais não são suficientes para resolver um problema particular. Às vezes você tem que olhar para além do óbvio para encontrar o idioma certo, onde a estrutura certa faz a diferença ao oferecer recursos extras que ajudem seu código a ser executado significativamente mais rápido, sem ajustes e otimização infinitas. Produzir um código muito mais estável e preciso, evitando que voce recorra a código desleixado ou incorreto.
O mundo é preenchido com milhares de idiomas inteligentes que não são C#, Java ou JavaScript. Alguns são estimados por apenas alguns, mas muitos têm comunidades florescentes conectadas por um amor comum pelas facilidades que proporcionam na solução de certos problemas.
Pode não haver dezenas de milhões de programadores que conheçam a sintaxe, mas às vezes há valor em fazer as coisas um pouco diferentes. Experimentar com qualquer nova linguagem pode pagar dividendos significativos em projetos futuros.
As nove linguagens a seguir devem estar no radar de cada programador. Elas podem não ser o melhor para cada trabalho - muitas são direcionadas a tarefas especializadas. Mas todas  oferecem upsides que valem a pena investigar e investir.
Pode chegar o dia em que cada uma dessas linguagens acabará se revelando exatamente o que seu projeto precisa.
1 - Kotkin - reconsiderando o javanês
O Java é um excelente idioma que suporta algumas das plataformas mais populares de todos os tempos, mas está ficando um pouco velho e os pontos de dor tornam-se um pouco mais conhecidos. o idioma Kotlin é filho do cérebro da equipe JetBrains na Rússia, que nos trouxe IDEs maravilhosos como o IntelliJ.
O Kotlin deve compilar rapidamente, coexistir com o Java e corrigir alguns dos piores problemas que ocupam o tempo dos desenvolvedores Java. Foi projetado para trabalhar com o código Java existente, tornando-se uma boa opção para equipes que desejam melhorar gradualmente uma base de código.
A melhor parte pode ser a atenção dada aos valores anuláveis, a falha de todos os programadores orientados a objetos. Se você achar que metade do seu código está procurando por valores nulos, os desenvolvedores da Kotlin ouviram seus apelos. Kotlin é uma ótima pedida para resolver esse problema, se não de uma vez por todas, pelo menos na maior parte do tempo, forçando os desenvolvedores a chamar explicitamente as variáveis ​​que podem ser nulas. Então, verifica automaticamente alguns dos piores erros que podemos fazer com eles. 
Esta estratégia cautelosa provou ser popular porque permite que a equipe adote a linguagem lentamente. O grupo Kotlin ganhou muitos fãs em grandes equipes de desenvolvimento de  grandes bancos, grupos de consultoria e empresas de aplicativos.  O Google reconheceu o valor do idioma e agora os desenvolvedores do Android que desejam usar o Kotlin são bem suportados.
2 - Erlang - programação funcional para sistemas em tempo real
A Erlang começou dentro dos domínios assustadores de telefones na Ericsson, a empresa de telecomunicações sueca. Quando os programadores da Ericsson começaram a se gabar de sua performance de "9 noves", oferecendo 99,9999999 por cento dos dados com Erlang, os desenvolvedores fora da Ericsson começaram prestar mais atenção na linguagem.
O segredo da Erlang é o paradigma funcional. A maior parte do código é forçada a operar em seu próprio mundo, onde não pode corromper o resto do sistema através de efeitos colaterais. As funções fazem todo o seu trabalho internamente, executando em pequenos "processos" que funcionam como sandboxes e conversam somente entre si através de mensagens de correio. Você não pode simplesmente pegar um ponteiro e fazer uma mudança rápida no estado em qualquer lugar na pilha. Mas precisa ficar dentro da hierarquia de chamadas. Pode exigir um pouco mais de raciocínio, mas os erros são menos propensos a se propagar.
O modelo também simplifica determinar o que no código pode ser executado ao mesmo tempo. Fãs de Erlang gostam de se gabar de executar 20 milhões de "processos" ao mesmo tempo em um servidor Web.
Se você está construindo um sistema em tempo real sem espaço para dados descartados, como um sistema de cobrança para uma chave de telefones celulares, então vale investir algum tempo conhecendo a linguagem Erlang.
3 - Go - Simplicidade e dinamismo 
Em 2009, o Google  lançou um idioma que se parece com o C, mas inclui inteligência em segundo plano para salvar os programadores de ter que especificar tipos e fazer malabarismos com chamadas de malloc. Com o Go, os programadores podem ter a textura e a estrutura do C compilado, juntamente com a facilidade de usar um idioma de script dinâmico.
A Sun e a Apple seguiram um caminho semelhante na criação do Java e do Swift, respectivamente, enquanto o Google tomou uma decisão significativamente diferente com Go: os criadores do idioma queriam manter Go "simples o suficiente para segurar a cabeça de um programador". Rob Pike, um dos criadores de Go , disse à Ars Technica que "às vezes você pode ganhar mais a longo prazo, abrindo mão de algumas coisas". Por isso, foram removidos recursos de linguagens de alto nível, como Classes, Heranças, Overloads de Métodos, Try/Catchs, Ternários etc.
O resultado? Uma linguagem open source multiplataforma, facilmente escalável, com uma gestão de memória própria e threads transparentes ao programador, simplista ao extremo.
O idioma está supostamente bem estabelecido dentro do vasto império do Google e está ganhando aceitação em outros lugares onde os amantes de linguagem dinâmica como Python e Ruby podem ser persuadidos a aceitar algum rigor que venha de uma linguagem compilada.
Se você é uma startup tentando usar as plataformas Google e precisa construir alguma lógica de negócios do lado do servidor,  Go é uma ótima opção para começar, já que endereça três necessidades básicas do Google: desempenho, escalabilidade e facilidade de manutenção.
codificacao
4 - OCaml - para complexas hierarquias de dados
Alguns programadores não querem especificar os tipos de suas variáveis, e para elas construímos os idiomas dinâmicos. Outros preferem especificar se uma variável contém um número inteiro, uma string ou talvez um objeto. Para eles, muitas das linguas compiladas oferecem todo o suporte desejado.
Depois, há aqueles que sonham em hierarquias elaboradas. Eles imaginam listas e tabelas de tipos heterogêneos, polimorfismo, primitivas de correspondência de padrões e encapsulamento de dados.  Para eles, há OCaml, um esforço sério da comunidade de linguagem de programação para popularizar muitas dessas ideias.
OCaml é um idioma poderoso, permitindo expressar ideias e restrições complexas com tipos, mas, ao mesmo tempo, não obriga o programador a declarar os tipos das variáveis. Também inclui tipos de dados algébricos e pattern matching, duas características que, quem se acostuma a usar, passa a achar indispensáveis em qualquer linguagem. E possibilita o uso de características imperativas, facilitando a transição para quem não tem experiência prévia com programação funcional, reduzindo o tempo necessário para se tornar produtivo na linguagem.
Já que a programação funcional é um assunto cada vez mais frequente entre os desenvolvedores, OCaml é uma ótima opção para começar no paradigma. Programas escritos no idioma são compilados para código rápido (próximo do desempenho de C e C++), mas a linguagem é expressiva e de alto nível, similar a idiomas como Python e Ruby.
Há suporte a objetos, gerenciamento automático de memória e portabilidade de dispositivos, e vários aplicativos OCaml disponíveis na App Store da Apple .
5 - TypeScript - o JavaScript que você gostaria
Todos podem usar JavaScript, mas ninguém parece gostar de programar nela. Ou então, parece que todo mundo hoje tem seu pré-processador favorito ou superprocessador que  estende e melhora o idioma. TypeScript é o favorito da vez, pois adiciona tipos a todas as variáveis, algo que faz os programadores Java se sentirem um pouco mais seguros.

A grande razão pela qual mais desenvolvedores estão interessados ​​em TypeScript é a Angular , uma ótima estrutura para a construção de aplicativos Web escrita em TypeScript. Ok, você não precisa dominar TypeScript para usar Angular. Mas pode aproveitar a qualidade do seu código e mesclar com o seu legado JavaScript.
TypeScript é um superconjunto de JavaScript que se relaciona bem com o códigos JavaScript antigos, algo que pode ser bastante útil se houver pessoas no escritório que tenham opiniões dogmáticas sobre como os tipos estão diminuindo seu estilo. Os tipos são efetivamente opcionais e as pessoas que gastam tempo para especificar tipos podem colher as recompensas. 
A tipagem forte tem muitas vantagens, como pegar alguns erros anteriores e melhorar a qualidade geral das ferramentas. A adição de tipos permite que os editores inteligentes o ajudem com sugestões inteligentes enquanto você desenvolve sua obra-prima. A conclusão do código é muito mais rápida e precisa quando as rotinas de conclusão do código sabem algo sobre as funções e os argumentos. Isso significa menos movimento dos dedos no teclado.
Os amantes de TypeScript têm certeza de que vantagens como essas atrairão alguém que  esteja em dúvida a respeito do poder de uma linguagem fortemente determinada. 
6 - Rust - linguagem de sistema segura e funcional
Os programadores front-end não são os únicos que se divertem. Rust é como uma versão remodelada de C com muita tipografia polimórfica misturada sob o capô. Nos últimos dois anos, figura na lista de  "linguagem de programação mais amada", elaborada pela comunidade Stack Overflow, uma honra que também se reflete no índice de popularidade da linguagem Stack Overflow. A apenas alguns anos atrás, Rust aparecia na posição 50 da lista, e este ano saltou para 18. 
Por quê? Talvez por seus princípios: segurança sem "coletor de lixo", concorrência sem corrida de dados e abstração sem overhead. Eles fazem com que Rust seja rápida para ser usada em aplicações de baixo e prática para projetos de alto nível.  Você obtém toda a diversão hard-core, de alto desempenho, semelhante a escrever C, com um compilador que capturará muitos dos piores erros antes que o código seja executado.
Quando implementado, o compilador personaliza a estrutura para cada tipo, algo que os desenvolvedores gostam de chamar de "monomorfismo". O idioma adiciona alguns outros limites para evitar que os desenvolvedores saiam dos trilhos. Cada valor, por exemplo, é "de propriedade", o que realmente significa que só pode ser consumido uma vez, impedindo uma rede emaranhada de referências de outras partes do programa que atuam como se tivessem controle total sobre um valor.  
codecio
7 - Scala - programação funcional na JVM
Se você precisar da simplicidade, mas ama o paradigma funcional, você tem várias opções. E se Java for seu domínio, Scala é a escolha certa para você.
Scala é uma linguagem de programação de propósito geral baseado em dois paradigmas: o orientado a objetos e funcional. Executada na JVM, traz todas as restrições de design limpo da programação funcional para o mundo Java, fornecendo um código que se encaixa com as especificações da classe Java e links com outros arquivos JAR.
O mecanismo de tipo é fortemente estático e o compilador faz todo o trabalho para inferir tipos. Não há distinção entre tipos primitivos e tipos de objetos. A sintaxe é muito mais simples e limpa do que o Java.  
Aliás, uma das maiores diferenças do Scala em relação ao Java, é na forma em que funções podem ser usadas, pois em Scala funções são objetos e, por isso, elas podem ser utilizadas de muitas formas, como por exemplo, serem passadas como parâmetros em outras funções, permitindo uma grande flexibilidade no código.
Além diso, Scala também é uma linguagem orientada a objetos, permitindo a criação de classes com todos os conceitos de orientação a objetos, como herança, polimorfismo e associação entre classes. A definição da classe não é muito diferente da forma que é feita em Java, pois a principal diferença é que a classe aceita parâmetros, como é possível verificar logo na linha da declaração. Esses parâmetros devem ser passados no momento da criação das instâncias da classe, substituindo o construtor.
Você tem um projeto de Big Data, compreende o domínio do problema, sabe qual infraestrutura utilizar e talvez tenha até decidido sobre qual framework utilizará para processar todos esses dados. Porém, uma pergunta decisiva ainda paira no ar: Qual linguagem utilizar? Scala pode ser uma boa opção.
Ela é o casamento mais bem-sucedido dos paradigmas funcionais e orientados a objeto, e está avançando a largos passos no mundo financeiro e em empresas que precisam operar grandes volumes de dados, muitas vezes de modo massivo (como o Twitter e a LinkedIn). Também é a linguagem por detrás do Spark e do Kafka.
Se você precisa manipular os dados em um cluster de mil processadores e tem uma pilha de código Java legado, Scala é uma ótima solução.
Um ponto ruim? O compilador de Scala é um pouco lento, ao ponto de que ele nos leva de volta aos dias da “compilação” clássica com XKCD. Ainda assim, ele possui REPL, suporte a big data e notebooks baseados em web no formato de Jupyter e Zeppelin.
scala
8 - Haskell: programação funcional, pura e simples
Por mais de 20 anos, os acadêmicos que trabalham na programação funcional têm desenvolvido ativamente o idioma Haskell, destinado a encapsular efeitos colaterais. É uma das expressões mais puras do ideal de programação funcional, nomeada em homenagem ao lógico Haskell Curry.  Aliás, a maioria dos nomes relacionados ao idioma faz referências à Escócia, um viveiro da pesquisa Haskell, ou a filósofos e lógicos por trás de muitas das ideias expressas na concepção do idioma. Entre eles, a ênfase no que deve ser feito (what), em detrimento de como deve ser feito (how).
Possui mecanismos para lidar com canais de I/O e outros efeitos colaterais inevitávei, suporte a funções recursivas e tipos de dados, casamento de padrões, list comprehensions, guard statements e avaliação preguiçosa. E a combinação destas características faz com que a construção de funções que seriam complexas em uma linguagem procedimental de programação tornem-se uma tarefa quase trivial em Haskell.
A comunidade é muito ativa, com mais de uma dúzia de variantes de Haskell disponíveis para você explorar. Algumas são autônomas, e outros são integradas ao Java (Jaskell, Frege) ou Python (Scotch).
Se você acredita que suas estruturas de dados serão complexas e cheias de muitos tipos, Haskell irá ajudá-lo a mantê-los na linha.
9 - Julia: trazendo velocidade para o mundo Python
O mundo da programação científica é preenchido com amantes de Python que desfrutam da sintaxe simples e a liberdade de evitar pensar em detalhes desagradáveis como ponteiros e bytes. Por todos os seus pontos fortes, no entanto, Python é muitas vezes lento, o que pode ser um problema se você estiver trabalhando com grandes conjuntos de dados como é comum no mundo da computação científica. Para acelerar as questões, muitos cientistas se voltam para escrever as rotinas mais importantes em C, o que é muito mais rápido. Mas isso os impele ao uso de software escrito a partir de dois idiomas e, portanto, muito mais difícil de revisar, corrigir ou estender.
Julia é uma  solução para essa complexidade . Seus criadores tomaram a sintaxe limpa adorada pelos programadores Python e a ajustaram para que o código possa ser compilado em segundo plano. Dessa forma, você pode configurar um caderno ou uma sessão interativa como Python, mas qualquer código que você crie será compilado imediatamente.
A coragem de Julia é fascinante. Fornece um mecanismo de inferência de tipo poderoso que pode ajudar a garantir um código mais rápido. Se você gosta de metaprogramação, o idioma é flexível o suficiente para ser estendido. As adições mais valiosas, no entanto, podem ser os mecanismos simples de Julia para distribuir algoritmos paralelos em um cluster. Uma série de bibliotecas sérias já abordam muitos dos algoritmos numéricos mais comuns para a análise de dados.
Muitos benchmarks básicos são executados 30 vezes mais rápido do que o Python e geralmente são executados um pouco mais rápido que o código C. Se você tem muitos dados, mas desfruta da sintaxe de Python, Julia é o próximo idioma a aprender.
gnarly