DEV Community

Luis Fernando De Pombo
Luis Fernando De Pombo

Posted on

1 1

A programming language to make concurrent programs easy to write

Alan is a general purpose programming language that is barely "Turing Incomplete". This tradeoff allows Alan to make many developer errors difficult or impossible. It also allows the VM find and exploit opportunities for parallelization across the computing resources available without using threads, channels, locks, futures, etc.

Why a new programming language?

We dream of a day in which the same program/backend can run on a single core or across many machines in the cloud without any operational complexity (extra deployment configuration or maintenance), extra code (frameworks or vendor APIs) or constraints (delayed execution, limited runtime, no persistent connections, etc). We created a new programming language to see if we could have a compiled language with a simplified bytecode, wrt to traditional languages which allow arbitrary computation that is not guaranteed to halt, that could be automatically parallelized across many cores and machines in the cloud by a VM/runtime (written in Rust 🦀) based on the size and shape of the data.

Please let us know what you find most interesting about the language and help us find bugs! My friend and I are working full time on this and we are looking for people interested in contributing to it too.

https://github.com/alantech/alan

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

đź‘‹ Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay