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.

  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • Train ML Models With SQL You Already Know Icon
    Train ML Models With SQL You Already Know

    BigQuery automates data prep, analysis, and predictions with built-in AI assistance.

    Build and deploy ML models using familiar SQL. Automate data prep with built-in Gemini. Query 1 TB and store 10 GB free monthly.
    Try 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: 454 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: 19 This Week
    Last Update:
    See Project
  • 3
    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: 236 This Week
    Last Update:
    See Project
  • 4
    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: 7 This Week
    Last Update:
    See Project
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 5
    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: 7 This Week
    Last Update:
    See Project
  • 6
    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: 7 This Week
    Last Update:
    See Project
  • 7
    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: 46 This Week
    Last Update:
    See Project
  • 8
    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: 6 This Week
    Last Update:
    See Project
  • 9
    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: 5 This Week
    Last Update:
    See Project
  • Go From AI Idea to AI App Fast Icon
    Go From AI Idea to AI App Fast

    One platform to build, fine-tune, and deploy ML models. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • 10

    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: 17 This Week
    Last Update:
    See Project
  • 11
    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: 3 This Week
    Last Update:
    See Project
  • 12
    Idris 2

    Idris 2

    A purely functional programming language with first class types

    In type-driven development, types are tools for constructing programs. We treat the type as the plan for a program, and use the compiler and type checker as our assistant, guiding us to a complete program that satisfies the type. The more expressive the type is that we give up front, the more confidence we can have that the resulting program will be correct. In Idris, types are first-class constructs in the language. This means types can be passed as arguments to functions, and returned from functions just like any other value, such as numbers, strings, or lists. This is a small but powerful idea, enabling relationships to be expressed between values; for example, that two lists have the same length. Assumptions to be made explicit and checked by the compiler. For example, if you assume that a list is non-empty, Idris can ensure this assumption always holds before the program is run.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    ZIG

    ZIG

    General-purpose programming language and toolchain

    A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    Checked C

    Checked C

    Checked C is an extension to C that lets programmers write C code

    Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. Checked C adds static and dynamic checking to C to detect or prevent common programming errors such as buffer overruns and out-of-bounds memory accesses. The goal of the project is to improve systems programming by making fundamental improvements to C. This repo contains sample code, the extension specification, and test code. The Checked C project is extending the C programming language so that programmers can write more secure and reliable C programs. The project is developing an extension to C called Checked C that adds checking to C to detect or prevent common programming errors such as buffer overruns, out-of-bounds memory accesses, and incorrect type casts.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    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: 1 This Week
    Last Update:
    See Project
  • 16
    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: 1 This Week
    Last Update:
    See Project
  • 17
    FMOCPP

    FMOCPP

    Eclipse C/C++ MinGW MSYS2

    The project aims to simplify the combined use of Eclipse, MinGW, and MSYS2 by providing a more accessible solution for preparing the development environment, compiling source code, and running C/C++ applications. In this way, students can focus on learning the fundamentals of programming, computational logic, and software solution development, while reducing the initial technical difficulties related to system paths, compilers, terminals, and dependencies.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 18
    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: 5 This Week
    Last Update:
    See Project
  • 19
    Ring

    Ring

    Simple and flexible programming language for applications development

    The Ring is a practical general-purpose multi-paradigm language. The supported programming paradigms are imperative, procedural, object-oriented, declarative using nested structures, functional, meta programming and natural programming. The language is portable (MS-DOS, Windows, Linux, macOS, Android, WebAssembly, Microcontrollers, etc.) and can be used to create Console, GUI, Web, Games and Mobile applications. The language is designed to be simple, small and flexible. Ring is distributed as a Free-Open Source project under the MIT License.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 20
    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
    Downloads: 7 This Week
    Last Update:
    See Project
  • 21
    SNOBOL4, while known primarily as a string language excels at any task involving symbolic manipulations. It provides run time typing, garbage collection, user data types, on the fly compilation.
    Downloads: 10 This Week
    Last Update:
    See Project
  • 22
    yorick

    yorick

    scientific programming language and graphics

    Yorick is an interpreted programming language for scientific simulations or calculations, postprocessing or steering large simulation codes, interactive scientific graphics, and reading, writing, or translating large files of numbers.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 23
    Ficl - small systems scripting with OO
    Ficl is a lightweight, embeddable scripting language designed to be incorporated into other programs, and especially embedded systems that may have memory and OS constraints. Applications include scripting, hardware bring-up, rapid prototyping, and system extensions. Unlike Lua or Python, Ficl acts as a component of your system - you feed it stuff to do, it does the stuff, and comes back to you for more. You can export compiled code to Ficl, execute Ficl code from your compiled code, or interact. Your choice.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 24
    AQ

    AQ

    AQ is an interpreted programming language. It is fast, small, simple a

    AQ is a fast, small, simple and safe interpreted programming language. It may be a great work.
    Downloads: 0 This Week
    Last Update:
    See Project
  • 25
    BMDFM

    BMDFM

    Binary Modular DataFlow Machine (BMDFM)

    Binary Modular DataFlow Machine (BMDFM) is a software package that enables running an application in parallel on shared memory symmetric multiprocessing (SMP) computers using the multiple processors to speed up the execution of single applications. BMDFM automatically identifies and exploits parallelism due to the static and mainly dynamic scheduling of the dataflow instruction sequences derived from the formerly sequential program. The BMDFM dynamic scheduling subsystem performs a symmetric multiprocessing (SMP) emulation of a tagged-token dataflow machine to provide the transparent dataflow semantics for the applications. No directives for parallel execution are needed. More info: http://www.bmdfm.com
    Downloads: 0 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB