The Java Virtual Machine is gaining a new language, called Concurnas, which is a free, open source, compiled programming language positioned for use in building high-performance, distributed systems.
Emphasizing concurrency and parallelism, Concurnas is statically typed and garbage-collected, and it uses type inference. Concurnas code is said to be often indistinguishable from Python while offering performance akin to Java.
Concurnas supports imperative computing constructs such as for loops, while loops, assertions, and exceptions. Its concurrency model enables developers to write concurrent code without tedious boilerplate for managing threads, critical sections, or locks.
Other features of Concurnas include:
- Object orientation, with advanced support for classes including abstract, concrete, and inheritance as well as capabilities including generics, enumerations, and annotations. Tuples, object providers, and usage-based generic type inference are supported.
- Support for GPU computing, with developers able to write idiomatic Concurnas code and run it on the GPU with no need to switch to C/C++.
- Reactive programming support, offering the ability to write code that will react automatically to changes in input parameters.
- Off-heap memory capabilities, for interacting with non-heap-managed, non-garbage-collected memory. This helps in working with big data, custom databases, and GPUs.
- Null safety.
- A concise syntax.
In development for three years, Concurnas has a standalone compiler and a REPL (read-eval-print loop) shell. Concurnas can be used in a Jupyter notebook and in the Visual Studio Code, Atom, and Sublime Text editors.