64 Open Source Programming Languages on GitHub

In this blog post, I’m creating a list of all the open-source programming languages that are actively developed on GitHub.

Go

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.

View Source Code


Swift

Swift is a high-performance system programming language. It has a clean and modern syntax, offers seamless access to existing C and Objective-C code and frameworks, and is memory safe by default.

Although inspired by Objective-C and many other languages, Swift is not itself a C-derived language. As a complete and independent language, Swift packages core features like flow control, data structures, and functions, with high-level constructs like objects, protocols, closures, and generics. Swift embraces modules, eliminating the need for headers and the code duplication they entail.

View Source Code


TypeScript

TypeScript is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript.

View Source Code


Rust

Empowering everyone to build reliable and efficient software.

View Source Code


Kotlin

It is an open-source, statically typed programming language supported and developed by JetBrains and open-source contributors.

View Source Code


Python

Python is a programming language that lets you work quickly and integrate systems more effectively.

View Source Code


PHP

PHP is a popular general-purpose scripting language that is especially suited to web development. Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world. PHP is distributed under PHP License v3.01.

View Source Code


Carbon

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.

Features

  • 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 toward a memory-safe subset
  • Batteries-included approach: compiler, libraries, docs, tools, package manager, and more

View Source Code


Julia

Julia is a high-level, high-performance dynamic language for technical computing. The main homepage for Julia can be found at julialang.org. This is the GitHub repository of Julia source code, including instructions for compiling and installing Julia, below.

View Source Code


Ruby

Ruby is an interpreted object-oriented programming language often used for web development. It also offers many scripting features to process plain text and serialized files, or manage system tasks. It is simple, straightforward, and extensible.

Features

  • Simple Syntax
  • Normal Object-oriented Features (e.g. class, method calls)
  • Advanced Object-oriented Features (e.g. mix-in, singleton-method)
  • Operator Overloading
  • Exception Handling
  • Iterators and Closures
  • Garbage Collection
  • Dynamic Loading of Object Files (on some architectures)
  • Highly Portable (works on many Unix-like/POSIX compatible platforms as well as Windows, macOS, etc.)

View Source Code


CoffeeScript

CoffeeScript is a little language that compiles into JavaScript. It is like an “Unfancy JavaScript” code.

View Source Code


Elixir

Elixir is a dynamic, functional language designed for building scalable and maintainable applications.

View Source Code


Crystal

Crystal is a programming language with the following goals:

  • Have a syntax similar to Ruby (but compatibility with it is not a goal)
  • Statically type-checked but without having to specify the type of variables or method arguments.
  • Be able to call C code by writing bindings to it in Crystal.
  • Have compile-time evaluation and generation of code, to avoid boilerplate code.
  • Compile to efficient native code.

Why?

  • We love Ruby’s efficiency for writing code.
  • We love C’s efficiency for running code.
  • We want the best of both worlds.
  • We want the compiler to understand what we mean without having to specify types everywhere.
  • We want full OOP.
  • Oh, and we don’t want to write C code to make the code run faster.

View Source Code


PowerShell

PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.

View Source Code


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.

View Source Code


Clojure

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.

View Source Code


MicroPython

A lean and efficient Python implementation for microcontrollers and constrained systems.

View Source Code


Erlang

Erlang is a programming language and runtime system for building massively scalable soft real-time systems with requirements on high availability.

OTP is a set of Erlang libraries, which consists of the Erlang runtime system, a number of ready-to-use components mainly written in Erlang, and a set of design principles for Erlang programs.

View Source Code


Nim

Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

View Source Code


AssemblyScript

A TypeScript-like language for WebAssembly.

AssemblyScript compiles a variant of TypeScript (basically JavaScript with types) to WebAssembly using Binaryen. It generates lean and mean WebAssembly modules while being just an npm install away.

View Source Code


PureScript

A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.

View Source Code


Elm

Compiler for Elm, a functional language for reliable webapps.

View Source Code


Roslyn

Roslyn is the open-source implementation of both the C# and Visual Basic compilers with an API surface for building code analysis tools.

View Source Code


C#

C# is designed by the C# Language Design Team (LDT) in close coordination with the Roslyn project, which implements the language.

View Source Code


Red

Red is a next-generation programming language strongly inspired by Rebol, but with a broader field of usage thanks to its native-code compiler, from system programming to high-level scripting and cross-platform reactive GUI, while providing modern support for concurrency, all in a zero-install, zero-config, single 1MB file!

