Career You don’t know that programming language



Original image by cote

Or maybe you do? How about your favourite programming language? What does it take to say that one “knows” it?

michaelp asks:

When exactly do you “know” a language?

There’s a gradient of choices to pick from.

You know of the language — “I hear they call it Java.” You’ve memorized the “hello world” program — <?php echo ‘Hello World’; ?> You know something unique about the language — “Ruby has closures, but Java does not.” You have all of the documentation memorized — because looking things up is much too slow. And just to get to the other extreme, you wrote a compiler for the language… in itself. (That’s actually not rare, and is termed bootstrapping.)

So what does it take for a programming language to make it onto a resume? Apparently not much, if you are a student. “Know” is more like “know of”. Though perhaps that is fair enough. A lot of skills are transferable, and it’s quite easy to pick up on new languages with similar paradigms. I’ve done this myself before:

Even though I had no experience with PHP or Oracle, I was fairly familiar with Ruby and MySQL. My job offer relied on the claim that such web development is logistically similar, having substituted Ruby documentation for PHP.

Dan agrees.

I don’t think “knowing” a language is any where close to as important as knowing the concepts of computer science and software engineering. Once you have a good grasp of the basic and more advanced concepts, changing languages is trival and becomes easier with the more experience you have.

So perhaps it would be more honest to focus on what really matters — algorithms, design patterns, etc. Memorizing the syntax / API will let one type out that bubble sort faster, though that arguably demonstrates the lack of knowledge that matters.

I recall the first drafts of my resume, as I’ve started out in co-op at University. I’d list a dozen different programming languages that I knew of. Now I would probably list none. That is not to say that I have unlearned things over the years but, on the contrary, that it’s true that the more you know, the more you realize of how little you know in the grander scheme of things.

So, with a few exceptions, I don’t think one gets to “know” a programming language. I also think that this shouldn’t matter.

Read more