Hacker News new | ask | show | jobs
by orangeduck 4186 days ago
Author here. I always get asked two questions about libCello.

1. Why? 2. Is anyone using it for anything serious?

The second one is easiest to answer: no. And most people are suprised to hear that I probably wouldn't use it for anything serious either.

If you hadn't noticed from my github page I love C, and while I am also very interested in the things Cello adds such as duck typing and interfaces, and all the syntactic sugar that makes thing really nice and literate; it doesn't interest me enough to choose it over C. Additionally who is going to want to use my project if it uses this weird hacky C library! People are (for good reason) very suspect of dependancies.

That isn't to say I don't like programming in Cello. I'm almost definitely the person who has written the most in it and some things are just a joy to write in it, and look so clear and functional and algorithmic. At some point in the distant future when I find the time I really will attempt something serious such as a web framework. If that takes off we seriously can decide if it really is a good project (hur hur hur).

To be fair, "why" can also be pretty easy to answer depending on who is asking: because I could. Because I thought it was kinda cool and that people would be interested. There seems to be some default position in programming that unless your project is silly or sarcastic people assume you are "advocating" something by doing it, or making some kind of political statement on software development. I didn't work on this project to try and change the world. Nor to create something better than the alternatives. It doesn't change my life if people use Cello or not. I wasn't frustrated with C++, and I wasn't looking for a cylindrical rolly thing for my cart. I just made it for fun.

4 comments

It looks really good and you should be proud of your work.
Well coming from an industry c programmer (embedded, networking, high throughput stuff, where c is the only choice), i am really thinking this could be of a great use. Specially for large products developed and maintained for many years and have big teams, this could be priceless if actually ported / extended. I would probably look at this and try to contribute when i can. Thank you so much, great work
> it doesn't interest me enough to choose it over C.

Why? If it's as fast as C but has the benefit of sugar, why not use it?

> People are (for good reason) very suspect of dependancies.

Not web developers. :D Although we should be.

> And most people are suprised to hear that I probably wouldn't use it for anything serious either.

Again, why not? C performance but easier to read code sounds like a good reason to use it for something serious. What are the downsides?

It is not as fast as normally written C due to the dynamic typing.
that's not necessary for the API, is it?
The API allows 'var's to be treated as dynamically typed, so sure it is. More to the point, if you tried to change it to be statically typed, it wouldn't be expressible in the same nice-looking way in C.
I've seen similar retorts to explorations of functional or unconventional concepts in C, mainly because the usual approaches work well enough.