C programming-language

Open-source C projects categorized as programming-language

Top 23 C programming-language Projects

  • Lua

    Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

    Project mention: LuaJIT Remake: An ongoing attempt to re-engineer LuaJIT from scratch | news.ycombinator.com | 2022-11-26

    Lua naturally avoids hashing strings as much as possible. Short strings always have their hash precomputed and local variables are internalized. The default method for implementing variable scopes in dynamic languages just uses a lot of hash tables, but Lua cleverly avoids this:

    https://github.com/lua/lua/blob/master/lobject.h#L549

    https://github.com/lua/lua/blob/master/lstring.c#L185

  • ponyc

    :horse: Pony is an open-source, actor-model, capabilities-secure, high performance programming language

    Project mention: Safely writing code that isn't thread-safe: An under-appreciated Rust feature | news.ycombinator.com | 2022-11-22

    Are you sure that the project is dead? I see movement in the main repository and the last release dates to 9 days ago: https://github.com/ponylang/ponyc/releases/tag/0.52.1

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • gravity

    Gravity Programming Language

  • wuffs

    Wrangling Untrusted File Formats Safely

    Project mention: Mangle, a programming language for deductive database programming | news.ycombinator.com | 2022-11-26
  • emojicode

    😀😜🔂 World’s only programming language that’s bursting with emojis

    Project mention: >escape | reddit.com/r/surrealmemes | 2022-09-16

    not quite brainfuck, but there's emojicode

  • checkedc

    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. This repo has a wiki for Checked C, sample code, the specification, and test code.

    Project mention: Is it possible to have a superset of the C programming languages standard that is as safe as Rust? | reddit.com/r/ProgrammingLanguages | 2022-11-04
  • CreepyCodeCollection

    A Nonsense Collection of Disgusting Codes

    Project mention: Creepy Code Collection: A Nonsense Collection of Disgusting Codes | news.ycombinator.com | 2022-10-06
  • Zigi

    Delete the most useless function ever: context switching.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

  • pocketlang

    A lightweight, fast embeddable scripting language.

  • ngs

    Next Generation Shell (NGS)

    Project mention: Building a simple shell in C – Part 3 | news.ycombinator.com | 2022-11-13
  • core

    MetaCall: The ultimate polyglot programming experience. (by metacall)

    Project mention: Closer look at Metacall | dev.to | 2022-10-19

    MetaCall is an extensible, embeddable and interoperable cross-platform polyglot runtime. It supports NodeJS, Vanilla JavaScript, TypeScript, Python, Ruby, C#, Java, WASM, Go, C, C++, Rust, D, Cobol.

  • ring

    Simple and flexible programming language for applications development (by ring-lang)

    Project mention: Fifteen different implementation for the random user application using the Ring programming language (Console, GUI, Qt3D, RayLib, Web, Templates, MVC, etc.) | reddit.com/r/programming | 2022-09-30
  • ravi

    Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers

  • umka-lang

    Umka: a statically typed embeddable scripting language

    Project mention: Umka: A statically typed embeddable scripting language | news.ycombinator.com | 2022-06-12

    Yaegi needs to be embedded in another golang program. It’s a golang module to evaluate golang. Which is cool, but different from what Umka seems to be.

    Umka is a scripting language with syntax inspired by golang. A language with its own vm that you can embed anywhere, exsmple: https://github.com/vtereshkov/umka-lang/blob/master/examples....

    Yaegi and Umka are two different things.

  • felix

    The Felix Programming Language (by felix-lang)

    Project mention: Not well known programming languages with interesting features? | reddit.com/r/ProgrammingLanguages | 2022-06-20

    [felix] https://github.com/felix-lang/felix Statically typed scripting language with coroutines, functional and procedural programming, polymorphism, explicit kinding, compact linear types, row polymorphism, type classes, C/C++ or better performance.

  • metalang99

    Full-blown preprocessor metaprogramming

    Project mention: Boost:Unordered_flat_map | news.ycombinator.com | 2022-11-19

    Honestly I have to disagree. There is nothing particularly special about what Super Template Tetris(STT) is doing.

    At its core, template metaprogramming is just functional programming at compile time. STT is just a template and a runtime function which do the following:

    1, take an input via compile time flag (the `-D DIRECTION`)

    2. take a type input from an included header file containing the current state (`#include "current_game.h"`)

    3. via functional programming, compute the results of a single step of the game.

    4. specialise a single function using the results of step 3. this function prints the computed result to the screen and the computed game state to a file (`./current_game.h`).

    5. gcc/clang exits. compilation is complete.

    6. call the compiled binary.

    7. the binary runs the specialised function and prints the outputs.

    Sure it's fucky and you shouldn't do that in production but what sane individual is writing a piece of code that at runtime (after compiling) seeks out one of its own source files and modifies that file?

    To prevent this from being possible you'd have to remove runtime file IO from the language. The other potential solutions wouldn't work:

    1. Remove templates entirely: Still would be possible using https://github.com/Hirrolot/metalang99 which solely uses the preprocessor. Given that the pre-processor is literally just term substitution(a glorified copy/paste engine), if you removed that as well, you'd have to accept no form of metaprogramming at all.

    2. Remove the ability to #include other files: Could still be done by doing everything inline. `#include` is just copy-paste anyways so it's more an abstraction than anything else to the compiler and preprocessor, it's basically the same as if all the code was pasted into the same file.

    That leaves you with removing file IO. Without IO a programming language is basically useless, particularly as a systems programming language.

  • wax

    A tiny programming language that transpiles to C, C++, Java, TypeScript, Python, C#, Swift, Lua and WebAssembly 🚀

    Project mention: Wax Compiler | news.ycombinator.com | 2022-11-16
  • tcl

    The Tcl Core. (Mirror of core.tcl-lang.org) (by tcltk)

    Project mention: Ask HN: What's the best source code you've read? | news.ycombinator.com | 2022-09-10

    I've never seen C code as clear and well documented as tcl. E.g. https://github.com/tcltk/tcl/blob/main/generic/tclUtil.c, though more examples in that project are not hard to find.

  • cone

    Cone Programming Language

    Project mention: An Accessible Introduction to Type Theory and Implementing a Type Checker | reddit.com/r/ProgrammingLanguages | 2022-02-14

    Hm sounds interesting ... but I couldn't find the type checker here? https://github.com/jondgoodwin/cone/tree/master/src/c-compiler

  • Gwion

    :musical_note: strongly-timed musical programming language

    Project mention: If musicians named programming languages, what would we be working in? | reddit.com/r/ProgrammerHumor | 2022-11-11

    named mine Gwion https://github.com/Gwion/gwion

  • my_basic

    A lightweight BASIC interpreter written in standard C in dual files. Aims to be embeddable, extendable and portable.

    Project mention: Game Cartridge for Arduino game console | reddit.com/r/arduino | 2022-07-07
  • never

    Never: statically typed, embeddable functional programming language.

  • chaos

    The Chaos Programming Language (by chaos-lang)

    Project mention: Chaos: Strongly typed, dynamic, compilable, zero cyclomatic complexity language | news.ycombinator.com | 2021-12-18
  • qi

    Lightweight and fast programming language designed to be written in Chinese.

    Project mention: I made a programming language designed to be written in Chinese. | reddit.com/r/programming | 2022-02-14
  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-11-26.

C programming-language related posts

Index

What are some of the best open-source programming-language projects in C? This list will help you:

Project Stars
1 Lua 6,297
2 ponyc 5,153
3 gravity 4,055
4 wuffs 3,236
5 emojicode 2,964
6 checkedc 2,767
7 CreepyCodeCollection 2,263
8 pocketlang 1,392
9 ngs 1,171
10 core 1,117
11 ring 1,008
12 ravi 979
13 umka-lang 709
14 felix 708
15 metalang99 585
16 wax 576
17 tcl 493
18 cone 455
19 Gwion 455
20 my_basic 404
21 never 320
22 chaos 266
23 qi 231
Build time-series-based applications quickly and at scale.
InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.
www.influxdata.com