September 26th, 2024

Cello: High Level C

Cello is a high-level programming library for C, offering features like generic data structures and polymorphic functions. It's intended for experimentation, inviting user feedback and contributions for development.

Read original articleLink Icon
Cello: High Level C

Cello is a high-level programming library designed to enhance the capabilities of the C programming language. It introduces features such as generic data structures, polymorphic functions, interfaces, constructors, destructors, optional garbage collection, exceptions, and reflection, making programming in C more efficient and manageable. Cello allows for the creation of stack and heap objects, supports iteration over collections, and integrates seamlessly with standard C, ensuring high performance and access to extensive libraries. The library is intended for experimentation and learning, although it may not yet be suitable for production use due to its experimental nature and potential pitfalls. Users are encouraged to explore Cello for hobby projects and contribute to its development. The creator, Daniel Holden, invites feedback and collaboration from the community.

- Cello enhances C with high-level programming features.

- It supports generic data structures and polymorphic functions.

- The library is suitable for experimentation but may not be production-ready.

- Users can contribute to Cello's development and provide feedback.

- Cello integrates well with standard C, maintaining performance and library access.

Link Icon 4 comments
By @stunpix - 19 days
Steadily appears on HN every two years: https://news.ycombinator.com/from?site=libcello.org
By @eternityforest - 20 days
It looks a lot more fun to use than C, but it seems like any application that couldn't use C++ or Rust due to some project policy or something, probably could't use this either, and I'd generally take C++ over C any time if available.

Maybe I'd try it on a platform that had no C++ support?

By @az09mugen - 19 days
By @gkhartman - 20 days
I've been eyeing this project for quite a while now, but as mentioned in its FAQs, I usually get scared off by the idea of pulling in a large dependency.

If anyone's made the leap to use it in a project, I'd love to hear about your experience.