3 comments

[ 4.0 ms ] story [ 19.9 ms ] thread
I would look instead to for candidates that know many languages. C is really useful at understanding the underlying concepts (so is ASM for what its worth), but knowing Python or Perl is great too. Java would be a nice addition too as a" classical OOP" language. Then add a functional language of choice and you have a well-rounded dev.
I don't really get this C Standard infatuation all of a sudden ... do what works for you.

However, from the listing of languages used at their firm ... I would have thought that they'd be testing candidates more in C# and .NET since that's what they seem to mostly use ... and then also throw stuff in some of the other languages their way to see how the candidates cope ... but thats just me.

One case I can make for understanding C without using it is that many (most?) language implementations are written in C. CPython is written in C. PHP is written in C. JavaScript is written in C. Thus understanding what id(my_obj) does in CPython may be important. It allows you to reason about what is fast and what is slow.

But you are right. The original article talked about understanding pointers, not the language and how that got transformed into understanding the language and how that intimidates people. You don't need to know the C syntax to understand pointers. Some programmers probably don't understand them now, and are able to get the job done, but there is nothing inherently difficult about them.

OTOH, after I learned what pointers were (funny enough from Straustup's book on C++), I have seen some really confusing ways to explain them. Instead, just talk about registers and memory, no drawing random boxes and pointing to the box or the number in the box.