La machine virtuelle Java s’enrichit d’un langage de programmation open source et compilé. Appelé Concurnas, ce langage est spécialement destiné à la construction de systèmes distribués à haute performance.

Typé de façon statique et collecté par un ramasse-miette, Concurnas utilise l'inférence de type. Il met l'accent sur la simultanéité et le parallélisme. Le code de Concurnas a la réputation d’être souvent indiscernable par rapport à Python et d’offrir des performances très proches à celles de Java.

Concurnas supporte les constructions informatiques impératives comme les boucles « for » et « while », les assertions et les exceptions. Son modèle de concurrence permet aux développeurs d'écrire du code concurrent sans passer par des « boilerplate » fastidieux pour gérer les fils d’exécutions, les sections critiques ou les verrous.

Autres caractéristiques de Concurnas :

- L'orientation objet, avec support avancé des classes incluant les classes abstraites, concrètes et héritées ainsi que des capacités incluant les génériques, les énumérations et les annotations. Les tuples, les fournisseurs d'objets et l'inférence de type générique basée sur l'utilisation sont pris en charge.

- Support du traitement GPU : les développeurs peuvent écrire du code Concurnas idiomatique et l'exécuter sur le GPU sans avoir à passer en C/C++.

- Support de la programmation réactive : possibilité d'écrire du code qui réagira automatiquement aux changements des paramètres d'entrée.

- Capacités de mémoire « off-heap », pour interagir avec de la mémoire non gérée en heap et non collectée par le ramasse-miettes. Cela permet de travailler avec des données volumineuses, des bases de données personnalisées et des GPU.

- Sécurité « null ».

- Syntaxe concise.

En développement depuis trois ans, Concurnas dispose d'un compilateur autonome et d'une console interactive REPL (read-eval-print loop = lire-évaluer-afficher-boucler). Concurnas peut être utilisé avec un ordinateur portable Jupyter et les éditeurs Visual Studio Code, Atom et Sublime Text.