Open-source programming-languages software
1852 open-source libraries, tools and applications tagged programming-languages, ranked by how closely programming-languages is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1852 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| ThomasJaeger/VisualMASM Visual MASM is a free IDE for the Microsoft Macro Assembler (MASM) that lets users write, assemble, and debug 16/32/64-bit Windows and 16-b… | 32 | 1363 | maintenance |
| scratchfoundation/scratch-flash The open source ActionScript codebase for the Scratch 2.0 visual programming editor and player, used for both the online and offline Scratc… | 10 | 1357 | maintenance |
| vercel-labs/scriptc scriptc is a TypeScript-to-native compiler that compiles ordinary TypeScript and JavaScript into small, fast, self-contained native executa… | 77 | 6364 | experimental |
| fishinabarrel/linux-kernel-module-rust A framework for writing loadable Linux kernel modules in safe Rust, providing safe abstractions over kernel interfaces via bindgen-generate… | 10 | 1337 | maintenance |
| whitecatboard/Lua-RTOS-ESP32 Lua RTOS is a real-time operating system for embedded systems (ESP32, ESP8266, PIC32MZ) built on FreeRTOS with a Lua 5.3 interpreter on top… | 64 | 1334 | maintenance |
| dogescript/dogescript Dogescript is a joke compile-to-JavaScript programming language with doge-meme syntax, distributed as an npm package. It ships a CLI compil… | 36 | 1334 | maintenance |
| guillermomuntaner/Burritos Burritos is a collection of well-tested Swift property wrappers such as @Atomic, @Clamping, @UserDefault, @Expirable, and @UndoRedo. It is … | 23 | 1332 | maintenance |
| shekhargulati/strman-java A Java 8 string manipulation library offering a collection of static utility functions for working with strings. It is inspired by the Java… | 32 | 1330 | maintenance |
| janino-compiler/janino Janino is a super-small, super-fast Java compiler that can compile source files to class files like javac, or compile Java expressions, blo… | 10 | 1329 | maintenance |
| elixir-editors/vim-elixir Vim plugin providing Elixir language support, including syntax highlighting, filetype detection for .ex/.exs/.eex/.heex/.leex/.sface files,… | 44 | 1326 | maintenance |
| AOL-archive/cyclops Cyclops is a functional programming library for Java 8+ providing advanced purely functional data structures, monads, monad transformers, a… | 23 | 1325 | maintenance |
| mntmn/interim Interim OS is a minimalist experimental operating system with a language-based kernel inspired by Lisp machines and Plan 9. It boots to a J… | 32 | 1322 | maintenance |
| Seeing Is Believing Seeing Is Believing is a Ruby command-line tool and library that evaluates Ruby code and records the result of every line, annotating the f… | 61 | 1319 | maintenance |
| solodon4/Mach7 Mach7 is a C++ library providing functional-programming-style pattern matching, supporting user-definable patterns, algebraic data types, a… | 32 | 1319 | maintenance |
| ezrosent/frawk frawk is a small, efficient Awk-like programming language implemented in Rust for writing short programs that process textual data. It supp… | 39 | 1318 | maintenance |
| roc-lang/roc Roc is a fast, friendly, functional programming language implemented in Zig, with a compiler toolchain that builds to machine code or WebAs… | 79 | 6128 | experimental |
| clojure/core.typed core.typed is an optional (gradual) type system for Clojure, provided as a library with a static type checker and runtime dependencies. It … | 56 | 1314 | maintenance |
| carp-lang/Carp Carp is a statically typed Lisp programming language with deterministic memory management and no garbage collector, implemented in Haskell.… | 77 | 6061 | experimental |
| Red Programming Language Red is a next-generation programming language inspired by Rebol, shipping as a single ~1MB zero-install executable containing a full toolch… | 66 | 6041 | experimental |
| gnzlbg/cargo-asm cargo-asm is a cargo subcommand that displays the assembly or LLVM IR generated for Rust source code. It supports querying functions and me… | 23 | 1295 | maintenance |
| hsutter/cppfront cppfront is an experimental compiler that translates a new 'Syntax 2' (Cpp2) flavor of C++ into standard 'Syntax 1' (Cpp1) C++ code. It ser… | 63 | 6007 | experimental |
| py4j/py4j Py4J is a library that lets Python programs dynamically access Java objects in a JVM over sockets, calling methods as if the objects lived … | 67 | 1287 | maintenance |
| littleark/githut GitHut is a web-based visualization of programming language popularity across GitHub repositories, built on data from the GitHub Archive. I… | 32 | 1286 | maintenance |
| mout/mout Mout is a modular JavaScript utility library providing helper functions for arrays, objects, strings, functions, math, and other common tas… | 32 | 1285 | maintenance |
| shift-js/shift-js Shift.JS is a Swift-to-JavaScript transpiler built in JavaScript, with a lexer, parser, and AST-based code generation via Escodegen. It shi… | 32 | 1270 | maintenance |
| MLstate/opalang Opa is a functional programming language for web development that compiles to JavaScript, letting developers write frontend and backend cod… | 23 | 1263 | maintenance |
| gutomaia/pyNES pyNES is a Python library that lets you write Nintendo Entertainment System (NES) games in Python, compiling them down to 6502 assembly for… | 76 | 1239 | maintenance |
| witchcrafters/witchcraft Witchcraft is an Elixir library providing common algebraic and categorical abstractions such as monoids, functors, applicatives, monads, ar… | 23 | 1236 | maintenance |
| slazyk/Observable-Swift Observable-Swift is a Swift library providing explicit value observing via Observable<T> and subscribable events via Event<T>, inspired by … | 32 | 1225 | maintenance |
| mstrobel/procyon Procyon is a suite of Java metaprogramming libraries offering a rich reflection API inspired by .NET's System.Reflection, a LINQ-style expr… | 23 | 1217 | maintenance |
| basarat/typescript-collections A complete, fully tested data structure library written in TypeScript with generic typing. It provides classic collections such as linked l… | 23 | 1206 | maintenance |
| apple/swift-atomics A Swift package providing low-level atomic operations for integers, pointers, and other types, enabling lock-free synchronization construct… | 81 | 1204 | maintenance |
| kylestetz/slang Slang is a small audio programming language implemented entirely in JavaScript, running in the browser on top of the Web Audio API. It uses… | 32 | 1202 | maintenance |
| PHP Language Server A pure PHP implementation of the Language Server Protocol that provides static code analysis for PHP in any LSP-compatible IDE. It offers f… | 23 | 1192 | maintenance |
| lukeed/tsm tsm is a TypeScript module loader for Node.js that lets you run TypeScript and JSX files directly without a separate build step. It works a… | 23 | 1191 | maintenance |
| PythonCharmers/python-future python-future is a compatibility layer providing backports and forward ports between Python 2 and Python 3, including the futurize and past… | 62 | 1190 | maintenance |
| lihaoyi/Metascala Metascala is a tiny metacircular Java Virtual Machine written in about 3000 lines of Scala, including a bytecode interpreter, a stack-machi… | 32 | 1186 | maintenance |
| RubyInstaller for Windows RubyInstaller for Windows build recipes: a collection of Rake recipes that download the MinGW toolchain and compile the Ruby interpreter, i… | 23 | 1186 | maintenance |
| Rust-GPU/rust-cuda An ecosystem of Rust libraries and tools for writing and executing fast GPU code fully in Rust, targeting NVIDIA CUDA. It lets developers a… | 66 | 5399 | experimental |
| google/skylark A Go implementation of the Skylark (now Starlark) interpreter, a small dialect of Python designed as an embeddable configuration language. … | 10 | 1182 | maintenance |
| vercel-labs/zerolang Zerolang is an experimental programming language where a semantic graph serves as the program database, designed so AI agents author code v… | 73 | 5380 | experimental |
| aaronjanse/asciidots AsciiDots is an esoteric programming language where dots travel along ASCII-art paths and undergo operations, implemented as a Python inter… | 63 | 1167 | maintenance |
| CanadaHonk/porffor Porffor is an ahead-of-time JavaScript/TypeScript compiler that compiles JS source through an IR into C, producing native executables or Wa… | 95 | 5289 | experimental |
| rustyrussell/ccan The C Code Archive Network (CCAN) is a collection of reusable C modules, analogous to CPAN for Perl, distributed as self-contained director… | 75 | 1162 | maintenance |
| sourcegraph/go-langserver go-langserver is a Go language server implementing the Language Server Protocol (LSP), providing editor features like go-to-definition, hov… | 10 | 1162 | maintenance |
| scala/scala-async A Scala DSL providing async/await-style syntax for composing scala.concurrent Futures in direct style. It transforms async blocks at compil… | 65 | 1161 | maintenance |
| wickwirew/Runtime A Swift runtime reflection library that exposes type metadata, dynamic property getting/setting, instance construction, and function metada… | 23 | 1161 | maintenance |
| Qirky/FoxDot FoxDot is a Python-driven live coding environment that provides a friendly abstraction over SuperCollider for making music in real time. It… | 30 | 1160 | maintenance |
| Herzult/SimplePHPEasyPlus A satirical PHP library that performs simple numeric addition through an absurdly over-engineered OOP architecture of parsers, proxies, ope… | 32 | 1158 | maintenance |
| Arachnid/solidity-stringutils A string and slice utility library for Solidity smart contracts, providing efficient string manipulation via a lightweight 'slice' abstract… | 32 | 1155 | maintenance |
| amber-lang/amber Amber is a high-level, type-safe programming language written in Rust that compiles to Bash, Ksh, or Zsh scripts. It provides modern ECMA-s… | 81 | 5232 | experimental |
| brianhaveri/Underscore.php Underscore.php is a PHP port of the popular Underscore.js utility library, providing functional-style collection, array, and object manipul… | 32 | 1153 | maintenance |
| vyapp/vy vy is a modal, vim-like text editor written in Python and built on Tkinter. It features a highly modular plugin architecture where plugins … | 10 | 1152 | maintenance |
| google/wwwbasic wwwBASIC is an implementation of the BASIC programming language that compiles to JavaScript and runs in the browser or Node.js. It supports… | 59 | 1151 | maintenance |
| pointfreeco/swift-overture Overture is a Swift library for function composition, providing tools like pipe, with, update, curry, flip, and key-path helpers to build n… | 23 | 1150 | maintenance |
| tech-srl/code2vec Official TensorFlow implementation of the code2vec model from the POPL'2019 paper, which learns distributed vector representations of code … | 32 | 1148 | maintenance |
| mattt/Euler A Swift library that implements mathematical functions and constants using custom operators from the Math Symbols character set, enabling t… | 10 | 1148 | maintenance |
| code-cracker/code-cracker Code Cracker is a Roslyn-based analyzer library for C# and Visual Basic that provides code diagnostics, refactorings, and code style analys… | 23 | 1147 | maintenance |
| cloudflare/hellogopher Hellogopher is a drop-in Makefile that lets anyone clone and build a conventional Go project with just `make`, without needing to understan… | 64 | 1145 | maintenance |
| iancoleman/strcase strcase is a Go package for converting strings between naming conventions such as snake_case, CamelCase, kebab-case, and custom delimited f… | 32 | 1144 | maintenance |
| mitsuhiko/pluginbase PluginBase is a Python library for building flexible plugin systems in applications. It manages plugin discovery and loading through virtua… | 23 | 1139 | maintenance |
| zxh0/classpy Classpy is a JavaFX-based GUI tool for investigating binary file formats, including Java class files, Lua 5.3 binary chunks, Wasm binaries,… | 23 | 1137 | maintenance |
| GoogleChrome/proxy-polyfill A polyfill for the ES6 Proxy object, supporting a limited subset of traps (get, set, apply, construct) for older browsers that lack native … | 10 | 1137 | maintenance |
| Learn to Code RPG Learn to Code RPG is a free open-source visual novel video game by freeCodeCamp where players teach themselves to code, befriend tech-indus… | 10 | 1137 | maintenance |
| noprompt/frak A Clojure/ClojureScript library that transforms collections of strings into optimized regular expressions built from a trie, minimizing bac… | 32 | 1130 | maintenance |
| marler8997/zigup A command-line tool for downloading and managing multiple Zig compiler versions. It stores compilers in a global install directory and mana… | 38 | 1127 | maintenance |
| nakkaya/ferret Ferret is a Lisp (Clojure-inspired) implementation that compiles down to self-contained C++11 code for real-time embedded control systems. … | 32 | 1127 | maintenance |
| victorlei/smop SMOP is a source-to-source compiler that translates Matlab and Octave code into human-readable Python. It includes a runtime library that c… | 23 | 1126 | maintenance |
| xebecnan/UniLua UniLua is a pure C# implementation of the Lua 5.2 language, focused on compatibility with Unity3D. It implements the core language features… | 32 | 1121 | maintenance |
| leostera/caramel Caramel is a functional programming language that compiles OCaml-style source code to run on the Erlang VM (BEAM), combining OCaml's type s… | 10 | 1106 | maintenance |
| orangeduck/tgc tgc is a tiny (~500 line) conservative, thread-local mark-and-sweep garbage collector for C, provided as a single header. It automatically … | 32 | 1103 | maintenance |
| primaryobjects/AI-Programmer AI-Programmer is a C# experiment that uses genetic algorithms to automatically generate programs in a Turing-complete esoteric language (Br… | 44 | 1102 | maintenance |
| ridiculousfish/cdecl-blocks cdecl is a classic command-line tool that translates between English descriptions of C/C++ declarations (e.g. 'declare foo as array 5 of po… | 60 | 1100 | maintenance |
| rhysd/vim-clang-format A Vim plugin that integrates the clang-format tool for formatting C, C++, Objective-C, Java, JavaScript, TypeScript, Protobuf, CUDA, and Va… | 32 | 1099 | maintenance |
| ziutek/emgo Emgo is a compiler and package set that lets you run Go programs on small 32-bit microcontrollers by generating C as intermediate code and … | 32 | 1095 | maintenance |
| emezeske/lein-cljsbuild lein-cljsbuild is a Leiningen plugin that simplifies ClojureScript development by automatically compiling ClojureScript code to JavaScript.… | 23 | 1093 | maintenance |
| dtolnay/paste A Rust crate providing the paste! macro for concatenating identifiers at compile time, enabling macros to define new items with pasted name… | 10 | 1092 | maintenance |
| JensRavens/Interstellar Interstellar is a lightweight Swift library providing a simple Observable<T> implementation for functional reactive programming. It support… | 10 | 1079 | maintenance |
| rxi/classic A tiny single-file class module for Lua providing simple object-oriented programming with inheritance, mixins, and static variables. It pri… | 32 | 1076 | maintenance |
| vczh/vczh_toys A collection of experimental C++11 'black magic' utility libraries by vczh, including a garbage collection library, a multi-dimensional arr… | 32 | 1072 | maintenance |
| derekwyatt/vim-scala A Vim plugin providing Scala filetype detection, syntax highlighting, indentation, Scaladoc comment indentation, and a :SortScalaImports co… | 32 | 1069 | maintenance |
| hokaccha/nodebrew nodebrew is a Node.js version manager written in Perl that lets users install, compile, switch between, and manage multiple Node.js version… | 32 | 1067 | maintenance |
| sestoft/C5 C5 is a generic collection library for C# and other .NET/CLI languages, providing a wide range of classic data structures such as lists, se… | 23 | 1066 | maintenance |
| gajus/eslint-plugin-flowtype An ESLint plugin providing linting rules for Flow static type annotations in JavaScript. It enforces style and correctness conventions for … | 23 | 1065 | maintenance |
| luaj/luaj Luaj is a lightweight, fast Lua interpreter (Lua 5.2.x compatible) written entirely in Java for JME, JSE, and JEE environments. It includes… | 23 | 1055 | maintenance |
| natefinch/gorram gorram is a Go CLI tool that lets you run any exported Go function from the standard library or your GOPATH directly from the command line,… | 31 | 1050 | maintenance |
| ballercat/walt Walt is a JavaScript-like alternative syntax for the WebAssembly text format that compiles .walt files directly to WebAssembly binaries. It… | 23 | 4631 | experimental |
| tinycthread/tinycthread TinyCThread is a minimalist, portable C library implementing a subset of the C11 threads API (threads, mutexes, condition variables, once s… | 32 | 1044 | maintenance |
| Hamler Hamler is a strongly-typed, Haskell-style functional programming language that compiles to Erlang VM (BEAM) bytecode. It brings compile-tim… | 23 | 1041 | maintenance |
| bradfitz/goimports goimports is a Go command-line tool that automatically fixes import lines by adding missing imports and removing unreferenced ones, while a… | 32 | 1039 | maintenance |
| haileys/jsos JSOS is a hobby operating system whose kernel, C library, compiler, and JavaScript virtual machine are written largely in JavaScript, with … | 32 | 1038 | maintenance |
| matz/streem Streem is a prototype of a stream-based concurrent scripting language created by Yukihiro Matsumoto, influenced by the shell pipeline model… | 32 | 4596 | experimental |
| VPanjeta/ModiScript ModiScript is an esoteric, dynamically typed, Turing-complete programming language built in Python whose keywords are quotes and phrases as… | 32 | 1037 | maintenance |
| numirias/semshi Semshi is a Neovim plugin that provides semantic highlighting for Python code. It performs static analysis as you type, building syntax tre… | 32 | 1037 | maintenance |
| planck-repl/planck Planck is a stand-alone ClojureScript REPL for macOS and Linux built on JavaScriptCore. It launches instantly and supports writing Clojure-… | 23 | 1037 | maintenance |
| benjaminp/six Six is a Python 2 and 3 compatibility library providing utility functions and constants to smooth over differences between the two Python v… | 59 | 1033 | maintenance |
| sweet-js/sweet-core Sweet.js is a JavaScript macro system that brings hygienic macros (like those in Scheme and Rust) to JavaScript, letting developers define … | 10 | 4559 | experimental |
| mcsoto/LogicJS LogicJS is a JavaScript library that brings logic programming (in the style of Prolog and miniKanren) to JavaScript. It provides logic vari… | 32 | 1030 | maintenance |
| hoplon/hoplon Hoplon is a ClojureScript library for building single-page web applications from highly composable DOM elements. It integrates tightly with… | 23 | 1030 | maintenance |
| erning/gorun gorun is a CLI tool that lets Go source files be executed directly as scripts via a shebang line, compiling and caching them transparently.… | 32 | 1028 | maintenance |