The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more β
Top 23 C Language Projects
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
PikaPython
An ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies. It is ready to use out of the box without any configuration required and easy to extend with C. Similar project: MicroPython, JerryScript.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
berry
A ultra-lightweight embedded scripting language optimized for microcontrollers. (by berry-lang)
-
lispe
An implementation of a full fledged Lisp interpreter with Data Structure, Pattern Programming and High level Functions with Lazy Evaluation Γ la Haskell.
-
One
One (onelang) is an open-source system programming language that makes it easy to build reliable, efficient and performant software. (release as soon) 1οΈβ£ π π©± (by One-Language)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Seems like a perfect use-case for Janet. (https://janet-lang.org/) A fast minimal VM like Lua, but even more extensible than Lua by being a "Lisp" with macro and C extension capabilities. Not a true Lisp, it's very pragmatic and performance-oriented. But it keeps the good stuff.
PikaPython β ultra-lightweight Python interpreter that runs with only 4KB of RAM, zero dependencies
This is interesting, but lua needs a refresh.
I think berrylang shows a lot of promise now https://berry-lang.github.io/. The documentation has improved a lot and while it doesn't have a 'luajit' yet it has a lot of really interesting optimisation/reduction techniques.
There are also other approaches. Macro variants making use of `__VA_ARGS__` would be probably the best trade-off. If you want a slightly more ergonomic syntax, something like Metalang99 [1] will help (and the author even wrote a post about this exact subject [2]). Codegen is another option which may work better than other options depending on the situation and exact implementation strategy. And there is always the Reflection TS [3], which may or may not be incorporated to C++26...
[1] https://github.com/Hirrolot/metalang99
[2] https://hirrolot.github.io/posts/pretty-printable-enumeratio...
[3] https://en.cppreference.com/w/cpp/experimental/reflect
Project mention: Nature: Programming language to experience the joy of programming | news.ycombinator.com | 2023-10-13The primary channel for communication right now is https://github.com/nature-lang/nature , where you can engage and keep up-to-date through issues, discussions, and watching the repository.
Additionally, this is my first time hearing about the Mastodon platform, it looks really cool.
Project mention: A C++ editor/prompt shell to embed your own programming language | news.ycombinator.com | 2024-01-26
Project mention: Building a faster hash table for high performance SQL joins | news.ycombinator.com | 2023-12-20Worth pointing out that this can depend a lot more on fiddly details than you might expect. In particular, you're dealing with a small fixed width allowing the hash to be stored in the table instead of the key. The article emphasizes variable-length keys, and I don't see any specialization on key sizes (if 4- and 8-byte keys aren't common then this makes sense; if they are then I'd expect dedicated table code for those sizes to be valuable). And set lookups are also just a bit different from value lookups. I think these cases are different enough that I have no idea if the results would carry over, although I can see how the bidirectional approach would reduce probing more than RH which seems good.
...and since I've done a lot of work with Robin Hood on small-key lookups, I can point out some little tweaks that have made a big difference for me. I have 8-byte lookups at just over 3ns/lookup[0], albeit at a very low load factor, typically <50%. A key step was to use the maximum possible hash as a sentinel value, handling it specially in case it shows up in the data. This way, instead of probing until finding an empty bucket or greater hash, probing just finds the first slot that's greater than or equal to the requested key's hash. So the lookup code[1] is very simple (the rest, not so much). The while loop is only needed on a hash collision, so at a low load factor a lookup is effectively branchless. However, these choices are specialized for a batched search where the number of insertions never has to be higher than the number of searches, and all the insertions can be done first. And focused on small-ish (under a million entries) tables.
[0] https://mlochbaum.github.io/bencharray/pages/search.html
[1] https://github.com/dzaima/CBQN/blob/5c7ab3f/src/singeli/src/...
Over the last couple months or so, I've totally lost my creative spark. I'd been working on a web game and a programming language for 3.5 years and 1 year, respectfully, but both of them reached a point where I don't know what to do next...
C Language related posts
- Scriptable Operating Systems with Lua [pdf]
- PikaPython: Cross platform ultra lightweight embedded Python engine
- Ask HN: A Lisp with Cargo/NPM like build system?
- Top Paying Programming Technologies 2024
- Singeli: High-level interface for low-level programming
- A C++ editor/prompt shell to embed your own programming language
- Bare minimum atw-style K interpreter for learning purposes
-
A note from our sponsor - WorkOS
workos.com | 25 Apr 2024
Index
What are some of the best open-source Language projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | gravity | 4,266 |
2 | janet | 3,296 |
3 | emojicode | 3,197 |
4 | pocketlang | 1,498 |
5 | PikaPython | 1,405 |
6 | c3c | 1,283 |
7 | ring | 1,232 |
8 | umka-lang | 967 |
9 | berry | 766 |
10 | metalang99 | 765 |
11 | nature | 734 |
12 | potion | 656 |
13 | tcl | 616 |
14 | Gwion | 517 |
15 | Melang | 413 |
16 | never | 402 |
17 | lispe | 365 |
18 | CBQN | 293 |
19 | One | 275 |
20 | Dictu | 268 |
21 | ape | 248 |
22 | poprc | 233 |
23 | Toy | 214 |
Sponsored