segunda-feira, 2 de outubro de 2017

Java SE 9 e Java EE 8 anunciados

A Oracle anunciou recentemente a disponibilização geral do Java SE 9 (JDK 9), da plataforma Java Enterprise Edition 8 (Java EE 8) e do Java EE 8 Software Development Kit (SDK). As coisas estão definitivamente mudando no mundo Java.

Após este lançamento, haverá dois lançamentos de recursos Java por ano. As novas versões Java vêm com muitos recursos, incluindo um novo sistema de módulos voltado para proporcionar maior escalabilidade, segurança aprimorada, melhor gerenciamento de desempenho e desenvolvimento mais fácil na plataforma de programação mais popular do mundo. Outro desenvolvimento importante que vale a pena mencionar, é que o Java EE 8 está se movendo para o Eclipse Foundation e provavelmente terá um novo nome.

Java SE 9

O Java SE 9 vem com mais de 150 recursos novos. No entanto, o destaque do Java SE 9 é o Java Platform Module System, também conhecido como Project Jigsaw, projetado para desenvolvedores para montagem fácil e confiável e manutenção de aplicativos sofisticados. O sistema de módulos é fundamental para tornar o JDK mais flexível, o que significa que os desenvolvedores podem agrupar apenas as partes do JDK que são necessárias para executar um aplicativo ao implantar na nuvem.

“Essa versão do Java SE proporcionará a milhões de desenvolvedores as ferramentas atualizadas que precisam para continuar a construir aplicativos da próxima geração com facilidade, desempenho e agilidade”, disse Georges Saab, vice-presidente de desenvolvimento do Java Platform Group da Oracle.
O Java SE 9 inclui:

  • Jshell: oferece um Read-Eval-Print-Loop interativo para desenvolvedores realizarem uma fácil exploração de APIs e recursos de linguagem.
  • Melhorou o Javadoc com uma função de pesquisa dentro da documentação da API para permitir que os desenvolvedores aprendam novas APIs, assim como informações onde cada módulo define classe ou interface.
  • Aprimoramento das APIs Stream: agora é possível remover/retirar condicionalmente itens de um Stream, iterar sobre os elementos de uma Stream e criar um Stream a partir de um valor anulável ao expandir o conjunto de API Java SE que pode servir como fonte para Stream.


Planos Java 9: a Oracle também anunciou várias mudanças sobre como Java SE e o Java EE serão desenvolvidos e lançados posteriormente. Eles irão se concentrar não somente em APIs melhoradas, como também em recursos de linguagem e JVM. Os lançamentos serão disponibilizados em março e setembro de cada ano, começando em março de 2018.

O lançamento de atualizações será estritamente limitado à correções de problemas de segurança, regressões e bugs em recursos mais recentes com duas atualizações por recurso antes do próximo lançamento.

A Oracle também estará fornecendo compilações OpenJDK sob a Licença Pública Geral (GPL). Ela irá contribuir previamente com recursos comerciais para o OpenJDK e quer tornar a Oracle JDK e OpenJDK mais alinhados.

Java EE 8

Java EE 8 Oracle, Eclipse e outros membros da comunidade estão trabalhando agora para mover as tecnologias Java EE para a Eclipse Foundation. A Oracle mencionou isso no anúncio e prometeu seu apoio contínuo à comunidade Java EE e à Eclipse Foudation.

Os principais recursos do Java EE 8 incluem:

  • Suporte HTTP/2 no Servlet 4.0
  • Nova API de ligação JSON e vários aprimoramentos no JSON-P 1.1
  • Expansão do JAX-RS para suportar eventos Server-Sent e uma nova API de cliente reativa
  • Nova API de segurança para aplicativos baseados em nuvem e PaaS
  • Múltiplos aprimoramentos do CDI, incluindo suporte para eventos assíncronos

