Browse free open source C Programming Languages and projects below. Use the toggles on the left to filter open source C Programming Languages by OS, license, language, programming language, and project status.

  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Start Free
  • 1
    CLIPS Rule Based Programming Language
    CLIPS is a forward-chaining rule-based programming language written in C that also provides procedural and object-oriented programming facilities.
    Leader badge
    Downloads: 572 This Week
    Last Update:
    See Project
  • 2
    MicroPython

    MicroPython

    Python implementation for microcontrollers and constrained systems

    MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments. The MicroPython pyboard is a compact electronic circuit board that runs MicroPython on the bare metal, giving you a low-level Python operating system that can be used to control all kinds of electronic projects. MicroPython is packed full of advanced features such as an interactive prompt, arbitrary precision integers, closures, list comprehension, generators, exception handling and more. Yet it is compact enough to fit and run within just 256k of code space and 16k of RAM. MicroPython aims to be as compatible with normal Python as possible to allow you to transfer code with ease from the desktop to a microcontroller or embedded system.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 3
    zerolang

    zerolang

    The programming language for agents

    zerolang, also called Zero, is an experimental agent-first programming language from Vercel Labs. It explores what programming might look like when AI agents are treated as primary users from the start. The language aims to be small, regular, and easy for agents to learn from examples, diagnostics, and documentation. Its tooling is designed to expose structured facts for checking, running, formatting, debugging, repair, graph inspection, and size reporting. The project is pre-1 and intentionally unstable, so it is intended for isolated experimentation rather than production systems. zerolang is most useful as a research platform for developers interested in AI-native programming languages, agent-readable tooling, and repair-oriented development workflows.
    Downloads: 22 This Week
    Last Update:
    See Project
  • 4
    The Acton programming language

    The Acton programming language

    The Acton Programming Language

    Write programs that seamlessly run as a distributed system over an entire data center or region. All without a single line of RPC code. Acton automatically persists the state of your application (orthogonal persistence) to a built-in distributed backend. No need to use a database or message broker ever again. 0 lines of persistence code. Built-in redundancy; Acton's transactional, high-performance distributed RTS can seamlessly resume application state after hardware failures. Never stop for an upgrade; Live upgrade your running application through compiler-supported code and data migration. Acton programs, and the actor model, work well from simple script-style applications on a single machine up to large distributed systems across a Data Center. Run at your scale.
    Downloads: 15 This Week
    Last Update:
    See Project
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Start Free
  • 5
    php-src

    php-src

    The PHP Interpreter

    This is the official source repository of PHP, a popular open-source server-side scripting language primarily used for web development. PHP powers a significant portion of the web, including platforms like WordPress, Drupal, and Laravel. The repository includes the core language engine, standard libraries, and tools for compilation and deployment across systems.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 6
    Agena

    Agena

    Agena is an interpreted procedural programming language.

    Agena is an easy-to-learn procedural programming language designed for science, scripting, and many other applications. Binaries are available for Windows, Linux, Solaris, OS/2, Mac OS X, Raspberry Pi and DOS.
    Leader badge
    Downloads: 164 This Week
    Last Update:
    See Project
  • 7
    Crafting Interpreters

    Crafting Interpreters

    Repository for the book "Crafting Interpreters"

    This repository is the companion to the book Crafting Interpreters. It contains the full source code for two interpreters (one in C and one in Java), the Markdown source of the book, the tooling to weave prose and code into a website, and build scripts to generate the executable interpreters. The book aims to teach from the ground up how to build a full-featured scripting language (called Lox) with parsing, AST, compiler / VM, garbage collection, classes, and more. Static site generator tooling to compose book + code into HTML. Markdown source of book chapters and text prose. Full interpreter implementation in C (clox).
    Downloads: 11 This Week
    Last Update:
    See Project
  • 8
    Zen C

    Zen C

    Write like a high-level language, run like C

    Zen C is a minimal yet expressive implementation of the C programming language that aims to balance simplicity with practical capability, making it ideal for educational use, language experimentation, and small-scale systems programming. It provides a clean syntax and semantics that closely mirror classic C while enforcing stricter rules to eliminate common pitfalls like undefined behaviors or hidden conversions that often cause bugs. Zen-C includes a lightweight compiler front-end and runtime that can target multiple platforms, enabling users to compile and run code on both desktop and embedded environments without heavy tooling. Because it prioritizes clarity and predictability, the language makes it easier for learners to understand core systems concepts while still accessing low-level memory control and performance.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 9
    MetaCall Core

    MetaCall Core

    The ultimate polyglot programming experience

    A polyglot runtime that enables seamless execution of multiple programming languages within the same environment, improving interoperability between different codebases.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 99.99% Uptime for MySQL and PostgreSQL Databases Icon
    99.99% Uptime for MySQL and PostgreSQL Databases

    Sub-second maintenance. 2x read/write performance. Built-in vector search for AI apps.

    Cloud SQL Enterprise Plus delivers near-zero downtime with 35 days of point-in-time recovery. Supports MySQL, PostgreSQL, and SQL Server.
    Start Free
  • 10
    SmallBASIC

    SmallBASIC

    SmallBASIC is a fast and easy to learn BASIC language interpreter

    SmallBASIC is a lightweight and powerful BASIC interpreter designed for simplicity and speed, suitable for hobbyists, educators, and retro computing enthusiasts. It offers a traditional text-based programming experience reminiscent of early microcomputers, while including modern features such as structured programming, graphics, and file I/O. SmallBASIC runs on multiple platforms, including Windows, Linux, Android, and DOS, making it accessible across a wide range of systems.
    Downloads: 9 This Week
    Last Update:
    See Project
  • 11
    Vercel Zero

    Vercel Zero

    The programming language for agents

    Zero is an experimental programming language from Vercel Labs designed with AI agents as first-class users. The project explores what a language, tooling system, and standard library might look like if agents need to read, debug, repair, and ship code reliably. It focuses on a small and regular language surface, structured diagnostics, predictable tooling, and machine-readable outputs. Zero is still pre-1 and intentionally unstable, so its syntax and APIs are meant for exploration rather than production use. The project includes commands for checking, running, building, graph inspection, size reporting, diagnostics, and repair-oriented workflows. Its main goal is to create a systems-oriented language environment that agents can understand and act on without relying only on human-readable compiler messages.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 12
    ZIG

    ZIG

    General-purpose programming language and toolchain

    A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 13
    mruby

    mruby

    Lightweight Ruby

    mruby is a lightweight implementation of the Ruby programming language designed for embedding and integration into applications, particularly in resource-constrained environments such as embedded systems or game engines. It maintains compatibility with modern Ruby syntax while offering a significantly reduced footprint compared to the standard Ruby interpreter. The system includes its own virtual machine, bytecode compiler, and interactive shell, enabling developers to write, compile, and execute Ruby code efficiently. One of its core strengths is its embeddability, allowing developers to integrate scripting capabilities directly into applications written in C or C++. mruby also includes a package system called mrbgems, which enables modular extension of functionality through additional libraries. It supports compiling Ruby scripts into bytecode or even C source code, providing flexibility for deployment in different environments.
    Downloads: 7 This Week
    Last Update:
    See Project
  • 14

    Seed7

    Interpreter and compiler for the Seed7 programming language.

    Interpreter, compiler, libraries, documentation and examples for the Seed7 programming language. Seed7 is a general purpose programming language. It is a higher level language compared to Ada, C/C++ and Java. In Seed7 new statements and operators can be declared easily. Functions with type results and type parameters are more elegant than a template or generics concept. Object orientation is used where it brings advantages and not in places where other solutions are more obvious. Seed7 spares no effort to support portable programming. Several driver libraries assure that the access to operating system resources such as files, directories, network, clock, keyboard, console and graphics are done in a portable way. Although Seed7 contains several concepts from other programming languages, it is generally not considered a direct descendant of any other programming language.
    Leader badge
    Downloads: 23 This Week
    Last Update:
    See Project
  • 15
    Gravity language

    Gravity language

    Gravity Programming Language

    Gravity is a powerful, dynamically typed, lightweight, embeddable programming language written in C without any external dependencies (except for stdlib). It is a class-based concurrent scripting language with modern Swift-like syntax. Gravity supports procedural programming, object-oriented programming, functional programming, and data-driven programming. Thanks to special built-in methods, it can also be used as a prototype-based programming language. Gravity has been developed from scratch for the Creo project in order to offer an easy way to write portable code for the iOS and Android platforms. It is written in portable C code that can be compiled on any platform using a C99 compiler. The VM code is about 4K lines long, the multipass compiler code is about 7K lines and the shared code is about 3K lines long. The compiler and virtual machine combined add less than 200KB to the executable on a 64-bit system.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    X11-Basic

    X11-Basic

    A BASIC interpreter and compiler with graphics.

    X11-Basic is a dialect of the BASIC programming language with graphics capability that integrates features like shell scripting, cgi-Programming and full graphical visualisation into the easy to learn basic language on modern computers.
    Leader badge
    Downloads: 19 This Week
    Last Update:
    See Project
  • 17
    Inform

    Inform

    The core software distribution for the Inform 7 programming language

    Inform is the core distribution of a powerful programming language and design system created for writing interactive fiction, where authors describe stories as text adventure games that players explore through typed commands. The language is distinctive for its natural-language-inspired syntax that reads almost like English, allowing storytellers to define rooms, objects, characters, and narrative logic in an intuitive way that emphasizes expressive clarity and literary structure. When you write in Inform, the source code is compiled into playable story files that run on interactive fiction virtual machines such as Z-machine or Glulx, enabling classic text-based gameplay with modern tooling. Inform handles the underlying complexities of text parsing, world modeling, state management, and player input, so authors can focus on narrative design rather than low-level engine details.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    RaptorJIT

    RaptorJIT

    A dynamic language for system programming (LuaJIT fork)

    RaptorJIT is a Lua implementation suitable for high-performance low-level system programming. If you want to use a simple dynamic language to write a network stack; a hypervisor; a unikernel; a database; etc, then you have come to the right place.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Ring Programming Language

    Ring Programming Language

    Simple and flexible programming language for applications development

    Simple and flexible programming language for applications development. 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.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    Wuffs

    Wuffs

    Wrangling Untrusted File Formats Safely

    Wuffs is a memory-safe, zero-dependency library and domain-specific language for writing high-performance image codecs and related parsers. Instead of trusting ad-hoc C, Wuffs code is compiled to C with strong bounds, integer, and state checks inserted by construction, aiming to eliminate whole classes of security bugs without a heavy runtime. The design prioritizes predictable performance: decoders avoid dynamic allocation by default, return explicit “short read” signals, and run well in streaming or sandbox-free environments. The project ships battle-tested, CPU-friendly implementations for common image/container formats and bit-twiddly primitives like Huffman and checksum routines. Its standard library emphasizes portability and constant-time behavior where appropriate, which is valuable in security-sensitive contexts. Because the language is purpose-built, the resulting C output is small, auditable, and easy to embed in larger systems.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    newRPL

    newRPL

    The classic RPL programming language reimplemented and reimagined.

    This project reimplements from scratch the RPL language made popular by HP programmable calculators, in portable C/C++. The main goal is to release a complete computing environment for various targets. There's currently 4 active targets: the HP 50g, HP39gs and HP40gs calculators and a PC simulator (see the downloads section!). Other ports are planned for the future.
    Downloads: 11 This Week
    Last Update:
    See Project
  • 22
    Chapel

    Chapel

    a Productive Parallel Programming Language

    Chapel is an emerging parallel programming language whose design and development are being led by HPE in collaboration with academia, computing labs, and industry. Chapel's goal is to improve the productivity of parallel programmers, from laptops to supercomputers. **Please note that Chapel development has moved to GitHub**
    Downloads: 7 This Week
    Last Update:
    See Project
  • 23
    Emojicode

    Emojicode

    World’s only programming language that’s bursting with emojis

    Emojicode is an open-source, full-blown programming language consisting of emojis. As a multi-paradigm language, Emojicode features object orientation, optionals, generics, closures, and protocols. Emojicode compiles native machine code using lots of optimizations that make your code fast. Emojicode comes with a comprehensive set of default packages. And you can easily write your own. We believe that Emojis have expressive force. Let’s use that to make programming more fun and accessible. Emojicode is a straightforward language to learn, whatever background you have. Our documentation is known to be excellent and stuffed with walk-through guides and examples. Before you install Emojicode make sure you have a C++ compiler and linker installed. clang++ or g++ are fine, for instance. The Emojicode compiler can only link binaries if such a compiler is available.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Ravi Programming Language

    Ravi Programming Language

    Ravi is a dialect of Lua, featuring limited optional static typing

    Ravi Programming Language is a derivative of Lua 5.3 with limited optional static typing and MIR-based JIT compiler. Ravi is a derivative/dialect of Lua with limited optional static typing and JIT/AOT compilers. The name Ravi comes from the Sanskrit word for the Sun. Lua is perfect as a small embeddable dynamic language so why a derivative? Ravi extends Lua with static typing for greater performance under JIT compilation. However, static typing is optional and therefore Lua 5.3 programs are also valid Ravi programs. There are other attempts to add static typing to Lua (e.g. Typed Lua but these efforts are mostly about adding static type checks in the language while leaving the VM unmodified. So the static typing is to aid programming in the large - the code is eventually translated to standard Lua and executed in the unmodified Lua VM.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    Euphoria Programming Language
    This project will allow a group of people to develop the Euphoria programming language: interpreter, translator, binder, documentation etc. For more information visit https://openeuphoria.org
    Leader badge
    Downloads: 12 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next