Tutorials, guides, how-to's and technical insights from the team at Concurnas Ltd.
Concurnas – a Modern JVM Language for Modern Software
Checkout more JAXLondon Conference 2020 talks
In recent years, software engineering and the role of software engineers has changed. Teams have evolved heterogeneously to incorporate technical, non-technical and domain specific experts. Solutions are now expected to be rapidly delivered, whilst also being highly performant and scalable. At the same time we have the cloud and ever more increasingly powerful multi-core CPU and GPU hardware at our disposal. Programming languages are the principle tools by which we interact with our machines to solve problems. The world needs our languages to evolve in order to suit this new environment.
In this talk we explore Concurnas, a JVM language designed for solving the concurrent, distributed and parallel programming problems faced by the modern enterprise. We see how Concurnas affords developers of all ability the capacity to easily leverage modern multi-core CPU and GPU hardware for solving problems. We learn how Concurnas's unique simplified model of concurrent and GPU computing allows developers to easily create not only new code, but use leverage their existing Java (or JVM language) code to build safe, reliable, concurrent software.
Talk date:October 2021
Jason Tatton — Back from the 70s — the Concurnas concurrency model!
Checkout more Joker 2020 talks
Concurnas is a JVM programming language designed for concurrent and parallel computing. It provides an alternative concurrency model to that of threads and locks found in Java. Much of the work which inspired this concurrency model was conducted in the 1970's but largely forgotten due to chip architectures being single cored in nature.
But things changed recently, now multi-core CPUs are commonplace and developers are obliged to implement systems utilizing concurrency in order to obtain optimal performance. Furthermore, we have also recently seen GPUs take center stage for powering general-purpose parallel computing, developers have yet another tool at their disposal for solving computational problems.
In this session, a high-level overview of Concurnas, focusing on concurrency and GPU programming will first be provided. Then we shall deep dive into the inspiration for and implementation of the Concurnas concurrency model within the language, compiler, and runtime. Finally, we'll explore how GPU computing is implemented within Concurnas and how this integrates with the core concurrency model.
Talk date: 29th Oct 2020
The Concurnas Programming Language - Thalesians online talk
Slides available in pdf format
Description of Continuations refereed to in talk (by Ron Pressler): Project Loom: Fibers and Continuations for the Java Virtual Machine
Checkout more Thalesian's talks
We have at our disposal never before seen compute capability. CPU's are now multi-core, general purpose GPU computing has gone mainstream and compute is available on tap via the cloud. But leveraging this power with existing languages is a challenge. This comes at a time when the modern enterprise requires results to be delivered at an ever increasing pace. Languages like Python have grown in popularity due to their simplicity and focus on rapid results, but performance is lacking, conversely languages such as C++ and JVM languages like Java present excellent performance but are hard to master. We need a solution to these problems.
In this talk we explore Concurnas, a JVM language created for leveraging the power of modern CPU and GPU hardware. Concurnas is specifically designed for solving the concurrent, distributed and parallel programming problems faced by the modern enterprise. We learn how Concurnas’s unique simplified model of concurrent and GPU computing allows results to be rapidly delivered in a performant, scalable manner whilst allowing existing Java (or JVM language) code to be leveraged.
Talk date: 21st May 2020
Getting Started with Concurnas - covering the Concurnas REPL, concc
and conc
command line tools