Re:Beej's Guide to C Programming (2007)
by ZenoArrow on Friday September 08, 2017 @12:37PM
(#15201698)
> "C is special in that, as I said, it has been, and remains, a very important programming language in its ubiquity and sheer power."
In that case, you could say the same about Java, Python, C#, etc... If being a "true" programmer is just about getting the job done, any of those languages will suffice. C may be a useful tool for certain performance critical code, but that's a very small fraction of what's required in most day-to-day programming activities. I would say the following list describes the key qualities of good code (in the order described, from most to least important, for most cases):
Correctness, clarity, conciseness, performance.
As for pointers, you can describe them at a high-level but to understand why they're a low-cost abstraction it's helpful to understand how computers work. That's the type of knowledge that C can help expose you to.
It wasn't; it is perfectly possible and normal to use C as one would any other programming language, i.e. without knowing much about the computer architecture. Even the pointers, often seen as something low-level, aren't really: the rules of their behavior and use are very simple, and they are easy to describe at a high level.
C is special in that, as I said, it has been, and remains, a very important programming language in its ubiquity and sheer power.