View Source Code


Pony

Pony is an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language.

View Source Code


Frege

Frege is a Haskell for the JVM.

Like any Haskell, it is purely functional, enjoys a strong static type system with global type inference and non-strict – also known as lazy – evaluation.

Frege compiles to Java, runs on the JVM, and uses any Java library you want. It can be used inside any Java project.

View Source Code


Goby

Goby is an object-oriented interpreter language deeply inspired by Ruby as well as its core implementation by 100% pure Go. Moreover, it has standard libraries to provide several features such as the Plugin system. Note that we do not intend to reproduce the whole of the honorable works of Ruby syntax/implementation/libraries.

View Source Code


Racket

Racket is a general-purpose programming language and an ecosystem for language-oriented programming.

View Source Code


Idris

Idris is a general-purpose functional programming language with dependent types.

View Source Code


OCaml

OCaml is a functional, statically-typed programming language from the ML family, offering a powerful module system extending that of Standard ML and a feature-rich, class-based object system.

View Source Code


Eta

The Eta programming language is a dialect of Haskell which runs on the JVM and has the following goals:

  • accessibility for beginners from imperative languages, especially Java
  • compatibility with GHC 7.10.3’s Haskell.

View Source Code


Nu

Nu is an interpreted Lisp that builds on the Objective-C runtime and Foundation framework.

View Source Code


LiveScript

LiveScript is a language that compiles to JavaScript. It has a straightforward mapping to JavaScript and allows you to write expressive code devoid of repetitive boilerplate. While LiveScript adds many features to assist in functional-style programming, it also has many improvements for object-oriented and imperative programming.

View Source Code


Io

Io is a dynamic prototype-based programming language in the same realm as Smalltalk and Self. It revolves around the idea of message passing from object to object.

View Source Code


DMD

DMD is the reference compiler for the D programming language.

View Source Code


Terra

Terra is a new low-level system programming language that is designed to interoperate seamlessly with the Lua programming language. It is also backwards compatible with (and embeddable in) existing C code. Like C, Terra is a monomorphic, statically-typed, compiled language with manual memory management. But unlike C, it is designed to make interaction with Lua easy. Terra code shares Lua’s syntax and control-flow constructs. It is easy to call Lua functions from Terra (or Terra functions from Lua).

View Source Code


F#

An open-source language that makes it easy to write succinct, robust, and performant code.

View Source Code


Skip

Skip is a general-purpose programming language that tracks side effects to provide caching with reactive invalidation, ergonomic and safe parallelism, and efficient garbage collection. Skip is statically typed and ahead-of-time compiled using LLVM to produce highly optimized executables.

It is a programming language to skip the things you have already computed.

View Source Code


Rakudo

This is Rakudo, a Raku Programming Language compiler for the MoarVM, JVM, and Javascript virtual machines.

View Source Code


Chapel

Chapel is a modern programming language designed for productive parallel computing at scale. Chapel’s design and implementation have been undertaken with portability in mind, permitting Chapel to run on multicore desktops and laptops, commodity clusters, and the cloud, in addition to the high-end supercomputers for which it was originally undertaken.

View Source Code


Lucee Server

Lucee Server (or simply Lucee) is a dynamic, Java-based, tag and scripting language used for rapid web application development.

Lucee simplifies technologies like web services (REST, SOAP, HTTP), ORM (Hibernate), searching (Lucene), data sources (MSSQL, Oracle, MySQL, and others), caching (infinispan, ehcache, and Memcached), and many more.

Lucee provides a compatibility layer for Adobe ColdFusion © CFML using fewer resources and delivering better performance.

View Source Code


Golo

Golo is a lightweight, dynamic, and weakly-typed language for the JVM.

Built from day 1 with invokedynamic, Golo takes advantage of the latest advances of the JVM. It is also a showcase on how to build a language runtime with invokedynamic.

Eclipse Golo was originally created by Julien Ponge and developed as part of the research activities of the DynaMid group of the CITI Laboratory at INSA Lyon.

Eclipse Golo is a mature Eclipse Technology Project.

View Source Code


Gosu

Gosu is a pragmatic programming language for the JVM. It has been designed with Java developers in mind by providing a set of features that allow them to be more productive without sacrificing the benefits of Java’s simple syntax and type safety. Gosu is an object-oriented language with a sprinkle of functional programming features.

View Source Code


Zig

A general-purpose programming language and toolchain for maintaining robustoptimal, and reusable software.