A Oracle pretende relicenciar as tecnologias Java EE lideradas pela Oracle e as tecnologias relacionadas ao GlassFish, para a fundação e apresentar uma estratégia de branding para a plataforma dentro da própria fundação, incluindo um novo nome para Java EE. Isso incluiria RIs, TCKs e documentação de projeto associadas.

A Oracle pretende habilitar o uso de nomes de pacotes Java e nomes de especificações de componentes para JSR existentes para fornecer continuidade. Ele procura recrutar e habilitar desenvolvedores e outros membros da comunidade, bem como fornecedores, para patrocinar tecnologias de plataforma e levar a plataforma para dentro da fundação. Isso incluiria a potencial incorporação das tecnologias Eclipse MicroProfile na plataforma.

Fonte: Imasters

quinta-feira, 28 de setembro de 2017

Aprovada a API de segurança do Java EE (JSR-375)

A API de segurança do Java EE, JSR 375, foi aprovada no início de Agosto. Todos os membros do comitê executivo do JCP votaram "Sim", com nenhum voto "Não". A Intel não votou no JSR.

O JSR aperfeiçoou o gerenciamento de usuário, utilização de alias para senhas, mapeamento de regras, autenticação e autorização. Tais melhorias foram modeladas visando facilitar a implementação da API de segurança na nuvem. (Detalhes do JSR 375 foram apresentados pelo InfoQ em Novembro de 2014.)

O site do projeto foi movido para https://github.com/javaee/security-spec. O repositório contém a especificação e 20 issues abertas, possivelmente encontradas após a criação da implementação de referência no Glassfish.

A caminhada do Java EE 8 não tem sido fácil, mas existe uma luz no fim do longo túnel com os recentes JSR aprovados. A Oracle também considera mover o Java EE para uma fundação open source. O diálogo recente com a comunidade é um importante passo para o aumento da transparência da plataforma. Mais detalhes possivelmente serão divulgados na conferência anual da Oracle JavaOne no começo de Outubro. Não se esqueça de verificar conosco, pois a InfoQ irá fornecer uma ampla cobertura.

Fonte: InfoQ

quinta-feira, 14 de setembro de 2017

Eclipse passa a gerir desenvolvimento da Java EE

A Eclipse Foundation vai passar a ser a entidade administradora das especificações Java Enterprise Edition (JEE), antes controladas pela Oracle, que deixou de ter interesse em gerir a plataforma. Como parte da adoção, o Java EE provavelmente receberá um novo nome, algo que a Oracle recomenda na sua proposta de alterações.

Há cerca de um mês atrás, a Oracle disse que iria acabar com o papel de administração do Java EE e transformá-lo em uma base de código aberto. Na sequência de consultas com parceiros para tecnologia Java, como a IBM e a Red Hat, e depois de reunir-se com várias fundações, a Oracle selecionou uma organização com largo histórico no desenvolvimento da Java: a Eclipse Foundation.

Esta criou o seu popular Eclipse IDE e geriu várias outras tecnologias Java. “A mudança do Java EE para um cenário de governo e colaboração aberta será um processo, e não um evento”, avisou o diretor executivo da Eclipse, Mike Milinkovich.

“As nossas discussões iniciais com Oracle, IBM e Red Hat mostraram que há muito apoio para isso acontecer nas equipas de liderança dessa empresas”.

Milinkovich concorda com a Oracle sobre a necessidade de a Java EE ser revista para suportar melhor cloud computing.


Fonte: ComputerWorld

terça-feira, 12 de setembro de 2017

Java 9 fora da oferta de suporte a longo prazo

O próximo Java Development Kit 9 não será designado para suporte a longo prazo, confirma a Oracle. Sob novo regime de actualizações elaborado pelo fabricante, a versão Java 9 será a primeira versão de adição de recursos e tem ainda a Java 8 como base.

Haverá lançamentos deste tipo, alicerçados numa ou algumas novas funcionalidades significativas, a cada semestre. De três em três anos, a versão será uma base com suporte de longo prazo.

