OK I have been deep into
#C programming for a while now.
For a few reaons:
1. * I love BSD and
#OpenBSD specifically, and would be thrilled to
contribute or even make a simple C program as a port.
Like super thrilled. I have been a pretty high level programmer with
big companies and that doesn't impress me much. Having a byline in
an OpenBSD CVS commit ... drool :P
2. JOBS and work! I think there might be some work out there for me
in C. And I don't think AI/LLM can do it's vibe code thing there.
3. FFI ! Even though I don't love C, what I do love is programming
in multiple idioms and/or systems at the same time. It calms my
squirrel brain. I can rapidly shift from idiom to idiom and that is
actually a positive thing in this kind of thing. Oh A FFI is "foreign funtion
interface". Like most high level languages let you drop into C code.
I did it first in common-lisp and it's friggin awesome. So part of me learning
C is just so I can do things in C in high level langs.
A typical example is using a C library where there are not already bindings.
Say you wanna use curl or sqlite in a lang that doesn't have bindings for those.
Or more fundamentally this is where those bindings come from.
* more of 1. Because of OpenBSD I see
that programming isn't just about the language. I don't love C the language.
But that is immaterial in the big picture. It's like being an english speaker and
saying I don't like the english language. It doesn't mean I'm gonna start
speaking a different language. Immaterial ... of course you use the language
of the system you are in. At least as a first principle.