For me specifically I started learning C because NodeJs / TypeScript / Python are too high level, and you lose the lower level details while you're learning.
I am "bored" of high level code.
I've been coding full-time for around 2 years, so still feel like I have much to learn, and bored of using other peoples solutions and taking everything for granted.
Coding in C (except strings) feels pretty good, because I can't just reach for a library and download someone elses solution - I build alot from scratch and its rewarding when the thing works.
I feel like I'm learning loads by doing C, as opposed to NodeJs.
Currently making a low-level graphics project that raycasts to form a 2.5D world. Pretty fun, all from scratch
Learning is a perfectly valid use case and I admire people who are passionate enough to dig deep.
> I am "bored" of high level code
But personally I am very "boring" an truly lazy developer, my only goal is to make shit done asap with good quality. And hi level tools (when you know their limitations and nuances) help you avoid a lot of bugs while delivering great quality for majority of real world application.
I've seen even ruby services handling crazy amount of traffic successfully. Even if it's more expensive cpu/ram wise - there are other tradeoffs that can make it worthwile.
Thats completely fair enough to be a "lazy developer" - I am too especially at work :) but in my spare time, for me, I just want to know how the sausage is made!
Like, how do JavaScript arrays work under the hood? Etc etc
Why should I waste time reinventing the wheel and prefer C to nodejs or something like java in the worst case?
Genuine question.