Thank you for your donations!   Download the book!   Public source code repository   Join the group!

Spelling backwards

Last week I decided to ditch D, and revert back to C language. I didn't made that decision because of some missing feature(s), or any other "real" reason. I didn't like the language; it was trying too hard to please everyone, by having everything.

OOP? Absolutely! Procedural programming? Sure. Functional programming? Knock yourself out. Kitchen sink? You betcha'. In the end, D proved to be exactly what it said on the tin; a bigger, and better, C++. And about as usable as Swiss army knife; may save your bottom in dire need, but wouldn't want to use it everyday if anything remotely better is available.

And so, I had given up on fast-as-C, better-than-C languages, which are also popular and production-ready. Only two would qualify anyway (Rust and D), and I managed to ditch both of them, for various reasons. To be fair, Rust is almost there, it's possible to use it, if one can put up with its idiosyncrasies; I'm not compelled as much.

So, here I am, left with just C. I like C, and contrary to what some might say, it's almost perfect. What you put in is what you get out; as simple as that. Closest in that regard is Haskell, which has only one serious drawback; it's quite slow in comparison.

The thing is, while I have fond memories of using C previously, it's still as unforgiving as it ever was. And, since quite some time has passed since I used it, I have to re-learn some things. So, actually using it now is not as smooth ride as I'd like. And, standard library is still as basic as it was in the 1990s, industry as a whole didn't move all that much.

For instance, I'd like to have non-blocking <stdio.h> companion functions. And, where is my fflush(stdin)? Also, lets not even start on some advanced topics, like standardized thread support, implemented in compilers I can actually use.

Still, it'll have to do.

No comments:

Post a Comment