See also post on CivilEngineers.
Context: speaking to interviewers, colleagues, I like to say my native programming language is … C
C is the first language I studied in-depth on my own, in 1994. C was also the first professional programming language in my very first job. I’m proud of my association with C because :
- My dad is a specialist on 墨子. C is like 孔子. C never completely fell out of fashion for system programmers.
- C is the most important language to Unix system programming (kernel, sockets, standard library…). As of 2019, system programing knowledge is growing progressively more important to my job interviews.
- threading and data structure are among the top 5 most important and evergreen interview topics, both “born” in C.
- Most thread implementations are related to system libraries.
- all important data structures are low level and implemented in C more efficiently than other languages
- In terms of depth — I think C, c++, java, c# have the most depth. I am slowly building my grasp of this depth. I think the accumulation is good.
- In terms of of churn and accu — C is among the best. See  j^c++^c# churn/stability…
- In terms of it’s relation to other languages — C is the #1 most important, as Confucius is in Chinese culture. Java shows barely visible heritage from C. In contrast, C#, python, perl etc show a visible heritage from C. I feel most popular languages today inherits from C or are created in C.
- See also c++^java relevant ] 20Y@@
- Mark of Quoin seem to suggest that my low-level experience is less valuable than experience using c++ libraries, but I think most people would agree that the high-level experience is superficial, lower accumulation, high churn, and offers no insight.