A próxima denomina-se Java 18.9 e só deverá ser disponibilizada a Setembro de 2018. (A designação “18.9” estipula o ano e o mês do lançamento). O estatuto do Java 9 não anula a sua importância, argumenta a Oracle.

A empresa acredita que os programadores vão querer adoptá-la pelas novas capacidades incorporadas. No entanto, as empresas com aplicações em produção poderão preferir aguardar pelo próximo lançamento de longo prazo.

Darão à Oracle e aos autores de bibliotecas e matrizes Java, tempo para remover quaisquer erros das novas funcionalidades. As actualizações para lançamentos de suporte a longo prazo vão estar disponíveis durante pelo menos três anos.

Esses lançamentos são orientados para as empresas que preferem a estabilidade, permitindo que executem aplicações numa única versão. A próxima versão de conjunto de recursos será a Java 18.3, agendada para Março de 2018 (depois da Java 9).

Além dos lançamentos de recursos e suporte de longo prazo, haverá lançamentos de actualização para recursos, limitados à correcção de vulnerabilidades de segurança e erros de código, entre outros problemas. Cada lançamento de funcionalidades está programado para ter duas actualizações antes da versão seguinte dos recursos.

As atualizações públicas para a Java 8, devem terminar em Setembro de 2018, embora o prazo possa ser alargado. Mas o suporte para o JDK 8 vai está disponível até Março de 2025.

quinta-feira, 24 de agosto de 2017

Oracle quer Java EE mais ‘Open Source’

A Oracle quer reposicionar o Java EE no mercado, sobretudo a forma como é desenvolvido. Torná-lo mais ágil, responsivo e capaz de se adaptar melhor às necessidades atuais da indústrias e tecnologia é a missão que define para este popular produto.

O blog da Oracle destaca esta importante alteração de produto. O Java EE (Java Platform, Enterprise Edition) é uma plataforma utilizada para programação que serve de base ao desenvolvimento e execução de software empresarial na língua Java. O Java EE é também considerado um padrão sendo as suas normas definidas pelo The Java Community Process.

O desenvolvimento do Java EE já acontece de forma ‘Open Source’ e com a ajuda da comunidade, defendendo agora a Oracle uma melhoria no processo já que para a empresa não parece que seja tão flexível e aberto como os produtos de outras comunidades de programadores.

Com o Java EE 8 já na sua fase final de desenvolvimento, a Oracle acredita que o próximo paso seja adotar um processo de licenciamento mais flexível. A comunidade tem tido um papel determinante na inclusão de novas funcionalidades, apesar de existirem ainda muitos detalhes a solucionar pela frente.

sábado, 15 de julho de 2017

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

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 você 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 linguagens 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.

Fonte: Cio

Emprego como programador? As 10 linguagens mais populares

Hoje em dias são várias as linguagens de programação que estão disponíveis para desenvolvimento de software e serviços. Algumas delas têm aparecido nos últimos anos, como resposta aos desafios dos novos modelos de computação, e outras vão-se mantendo quase como um standard.

Saiba quais as 10 linguagens de programação mais populares na atualidade. Há novidades.

De acordo com os dados agora revelados pelo site TIOBE.com, o JAVA continua a ser a linguagem mais popular da atualidade, apesar de continuar a perder terreno. Como é sabido, o sucesso deve-se, em grande parte, à plataforma Android da Google, isto porque é a plataforma que domina no segmento móvel.

Popularidade das linguagens de programação desde 2002




De acordo com o TIOBE Index, relativo a Julho de 2017, o Perl abandona o TOP 10 e, com uma enorme subida (de 55 posições), entra a linguagem de programação Go.

Para quem não conhece, a linguagem de programação Go foi criada pela Google e lançada em código livre em novembro de 2009. É uma linguagem compilada e focada na produtividade e programação concorrente. 

Fonte: Pplware