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.

  • Your top-rated shield against malware and online scams | Avast Free Antivirus Icon
    Your top-rated shield against malware and online scams | Avast Free Antivirus

    Browse and email in peace, supported by clever AI

    Our antivirus software scans for security and performance issues and helps you to fix them instantly. It also protects you in real time by analyzing unknown files before they reach your desktop PC or laptop — all for free.
    Free Download
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 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: 446 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: 25 This Week
    Last Update:
    See Project
  • 3
    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: 23 This Week
    Last Update:
    See Project
  • 4
    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: 18 This Week
    Last Update:
    See Project
  • Gen AI apps are built with MongoDB Atlas Icon
    Gen AI apps are built with MongoDB Atlas

    Build gen AI apps with an all-in-one modern database: MongoDB Atlas

    MongoDB Atlas provides built-in vector search and a flexible document model so developers can build, scale, and run gen AI apps without stitching together multiple databases. From LLM integration to semantic search, Atlas simplifies your AI architecture—and it’s free to get started.
    Start Free
  • 5
    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: 14 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 suited to be used in scientific, mathematical, scripting, networking, and many other applications. Binaries are available for Solaris, Windows, Linux, OS/2, Mac OS X, Raspberry Pi and DOS.
    Leader badge
    Downloads: 187 This Week
    Last Update:
    See Project
  • 7
    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: 12 This Week
    Last Update:
    See Project
  • 8
    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
  • 9
    ZIG

    ZIG

    General-purpose programming language and toolchain

    A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
    Downloads: 9 This Week
    Last Update:
    See Project
  • Picsart Enterprise Background Removal API for Stunning eCommerce Visuals Icon
    Picsart Enterprise Background Removal API for Stunning eCommerce Visuals

    Instantly remove the background from your images in just one click.

    With our Remove Background API tool, you can access the transformative capabilities of automation , which will allow you to turn any photo asset into compelling product imagery. With elevated visuals quality on your digital platforms, you can captivate your audience, and therefore achieve higher engagement and sales.
    Learn More
  • 10
    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: 8 This Week
    Last Update:
    See Project
  • 11
    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
  • 12

    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: 27 This Week
    Last Update:
    See Project
  • 13
    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: 4 This Week
    Last Update:
    See Project
  • 14
    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: 22 This Week
    Last Update:
    See Project
  • 15
    Wren

    Wren

    Wren is a small, fast, class-based concurrent scripting language

    Think Smalltalk in a Lua-sized package with a dash of Erlang and wrapped up in a familiar, modern syntax. The VM implementation is under 4,000 semicolons. You can skim the whole thing in an afternoon. It's small, but not dense. It is readable and lovingly commented. A fast single-pass compiler to tight bytecode and a compact object representation help Wren compete with other dynamic languages. There are lots of scripting languages out there, but many have unusual or non-existent object models. Wren places classes front and center. Lightweight fibers are core to the execution model and let you organize your program into an army of communicating coroutines. Wren is intended for embedding in applications. It has no dependencies, a small standard library, and an easy-to-use C API. It compiles cleanly as C99, C++98 or anything later.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 16
    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: 9 This Week
    Last Update:
    See Project
  • 17
    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: 1 This Week
    Last Update:
    See Project
  • 18
    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: 6 This Week
    Last Update:
    See Project
  • 19

    aime

    A C-like, high level programming language and interpreter.

    aime is a programming language intended for application extension purposes. It is simple, with a C like syntax and automatic resource management. The interpreter interface has many options for connecting the interpreted programs to the embedding application state. It allows application supervision with regard to such concerns as execution length, memory allocation, error reporting. A standalone interpreter together with many demo/test programs is included.
    Downloads: 17 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: 9 This Week
    Last Update:
    See Project
  • 21
    Ficl is a lightweight, embeddable scripting language designed to be incorporated into other programs, including memory constrained embedded systems. Ficl conforms to the 1994 ANSI Standard for Forth, and provides several useful extensions including object oriented programming that can wrap compiled code and hardware interfaces. 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. Ficl includes a simple but capable object model that can wrap existing data structures. Applications include scripting, hardware bring-up, rapid prototyping, and system extensions.
    Leader badge
    Downloads: 13 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
    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: 2 This Week
    Last Update:
    See Project
  • 24
    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: 3 This Week
    Last Update:
    See Project
  • 25
    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: 2 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • Next
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.