Alternatives to Erlang
Compare Erlang alternatives for your business or organization using the curated list below. SourceForge ranks the best alternatives to Erlang in 2026. Compare features, ratings, user reviews, pricing, and more from Erlang competitors and alternatives in order to make an informed decision for your business.
-
1
Elixir
Elixir
Elixir is a dynamic, functional language for building scalable and maintainable applications. Elixir leverages the Erlang VM, known for running low-latency, distributed, and fault-tolerant systems. Elixir is successfully used in web development, embedded software, data ingestion, and multimedia processing, across a wide range of industries. Check our getting started guide and our learning page to begin your journey with Elixir. All Elixir code runs inside lightweight threads of execution (called processes) that are isolated and exchange information via messages. Due to their lightweight nature, it is not uncommon to have hundreds of thousands of processes running concurrently in the same machine. Isolation allows processes to be garbage collected independently, reducing system-wide pauses, and using all machine resources as efficiently as possible (vertical scaling). Processes are also able to communicate with other processes running on different machines in the same network.Starting Price: Free -
2
Mnesia
Erlang
The management of data in telecommunications systems has many aspects of which some, but not all, are addressed by traditional Database Management Systems (DBMSs). In particular, the high level of fault tolerance required in many nonstop systems, combined with requirements on the DBMS to run in the same address space as the applications, have led us to implement a new DBMS, called Mnesia. Mnesia is implemented in, and tightly coupled to Erlang. It provides the functionality that is necessary for the implementation of fault-tolerant telecommunications systems. Mnesia is a multiuser distributed DBMS specifically designed for industrial-grade telecommunications applications written in Erlang, which is also the intended target language. Mnesia tries to address all the data management issues required for typical telecommunications systems and has a number of features not normally found in traditional DBMSs. -
3
Eddie
Eddie
Eddie is a high availability clustering tool. It is an open source, 100% software solution written primarily in the functional programming language Erlang (www.erlang.org) and is available for Solaris, Linux and *BSD. At each site, certain servers are designated as Front End Servers. These servers are responsible for controlling and distributing incoming traffic across designated Back End Servers, and tracking the availability of Back End Web Servers within the site. Back End Servers may support a range of Web servers, including Apache. The Enhanced DNS server which provides load balancing and monitoring of site accessibility for geographically distributed web sites. This gives round the clock access to the entire available capacity of the web site, no matter where it is located." The Eddie white papers describe the need for products such as Eddie, and outlines the Eddie approach. -
4
Call Center Designer
Portage Communications
Determine the optimum number of agents you need for your desired service levels. By hour, half hour, or quarter hour, determine the ideal number of agents and lines to handle the peaks and valleys of your call traffic for each day of your work weeks. Display, print, or export to Excel. You enter in the call volumes and expenses of your call center, the number of calls, arrival period, average talk time, after-call work time, maximum caller wait, desired service levels. You will then view Call Center Designer's performance statistics or print them. You may also save all your entries and the calculated statistics to files that can be recalled later. All calculations and graphs may be transferred to Excel or Word with a couple of mouse clicks. Call Center Designer uses customized versions of the Erlang C and Erlang B probability algorithms for staffing and trunking calculations.Starting Price: $179.95 one-time payment -
5
Cowboy
99s
Cowboy is the ultimate server for the modern Web with support for Websocket, HTTP/2 and REST. Cowboy is a small, fast and modern HTTP server for Erlang/OTP. Cowboy aims to provide a complete modern Web stack. This includes HTTP/1.1, HTTP/2, WebSocket, server-sent events and Webmachine-based REST. Cowboy comes with functions for introspection and tracing, enabling developers to know precisely what is happening at any time. Its modular design also easily enables developers to add instrumentation. Cowboy is a high-quality project. It has a small code base, is very efficient (both in latency and memory use) and can easily be embedded in another application. Cowboy is clean Erlang code. It includes hundreds of tests and its code is fully compliant with the Dialyzer. It is also well documented and features a function reference, a user guide and numerous tutorials. Knowledge of the HTTP protocol is recommended but not required, as it will be detailed throughout the guide. -
6
Wings 3D
Wings 3D
Wings 3D is an advanced subdivision modeler that is both powerful and easy to use. Originally inspired by Nendo and Mirai from Izware, Wings 3D has been developed since 2001, when Björn Gustavsson (bjorng) and Dan Gudmundsson (dgud) first started the project. Richard Jones (optigon) maintained Wings and coded many new features between 2006 and 2012. Wings 3D is currently maintained by Dan with the help of the great community. Wings 3D offers a wide range of modeling tools, a customizable interface, support for lights and materials, and a built-in AutoUV mapping facility. Wings 3D is written in Erlang, an open-source, functional programming language distributed by Ericsson. Wings 3D gets its name from the Winged Edge Data Structure (WEDS). This is the data structure used to store the adjacency relationships between edges, faces, and vertices in a Wings 3D model. Wings 3D is open source and completely free for use in both personal and commercial projects.Starting Price: Free -
7
Refraction
Refraction
Refraction is a code-generation tool for developers. It uses AI to generate code for you. You can use it to generate unit tests, documentation, refactor code, and more. Generate code using AI in 34 languages — Assembly, C#, C++, CoffeeScript, CSS, Dart, Elixir, Erlang, Go, GraphQL, Groovy, Haskell, HTML, Java, JavaScript, Kotlin, LaTeX, Less, Lua, MatLab, Objective-C, OCaml, Perl, PHP, Python, R Lang, Ruby, Rust, Sass / SCSS, Scala, Shell, SQL, Swift, and TypeScript. Join thousands of developers around the world using Refraction to generate documentation, create unit tests, refactor code, and more using AI. Use the power of AI to automate the tedious parts of software development like testing, documentation, and refactoring, so you can focus on what matters. Refactor, optimize, fix and style-check your code. Generate unit tests for your code with various test frameworks. Explain the purpose of your code to make it easier to understand.Starting Price: $8 per month -
8
TLA+
TLA+
TLA+ is a high-level language for modeling programs and systems--especially concurrent and distributed ones. It's based on the idea that the best way to describe things precisely is with simple mathematics. TLA+ and its tools are useful for eliminating fundamental design errors, which are hard to find and expensive to correct in code.Starting Price: Free -
9
Common Lisp
Common Lisp
Common Lisp is the modern, multi-paradigm, high-performance, compiled, ANSI-standardized, most prominent (along with Scheme) descendant of the long-running family of Lisp programming languages. Common Lisp is known for being extremely flexible, having excellent support for object oriented programming, and fast prototyping capabilities. It also sports an extremely powerful macro system that allows you to tailor the language to your application, and a flexible run-time environment that allows modification and debugging of running applications (excellent for server-side development and long-running critical software). It is a multi-paradigm programming language that allows you to choose the approach and paradigm according to your application domain.Starting Price: Free -
10
Zig
Zig Software Foundation
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software. Focus on debugging your application rather than debugging your programming language knowledge. A fresh approach to metaprogramming based on compile-time code execution and lazy evaluation. No hidden control flow. No hidden memory allocations. No preprocessor, no macros. Call any function at compile-time. Manipulate types as values without runtime overhead. Comptime emulates the target architecture. Use Zig as a zero-dependency, drop-in C/C++ compiler that supports cross-compilation out-of-the-box. Leverage zig build to create a consistent development environment across all platforms. Add a Zig compilation unit to C/C++ projects; cross-language LTO is enabled by default.Starting Price: Free -
11
AgentTime
Portage Communications
AgentTime™ call center scheduling software is an easy-to-use, affordable solution for call center workforce management. With our AgentTime software, you import your call volume forecasts and average call lengths by time period. AgentTime will create optimal weekly schedules for your agent groups. Our AgentTime call center scheduling software includes Portage’s powerful Call Center Designer and SimACD call center staffing software. These two modules are used to calculate optimal agent levels for each time period for your workweeks. Call Center Designer predicts your staffing requirements and other performance statistics for each time period in your workday using established Erlang-C formulas. SimACD then refines these calculations allowing you to test and try out different numbers of agents in a computer-simulated automatic call distributor (ACD) before creating the schedule. Our intuitive user interface lets you create weekly schedules. -
12
Boxcar
Boxcar
Our platform is able to support the largest load you can possibly imagine. We have designed our solution to support tens of millions of devices from day one. Platform is already deployed on a huge scale and serves customer with more than 99.95% uptime. Developed in Erlang, our platform is design for reliability from the ground up, by a team of server and push experts. We believe we have developed the fastest push platform on the market. You want to go very fast? We are here to handle the task. Our platform is ideal for startups that want to start small, but grow to unpredictable size. Costs are under control and predictable, because platform use is unlimited for each plan. It is up to you to decide how critical notification is for your business, and select the right speed for your pushes. There is no lock-in. You can always get all your data back. Our SDK is extremely lightweight and limited to the bare minimum needed.Starting Price: €7 per month -
13
Vala
The GNOME Project
Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C. Vala uses the GObject type system and has additional code generation routines that make targeting the GNOME stack simple. Vala has many other uses where native binaries are required. More. There is GNOME Discourse for developer and general discussions. You can also join the Vala Matrix channel for asking questions and talking with the developers. Vala is a cross platform development tool with third party distributions providing binaries for Windows, macOS, Linux, BSDs and other platforms.Starting Price: Free -
14
Objective-C
Objective-C
Objective-C is the primary programming language you use when writing software for OS X and iOS. It’s a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime. When building apps for OS X or iOS, you’ll spend most of your time working with objects. Those objects are instances of Objective-C classes, some of which are provided for you by Cocoa or Cocoa Touch and some of which you’ll write yourself. -
15
Dart
Dart Language
Mature and complete async-await for user interfaces containing event-driven code, paired with isolate-based concurrency. A programming language optimized for building user interfaces with features such as sound null safety, the spread operator for expanding collections, and collection if for customizing UI for each platform. Write code using a flexible type system with rich static analysis and powerful, configurable tooling. Target the web with complete, mature, fast compilers for JavaScript. Run backend code supporting your app, written using a single programming language. This collection is not exhaustive—it’s just a brief introduction to the language for people who like to learn by example. You might also want to check out the language and library tours, or the Dart cheatsheet codelab. -
16
BoxLang
BoxLang
BoxLang is a modern, dynamically and loosely typed scripting language for the Java Virtual Machine (JVM) that supports Object-Oriented (OO) and Functional Programming (FP) constructs. It can be deployed on multiple platforms and all operating systems, web servers, Java application servers, AWS Lambda, WebAssembly, and more. BoxLang combines many features from different programming languages to provide developers with a modern, fluent, and expressive syntax. BoxLang has been designed to be a highly modular and dynamic language that takes advantage of all the modern features of the JVM. It is dynamically typed, which means there's no need to declare types. It can perform type inference, auto-casting, and promotions between different types. The language adjusts to its deployed runtime and can add, remove, or modify methods and properties at runtime. -
17
Rust
Rust
Rust is blazingly fast and memory-efficient: with no runtime or garbage collector, it can power performance-critical services, run on embedded devices, and easily integrate with other languages. Rust’s rich type system and ownership model guarantee memory-safety and thread-safety — enabling you to eliminate many classes of bugs at compile-time. Rust has great documentation, a friendly compiler with useful error messages, and top-notch tooling — an integrated package manager and build tool, smart multi-editor support with auto-completion and type inspections, an auto-formatter, and more. Whip up a CLI tool quickly with Rust’s robust ecosystem. Rust helps you maintain your app with confidence and distribute it with ease. Use Rust to supercharge your JavaScript, one module at a time. Publish to npm, bundle with webpack, and you’re off to the races.Starting Price: Free -
18
Clojure
Clojure
Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language, yet remains completely dynamic, every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language and features a rich set of immutable, persistent data structures. When a mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system.Starting Price: Free -
19
Dylan
Dylan
It is dynamic while providing a programming model designed to support efficient machine code generation, including fine-grained control over dynamic and static behaviors. Describes the Open Dylan implementation of the Dylan language, a core set of Dylan libraries, and a library interchange mechanism. The core libraries provide many language extensions, a threads interface, and object finalization, printing and output formatting modules, a streams module, a sockets module, and modules providing an interface to operating system features such as the file system, time and date information, the host machine environment, as well as a foreign function interface and some low-level access to the Microsoft Win32 API.Starting Price: Free -
20
BASIC
BASIC
BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. Initially, BASIC concentrated on supporting straightforward mathematical work, with matrix arithmetic support from its initial implementation as a batch language, and character string functionality being added by 1965. The emergence of BASIC took place as part of a wider movement towards time-sharing systems. Some dialects of BASIC supported matrices and matrix operations, which can be used to solve sets of simultaneous linear algebraic equations. These dialects would directly support matrix operations such as assignment, addition, multiplication (of compatible matrix types), and evaluation of a determinant. BASIC declined in popularity in the 1990s, as more powerful microcomputers came to market and programming languages with advanced features (such as Pascal and C) became tenable on such computers. -
21
Scala
Scala
Scala combines object-oriented and functional programming in one concise, high-level language. Scala's static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries. The Scala compiler is smart about static types. Most of the time, you need not tell it the types of your variables. Instead, its powerful type inference will figure them out for you. In Scala, case classes are used to represent structural data types. They implicitly equip the class with meaningful toString, equals and hashCode methods, as well as the ability to be deconstructed with pattern matching. In Scala, functions are values, and can be defined as anonymous functions with a concise syntax.Starting Price: Free -
22
Fortran
Fortran
Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast. Fortran is statically and strongly typed, which allows the compiler to catch many programming errors early on for you. This also allows the compiler to generate efficient binary code. Fortran is a relatively small language that is surprisingly easy to learn and use. Expressing most mathematical and arithmetic operations over large arrays is as simple as writing them as equations on a whiteboard. Fortran is a natively parallel programming language with intuitive array-like syntax to communicate data between CPUs. You can run almost the same code on a single CPU, on a shared-memory multicore system, or on a distributed-memory HPC or cloud-based system.Starting Price: Free -
23
NoSQL
NoSQL
NoSQL is a domain-specific programming language used for accessing, managing, and manipulating non-tabular databases. A NoSQL (originally referring to "non-SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed since the late 1960s, but the name "NoSQL" was only coined in the early 21st century, triggered by the needs of Web 2.0 companies. NoSQL databases are increasingly used in big data and real-time web applications.NoSQL systems are also sometimes called Not only SQL to emphasize that they may support SQL-like query languages or sit alongside SQL databases in polyglot-persistent architectures. Many NoSQL stores compromise consistency (in the sense of the CAP theorem) in favor of availability, partition tolerance, and speed. Barriers to the greater adoption of NoSQL stores include the use of low-level query languages. -
24
Visual Basic
Microsoft
Visual Basic is an object-oriented programming language developed by Microsoft. Using Visual Basic makes it fast and easy to create type-safe .NET apps. Visual Basic focuses on supplying more of the features of the Visual Basic Runtime (microsoft.visualbasic.dll) to .NET Core and is the first version of Visual Basic focused on .NET Core. Many portions of the Visual Basic Runtime depend on WinForms and these will be added in a later version of Visual Basic. .NET is a free, open-source development platform for building many kinds of apps. With .NET, your code and project files look and feel the same no matter which type of app you're building. You have access to the same runtime, API, and language capabilities with each app. A Visual Basic program is built up from standard building blocks. A solution comprises one or more projects. A project in turn can contain one or more assemblies. Each assembly is compiled from one or more source files.Starting Price: Free -
25
Bash
Bash
Bash is a free software Unix shell and command language. It has become the default login shell for most Linux distributions. In addition to being available on Linux systems, a version of Bash is also available for Windows through the Windows Subsystem for Linux. Bash is the default user shell in Solaris 11 and was the default shell in Apple macOS from version 10.3 until the release of macOS Catalina, which changed the default shell to zsh. Despite this change, Bash remains available as an alternative shell on macOS systems. As a command processor, Bash allows users to enter commands in a text window that are then executed by the system. Bash can also read and execute commands from a file, known as a shell script. It supports a number of features commonly found in Unix shells, including wildcard matching, piping, here documents, command substitution, variables, and control structures for condition testing and iteration. Bash is compliant with the POSIX shell standards.Starting Price: Free -
26
Ada
AdaCore
Ada is a state-of-the-art programming language that development teams worldwide are using for critical software, from microkernels and small-footprint, real-time embedded systems to large-scale enterprise applications, and everything in between. Why use Ada? In short, because you want to write reliable and efficient code, with confidence that it works, and not waste time and effort in the process. Ada is unique among languages in how it helps you detect and eliminate bugs early in the software life cycle when they are least expensive to correct. And as evidenced by the many successfully fielded applications that need to meet a hard time or space constraints, Ada helps you build software that is reliable, safe, and secure without sacrificing performance. At the technical level, Ada has everything you might expect in a modern language. Concurrent programming features, including support for multicore. -
27
Apache Groovy
The Apache Software Foundation
Apache Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform aimed at improving developer productivity thanks to a concise, familiar and easy to learn syntax. It integrates smoothly with any Java program, and immediately delivers to your application powerful features, including scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming and functional programming. Concise, readable and expressive syntax, easy to learn for Java developers. Closures, builders, runtime & compile-time meta-programming, functional programming, type inference, and static compilation. Flexible & malleable syntax, advanced integration & customization mechanisms, to integrate readable business rules in your applications. Great for writing concise and maintainable tests, and for all your build and automation tasks.Starting Price: Free -
28
Java
Oracle
The Java™ Programming Language is a general-purpose, concurrent, strongly typed, class-based object-oriented language. It is normally compiled to the bytecode instruction set and binary format defined in the Java Virtual Machine Specification. In the Java programming language, all source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecodes — the machine language of the Java Virtual Machine1 (Java VM). The java launcher tool then runs your application with an instance of the Java Virtual Machine.Starting Price: Free -
29
OpenCL
The Khronos Group
OpenCL (Open Computing Language) is an open, royalty-free standard for cross-platform parallel programming of heterogeneous computing systems that lets developers accelerate computing tasks by leveraging diverse processors such as CPUs, GPUs, DSPs, and FPGAs across supercomputers, cloud servers, personal computers, mobile devices, and embedded platforms. It defines a programming framework including a C-based language for writing compute kernels and a runtime API to control devices, manage memory, and execute parallel code, giving portable and efficient access to heterogeneous hardware. OpenCL improves speed and responsiveness for a wide range of applications including creative tools, scientific and medical software, vision processing, and neural network training and inferencing by offloading compute-intensive work to accelerator processors. -
30
XAML
Microsoft
XAML is a declarative markup language. As applied to the .NET Core programming model, XAML simplifies creating a UI for a .NET Core app. You can create visible UI elements in the declarative XAML markup, and then separate the UI definition from the run-time logic by using code-behind files that are joined to the markup through partial class definitions. XAML directly represents the instantiation of objects in a specific set of backing types defined in assemblies. This is unlike most other markup languages, which are typically an interpreted language without such a direct tie to a backing type system. XAML enables a workflow where separate parties can work on the UI and the logic of an app, using potentially different tools. When represented as text, XAML files are XML files that generally have the .xaml extension. The files can be encoded by any XML encoding, but encoding as UTF-8 is typical.Starting Price: Free -
31
Wolfram Language
Wolfram Language
We comply with providing the computational paradigm. The Wolfram Language provides access to computing power at a significantly higher level than ever before, leveraging built-in computational intelligence based on a wide variety of algorithms and real-world knowledge, carefully integrated over three decades. The Wolfram Language is scalable for programs both small and large, with out-of-the-box deployment both on-premises and in the cloud. In addition, the Wolfram Language builds on clear principles and an elegant unified symbolic framework to create what is now emerging as the world's most productive programming language, and the first true computational communication language for humans and AI.Starting Price: Free -
32
Carbon Language
Google
Carbon Language: An experimental successor to C++. Performance matching C++ using LLVM, with low-level access to bits and addresses. Interoperate with your existing C++ code, from inheritance to templates. Fast and scalable builds that work with your existing C++ build systems. Solid language foundations that are easy to learn, especially if you have used C++. Easy, tool-based upgrades between Carbon versions. Safer fundamentals, and an incremental path towards a memory-safe subset. Carbon is fundamentally a successor language approach, rather than an attempt to incrementally evolve C++. It is designed around interoperability with C++ as well as large-scale adoption and migration for existing C++ codebases and developers.Starting Price: Free -
33
SystemC
SystemC
Your online reference for everything related to SystemC, the language for system-level design, high-level synthesis, modeling and verification. SystemC™ addresses the need for a system design and verification language that spans hardware and software. It is a language built in standard C++ by extending the language with the use of class libraries. The language is particularly suited to model system's partitioning, to evaluate and verify the assignment of blocks to either hardware or software implementations, and to architect and measure the interactions between and among functional blocks. Leading companies in the intellectual property (IP), electronic design automation (EDA), semiconductor, electronic systems, and embedded software industries currently use SystemC for architectural exploration, to deliver high-performance hardware blocks at various levels of abstraction and to develop virtual platforms for hardware/software co-design.Starting Price: Free -
34
Solidity
Solidity
Solidity is a statically-typed curly-braces programming language designed for developing smart contracts that run on Ethereum. As a relatively young language, Solidity is advancing at a rapid speed. We aim for a regular (non-breaking) release every month, with approximately one breaking release per year. You can follow the implementation status of new features in the Solidity Github project. You can see the upcoming changes for the next breaking release by switching from the default branch (`develop`) to the `breaking branch`. You can actively shape Solidity by providing your input and participating in the language design.Starting Price: Free -
35
Perl
Perl
Perl is a highly capable, feature-rich programming language with over 30 years of development. Perl is a highly capable, feature-rich programming language with over 30 years of development. Perl runs on over 100 platforms from portables to mainframes and is suitable for both rapid prototyping and large scale development projects. "Perl" is a family of languages, "Raku" (formerly known as "Perl 6") is part of the family, but it is a separate language which has its own development team. Its existence has no significant impact on the continuing development of "Perl". Perl includes powerful tools for processing text that make it ideal for working with HTML, XML, and all other mark-up and natural languages. Perl can handle encrypted Web data, including e-commerce transactions.Starting Price: Free -
36
C++
C++
C++ is a simple and clear language in its expressions. It is true that a piece of code written with C++ may be seen by a stranger of programming a bit more cryptic than some other languages due to the intensive use of special characters ({}[]*&!|...), but once one knows the meaning of such characters it can be even more schematic and clear than other languages that rely more on English words. Also, the simplification of the input/output interface of C++ in comparison to C and the incorporation of the standard template library in the language, makes the communication and manipulation of data in a program written in C++ as simple as in other languages, without losing the power it offers. It is a programming model that treats programming from a perspective where each component is considered an object, with its own properties and methods, replacing or complementing structured programming paradigm, where the focus was on procedures and parameters.Starting Price: Free -
37
RemObjects Mercury
RemObjects Mercury
Mercury is an implementation of the BASIC programming language that is fully code-compatible with Microsoft Visual Basic.NET™, but takes it to the next level, and to new horizons. With Mercury, you will be able to build your existing VB.NET projects and leverage your Visual Basic™ language experience to write code for any modern target platform. You can mix Mercury code with any of the other five Elements languages in the same project if you like! The Mercury language will be deeply integrated into our development environments. Develop your projects in our smart yet lightweight IDEs, Water on Windows or Fire on Mac, with project templates, code completion, integrated debugging for all platforms, and many other advanced development features. Of course, Mercury will also integrate into Visual Studio™ 2017, 2019 and 2022. With Elements, all languages are created equal. Even within the same project, you can mix Mercury, C#, Swift, Java, Oxygene and Go.Starting Price: $49 per month -
38
Crystal
Crystal
Crystal’s syntax is heavily inspired by Ruby’s, so it feels natural to read and easy to write, and has the added benefit of a lower learning curve for experienced Ruby devs. Crystal is statically type-checked, so any type errors will be caught early by the compiler rather than fail on runtime. Moreover, and to keep the language clean, Crystal has built-in type inference, so most type annotations are unneeded. All types are non-nilable in Crystal, and available variables are represented as a union between the type and nil. As a consequence, the compiler will automatically check for null references in compile time. Crystal’s answer to metaprogramming is a powerful macro system, which ranges from basic templating and AST inspection to types inspection and running arbitrary external programs.Starting Price: Free -
39
Cython
Cython
Cython is an optimizing static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. Cython gives you the combined power of Python and C to let you write Python code that calls back and forth from and to C or C++ code natively at any point. Easily tune readable Python code into plain C performance by adding static type declarations, also in Python syntax. Use combined source code level debugging to find bugs in your Python, Cython, and C code. Interact efficiently with large data sets, e.g. using multi-dimensional NumPy arrays. Quickly build your applications within the large, mature, and widely used CPython ecosystem. The Cython language is a superset of the Python language that additionally supports calling C functions and declaring C types on variables and class attributes.Starting Price: Free -
40
LOLCODE
LOLCODE
LOLCODE can interpret files from standard input or from a file. Spaces are used to demarcate tokens in the language, although some keyword constructs may include spaces. Multiple spaces and tabs are treated as single spaces and are otherwise irrelevant. Indentation is irrelevant. A command starts at the beginning of a line and a newline indicates the end of a command, except in special cases. Multiple commands can be put on a single line if they are separated by a comma (,). In this case, the comma acts as a virtual newline or a soft command break. Multiple lines can be combined into a single command by including three periods or the Unicode ellipsis character (u2026) at the end of the line. Lines with line continuation can be strung together, many in a row, to allow a single command to stretch over more than one or two lines. As long as each line is ended with three periods, the next line is included, until a line without three periods is reached.Starting Price: Free -
41
Mojo
Modular
Mojo 🔥 — a new programming language for all AI developers. Mojo combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Write Python or scale all the way down to the metal. Program the multitude of low-level AI hardware. No C++ or CUDA required. Utilize the full power of the hardware, including multiple cores, vector units, and exotic accelerator units, with the world's most advanced compiler and heterogenous runtime. Achieve performance on par with C++ and CUDA without the complexity.Starting Price: Free -
42
AutoIt
AutoIt
AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement, and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages. We looked at many editors to see which one was the most useful editor for AutoIt. We found SciTE and saw its potential and wrote a customized Lexer for the syntax highlighting and syntax folding and created a special installer called SciTE4AutoIt3. AutoIt was initially designed for PC "roll out" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying "runtimes" required.Starting Price: Free -
43
Swift
Apple
Writing Swift code is interactive and fun, the syntax is concise yet expressive, and Swift includes modern features developers love. Swift code is safe by design and produces software that runs lightning-fast. Swift is the result of the latest research on programming languages, combined with decades of experience building Apple platforms. Named parameters are expressed in a clean syntax that makes APIs in Swift even easier to read and maintain. Even better, you don’t even need to type semi-colons. Inferred types make code cleaner and less prone to mistakes, while modules eliminate headers and provide namespaces. To best support international languages and emoji, Strings are Unicode-correct and use a UTF-8 based encoding to optimize performance for a wide-variety of use cases. You can even write concurrent code with simple, built-in keywords that define asynchronous behavior, making your code more readable and less error-prone.Starting Price: Free -
44
Eiffel
Eiffel Software
Eiffel is the most comprehensive approach to the construction of successful object-oriented software. You spend less on development, debugging, and maintenance. You get the bugs before they get you. You release quality products ahead of your competitors. Easier in every way, understanding, maintenance, reuse, and extension. Eiffel is the only approach that covers analysis, design, implementation, and maintenance in a single framework. Systems developed using Eiffel can be made portable across major industry platforms. Based on a small number of powerful ideas from computer science and software engineering. Products of all phases are recorded in a single document with multiple views. Exists to express the products of the Eiffel Method. Supports features not always available in competing technologies. Exception handling based on software specification (versus ad hoc try/catch). Widely recognized as simultaneously the simplest and most complete implementation of object-oriented concepts.Starting Price: Free -
45
D
D Language Foundation
D is a general-purpose programming language with static typing, systems-level access, and C-like syntax. With the D Programming Language, write fast, read fast, and run fast. D is made possible through the hard work and dedication of many volunteers, with the coordination and outreach of the D Language Foundation, a 501(c)(3) non-profit organization. You can help further the development of the D language and help grow our community by supporting the Foundation. Discuss D on the forums, join the IRC channel, read our official Blog, or follow us on Twitter. Browse the wiki, where among other things you can find the high-level vision of the D Language Foundation. Refer to the language specification and the documentation of Phobos, D's standard library. The DMD manual tells you how to use the compiler. Read various articles to deepen your understanding.Starting Price: Free -
46
Forth
Forth
Forth, the computer language was created for programming embedded and real-time applications. Today, it is available for developing applications on Windows, DOS, and variants of Unix that include macOS. Additionally, commercial-grade Forth cross-compilers generate highly optimized code that runs on a variety of microprocessors and microcontrollers and proves themselves very capable in custom-hardware environments. Forth is a high-level programming language, although most versions include an assembler. Fourth-system providers often include software tools to help application code make good use of system resources. Forth is interactive. It is conducive to developing modular, well-tested code in shorter development times. It can also result in very concise code. Some programmers are not accustomed to languages with such brevity, directness, and (apparent) simplicity. Forth has a reputation for rapid development, lean code, and superb performance.Starting Price: $399 one-time payment -
47
ABAP
SAP PRESS
ABAP (Advanced Business Application Programming) is SAP’s proprietary fourth‑generation programming language, purpose‑built for mass data processing in SAP business applications. Utilized within SAP NetWeaver, it enables companies running SAP ERP and S/4 HANA to tailor systems precisely to their needs. ABAP is a multi‑paradigm language that supports procedural, object‑oriented, and other programming styles. It can seamlessly interoperate with languages such as Java, JavaScript, and SAPUI5. ABAP embraced object orientation with release 4.6C (2000) and saw even greater efficiency gains in ABAP 7.4/7.5, cutting code length by up to 50% via richer syntax, enhanced Open SQL, ABAP Managed Database Procedures, and Core Data Services (CDS) Views. The arrival of SAP HANA in 2011 shifted much processing into the in‑memory database layer, enabling real‑time operations and unlocking powerful new programming possibilities. -
48
Roy
Roy
Roy is an experimental programming language that targets JavaScript. It tries to meld JavaScript semantics with some features common in static functional languages.Starting Price: Free -
49
PowerShell
Microsoft
PowerShell is a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language. Unlike most shells, which accept and return text, PowerShell is built on top of the .NET Common Language Runtime (CLR), and accepts and returns .NET objects. This fundamental change brings entirely new tools and methods for automation. Unlike traditional command-line interfaces, PowerShell cmdlets are designed to deal with objects. An object is structured information that is more than just the string of characters appearing on the screen. Command output always carries extra information that you can use if you need it. If you've used text-processing tools to process data in the past, you'll find that they behave differently when used in PowerShell. In most cases, you don't need text-processing tools to extract specific information. You directly access portions of the data using standard PowerShell object syntax.Starting Price: Free -
50
IronPython
IronPython
IronPython is an open-source implementation of the Python programming language which is tightly integrated with .NET. IronPython can use .NET and Python libraries, and other .NET languages can use Python code just as easily. Experience a more interactive .NET and Python development experience with Python Tools for Visual Studio. IronPython is an excellent addition to .NET, providing Python developers with the power of the .NET. Existing .NET developers can also use IronPython as a fast and expressive scripting language for embedding, testing, or writing a new application from scratch. The CLR is a great platform for creating programming languages, and the DLR makes it all the better for dynamic languages. Also, the .NET (base class library, presentation foundation, etc.) gives developers an amazing amount of functionality and power. IronPython uses Python syntax and standard libraries and so your Python code will need to be updated accordingly.Starting Price: Free