Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I just want C with classes, like C++ started out as.

    What I'd really like is a standards-conformant (C++98/03) compiler that actually enforces the standard properly (or maybe it becomes a new standard), and ONLY allows that version to be used, AND only the classes.

    No templates, no exceptions, no standard library (just use a plain libc).

  • As far as I know many C programmers think the addition of variable length arrays in C99 was a mistake. What would be the downside of this approach?
  • Related. Others?

    I write type-safe generic data structures in C - https://news.ycombinator.com/item?id=44425461 - June 2025 (182 comments)

    Type-safe generic data structures in C - https://news.ycombinator.com/item?id=26735655 - April 2021 (52 comments)

    by dang
  • Is it feasible to create a new language by adding features to C

    just as was done with C++?

  • That `(1 ? (item) : (list)->payload)` was a neat trick. It gets optimized away, but the type comparison happens before that.

    Still feels a bit like a party trick, but if it works...

  • Also see Templates in C by David Priver - https://www.davidpriver.com/ctemplates.html

    He also has other interesting C techniques, namely;

    Adding reflection to C - https://news.ycombinator.com/item?id=49964525

    _Generic for Type Reification in C - https://www.davidpriver.com/creification.html

    See also his C2y interpreter with REPL named "DrC" for the upcoming C29 standard (https://en.wikipedia.org/wiki/C29_(C_standard_revision)) - https://github.com/drpriver/drc

    PS: I really like his style of writing and presentation; concise and precise without unnecessary fluff and page beautifying.

  • I don't understand people reinventing macro-based hacks in C to achieve what was achieved in other languages many years ago. Why not using C++, for example? It's available almost everywhere, introducing its usage in an existing C codebase is pretty simple. Sure, C++ has its own downsides, but is it better to create mess with macros in C rather then using exiting language facilities and standard library containers provided by C++?
  • I wrote a summarizing article on type safe container types a while back, but with some C23 specific changes and a few tweaks to work better for complex types.

    https://louissven.xyz/article/how_I_do_container_types_in_C....

    Feel free to flag/delete if this isn't the place.

Explore Birbla archives