proposal-operator-overloading VS sokol-odin

Compare proposal-operator-overloading vs sokol-odin and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
proposal-operator-overloading sokol-odin
9 4
612 55
1.3% -
3.1 8.4
4 months ago 8 days ago
JavaScript C
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

proposal-operator-overloading

Posts with mentions or reviews of proposal-operator-overloading. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-01.

sokol-odin

Posts with mentions or reviews of sokol-odin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-01.
  • Odin Programming Language
    23 projects | news.ycombinator.com | 1 Jan 2024
    * etc

    There is also the second issue that C is technically TWO languages: the C programming language and the C preprocessor. People mix the two together and things cannot be easily translated. A good basic example of this is people using `#define` for constants, and thus that name has no semantic meaning in the language itself. A translator has to try and make some semantic meaning from the intersection of these two languages, even if people don't make a distinction when making APIs.

    And Odin's `foreign` system allows [1] for a lot of really nice things that most other languages cannot do so tersely. Here are two examples of demonstrating bindings of C libraries that feel as if they were native Odin libraries WITHOUT any wrappers:

    * https://github.com/floooh/sokol-odin/blob/main/sokol/gfx/gfx... (and the rest)

  • Nim v2.0 Released
    49 projects | news.ycombinator.com | 1 Aug 2023
    I maintain auto-generated bindings for my C libraries for Zig and Nim (and Odin and Rust - although the Rust bindings definitely need some love to make them a lot more idiomatic).

    I think looking at the examples (which is essentially the same code in different languages) gives you a high level idea, but they only scratch the surface when it comes to language features (things like the Zig code not using comptime features):

    Zig: https://github.com/floooh/sokol-zig/tree/master/src/examples

    Nim: https://github.com/floooh/sokol-nim/tree/master/examples

    Odin: https://github.com/floooh/sokol-odin/tree/main/examples

    Rust: https://github.com/floooh/sokol-rust/tree/main/examples

  • I think Zig is hard but worth it
    9 projects | news.ycombinator.com | 1 Jun 2023
    I'm actually dabbling with Odin a bit in the scope of language bindings for the sokol headers:

    https://github.com/floooh/sokol-odin

    It's a very enjoyable language!

  • I like the Odin programming language
    13 projects | news.ycombinator.com | 28 Aug 2022
    I recently wrote a bindings generator to Odin for my C libraries, and the FFI is very well thought out, down to defining things like linker dependencies in the code. For instance see here:

    https://github.com/floooh/sokol-odin/blob/main/sokol/gfx/gfx...

    The only minor downside (compared to Zig) is that Odin still requires a separate C/C++ toolchain to actually build the C dependencies. But I guess that's a typical 1st-world-problem ;)

    (but AFAIK Odins FFI system isn't in any way related or depending on LLVM).

What are some alternatives?

When comparing proposal-operator-overloading and sokol-odin you can also consider the following projects:

ohm - A library and language for building parsers, interpreters, compilers, etc.

linux - Linux kernel source tree

match-iz - A tiny pattern-matching library in the style of the TC39 proposal.

wayland - Core Wayland protocol and libraries (mirror)

quickjs - Public repository of the QuickJS Javascript Engine.

mvb-opencv - Minimum Viable Bindings to OpenCV for Nim

proposal-pattern-matching - Pattern matching syntax for ECMAScript

v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

proposal-deep-path-properties-for-re

RFCs - A repository for your Nim proposals.

FrameworkBenchmarks - Source for the TechEmpower Framework Benchmarks project

debug-trace-var - You do not have to write variable names twice in Debug.Trace