View Source Code


Haxe

Haxe is an open-source toolkit that allows you to easily build cross-platform tools and applications that target many mainstream platforms. The Haxe toolkit includes:

  • The Haxe programming language, a modern, high-level, strictly-typed programming language
  • The Haxe cross-compiler, a state-of-the-art, lightning-speed compiler for many targets
  • The Haxe standard library, a complete, cross-platform library of common functionality

View Source Code


LiveCode

The LiveCode Community open source platform provides a way to build applications for mobile, desktop and server platforms.

The visual workflow allows the user to develop apps “live”, using a powerful and uniquely-accessible language syntax.

View Source Code


Coq

Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.

View Source Code


V

Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation.

View Source Code


Dart

Dart is:

  • Optimized for UI: Develop with a programming language specialized around the needs of user interface creation.
  • Productive: Make changes iteratively: use hot reload to see the result instantly in your running app.
  • Fast on all platforms: Compile to ARM & x64 machine code for mobile, desktop, and backend. Or compile to JavaScript for the web.

Dart’s flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:

  • Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.
  • Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js).

View Source Code


Pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.

View Source Code


Ring

Ring is a practical general-purpose multi-paradigm language. The supported programming paradigms are Imperative, Procedural, Object-Oriented, Functional, Metaprogramming, Declarative programming using nested structures, and Natural programming.

The language is portable (MS-DOS, Windows, Linux, macOS, Android, WebAssembly, etc.) and can be used to create Console, GUI, Web, Games, and Mobile applications.

The language is designed to be Simple, Small, and Flexible.

View Source Code


Senegal

Senegal is a powerful, small-but-fast, concurrent, class-based, and dynamically-typed programming language with a modern syntax.

View Source Code


EO

EO (stands for Elegant Objects or ISO 639-1 code of Esperanto) is an object-oriented programming language based on 𝜑-calculus. We’re aware of popular semi-OOP languages and we don’t think they are good enough, including JavaRubyC++SmalltalkPythonPHPC#: all of them have something we don’t tolerate.

View Source Code


ChavaScript

The ChavaScript language transpiler. ChavaScript, a scripting language in Hebrew only, which is converted in real-time to JavaScript by translating the keywords and variable names from Hebrew to foreign.

View Source Code


Jelly

Jelly is a golfing and recreational programming language inspired by J.

View Source Code


Beef

Beef is an open source performance-oriented compiled programming language which has been built hand-in-hand with its IDE environment. The syntax and many semantics are most directly derived from C#, while attempting to retain the C ideals of bare-metal explicitness and lack of runtime surprises, with some “modern” niceties inspired by languages such as Rust, Swift, and Go. See the Language Guide for more details.

View Source Code


CUE

Configure, Unify, Execute

CUE is an open-source data constraint language that aims to simplify tasks involving defining and using data.

It is a superset of JSON, allowing users familiar with JSON to get started quickly.

View Source Code


JDK

The Java Development Kit is a distribution of Java Technology by Oracle Corporation.

View Source Code


Tiny C Compiler

You can compile and execute C code everywhere, for example on
rescue disks. TCC generates optimized x86 code. No byte code overhead. Compile, assemble and link about 7 times faster than ‘gcc -O0’.

View Source Code


PC-BASIC

PC-BASIC is a free, cross-platform interpreter for GW-BASIC, Advanced BASIC (BASICA), PCjr Cartridge Basic and Tandy 1000 GWBASIC. It interprets these BASIC dialects with a high degree of accuracy, aiming for bug-for-bug compatibility. PC-BASIC emulates the most common video and audio hardware on which these BASICs used to run. PC-BASIC runs plain-text, tokenised and protected .BAS files. It implements floating-point arithmetic in the Microsoft Binary Format (MBF) and can therefore read and write binary data files created by GW-BASIC.

PC-BASIC is free and open source software released under the GPL version 3.

View Source Code


QB64

BASIC for the modern era.

QB64 is a modern extended BASIC+OpenGL language that retains QB4.5/QBasic compatibility and compiles native binaries for Windows (XP and up), Linux and macOS.

View Source Code


Gleam

Gleam is a friendly language for building type-safe, scalable systems!

It compiles to Erlang (or JavaScript) and has straightforward interop with other BEAM languages such as Erlang, Elixir, and LFE.

View Source Code


Gwion

Strongly-timed musical programming language. Gwion is a programming language, aimed at making music.

View Source Code

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.