Hacker News new | ask | show | jobs
by jmspring 3467 days ago
There are many that have a weak understanding of the language.

I got asked some years back why I defaulted to C in some interview questions -- I grew up with the language, understand the nuances and many of the implementations.

It's now possible to make your way through a university education in CS without ever touching or understanding C. This is a problem.

4 comments

Just because you grew up with C and know many of the details doesn't make it necessary for others to know that much, especially when the job doesn't call upon it. I grew up with C as well, but I understand it is possible to make meaningful contributions without understanding C.
> It's now possible to make your way through a university education in CS without ever touching or understanding C. This is a problem.

I did not study CS, but I had a number of CS modules/classes. LaTeX was the only programming language I recall using. Students with better handwriting could probably get away with not doing any programming at all.

It's not clear to me that this is a problem, but I imagine that the systems requirement of most CS programs will involve C.

For what it's worth, I default to python in interviews even though it's my least favorite out of the languages that I use frequently.

> I default to python in interviews even though it's my least favorite out of the languages that I use frequently.

Why is that ? I would image that you'd use the language you are most comfortable with and trust the most during an interview ? What makes Python a good 'interview' language but a less good bread and butter language for you ?

I find that python requires the least boilerplate code out of the most common programming languages. I mostly dislike it on aesthetic grounds.

I really like the modern incarnations of C++ and statically typed ML-influenced, but not necessarily ML-derived, languages.

There are many criticisms that one could make about R, but I like some of its lispier features.

If he's listing LaTeX as a programming language and talking about how little programming he had, I suspect he's stuck with R or Matlab.
TeX is a "real" programming language.
It's a macro expander. Good luck debugging that.
If you're taking CS classes and boasting about how you don't know how to program, it is a problem.
In many more theoretical CS classes, programming is not a requirement.
There's a word for that. It's "math".
Computer Science and maths are heavily intertwined [1], just like physics and maths are.

[1]: http://math.stackexchange.com/q/649408

I don't think it /has/ to be C.

Having done even a semester of any type of assembly (not just part of a class) is probably enough. Other /low level/ languages like Forth (Imagine you /only/ had assembly, and wanted to build something a /little/ less painful) could probably work too.

>It's now possible to make your way through a university education in CS without ever touching or understanding C. This is a problem.

I suppose that this is the case. But really, to me this is article does not reveal anything beyond what I already knew from basic pointer arithmetic.