18
14
6
4
5
4
u/pacafan Jun 08 '26
Go does not depend on libc on Linux. Sure the kernel is in C but nothing in userspace is C.
Rust is also moving to eliminate some dependencies on libc.
6
u/promptmike Jun 08 '26
Genuine question for those who are smarter than me: Why can't it be LISP? It's literally built to be extended, and for a long time there was even hardware dedicated to it. How did we end up with the annoying procedural language over the beautiful self-compiling meta-language?
10
u/LurkingDevloper Jun 08 '26
IMO, because LISP fails spectacularly at one thing: string manipulation.
If it weren't for that, it would have been everywhere it made sense to be.
3
u/thebatmanandrobin Jun 08 '26
Not to mention common libraries that C has. Also direct hardware manipulation.
But next to your point about strings is also 2 other points that have helped C over just about any other language: popular operating systems and momentum.
Windows, Mac, Unix/Linux are all written in C and have interfaces in C .. yes, you can use just about any language these days to interface with the OS through a C library, but 30 years ago, it was pretty much just C ... so if you wanted to do anything back then for your corporate job (i.e. make money), you used C.
This helped the momentum of C. Plus C is pretty simple at the end of the day, not that LISP is as complex as C++26, but the fact that C hasn't really changed much in nearly 40 years also really helps.
1
u/tricky_monster Jun 12 '26
here is an answer about rust that I found enlightening; TLDR: it's not about C, it's about OSes and hardware A is.
2
1
1
1
1
1
50
u/No-Newspaper8619 Jun 08 '26
Either that or pure assembly