C is falling behind C++.

Amit amitchoudhary0523@gmail.com
Sat Mar 29 11:35:16 GMT 2025


Hi,

It looks like that now C++ has become more popular than C (
https://www.tiobe.com/tiobe-index/).

I am also seeing more jobs in C++ than in C.

I think that this is mainly because of C++ STL (Standard Template Library).

Also, the standard C library is not rich in features. There are many
features/functions/data structures, etc. that people want but in the end
they end up writing their own versions because the standard C library
doesn't have them.

I am not asking anyone to implement these features, many features are
already available (on the web) and they just have to be incorporated in the
C library (obviously, some changes regarding coding style, function naming,
etc. will be required).

I myself can implement many of these features.

So, now, every team in this world that uses C probably implement the same
features. Linux kernel has its own doubly linked list. GNOME has its own
GLib. So, everyone is doing the same thing and all this effort can be saved
if the standard C library has all these features and then probably millions
of work-hours can be saved.

In my opinion, if C's popularity has to be increased then more features
should be provided in the standard C library.

Or, may be implement additional libraries and distribute them with libc
itself.

However, I think that the standard C library is controlled by ISO. But
then, they should be informed about the shortcomings of the standard C
library. Probably, the libc maintainers are the best people to connect with
them and convince them. In my opinion, the ISO folks shouldn't block all
these features from the standard C library because these features will
benefit lots of C developers and will increase C's usage and popularity and
make software development easy in C.

According to me, the missing features in C library are:

* Many more string functions like: is_str_a_number(), is_str_empty(),
str_join(), str_split(), etc.

* All data structures implementation: linked list, doubly linked list, hash
table, binary tree, balanced binary tree, B-trees, B+ trees, dynamic array,
bits library, stack, queue, priority queues, etc.

* Some more algorithms: mergesort, filesort, heapsort, etc.

Again, there are developers who can write code for all these features, the
main problem is to get them included in the standard C library.

In my opinion, without new features in the standard C library, It is quite
possible that after a few years, C language will get restricted to
operating systems development only and all other development (user space
networking programs, protocols development, application development, etc.)
will move to C++.

Regards,
Amit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/libc-alpha/attachments/20250329/80c9daa0/attachment.htm>


More information about the Libc-alpha mailing list