top | item 14763591

Show HN: 15-question language identification quiz

140 points| DanielDe | 8 years ago |quiz.triplebyte.com

86 comments

order
[+] ammon|8 years ago|reply
We (Triplebyte) actually tested a while ago whether identifying languages was predictive as an interview question (we thought it might predict general experience / exposure to lots of code). It was not predictive of anything. So this quiz is just for fun!
[+] sinistersnare|8 years ago|reply
It is worded opposite of what you say:

> You're in the top 3% of engineers! (We should know, we've interviewed thousands.) We can totally help you get a job if you're interested.

It is worded as if scoring well in this is an accurate predictor of engineering skill.

[+] dtft|8 years ago|reply
> Just for fun

...or to retarget engineers on FB and other channels :)

[+] krat0sprakhar|8 years ago|reply
Came here just to confirm this. I got all right but it doesn't seem to be valid test for hiring. Fun quiz! :)
[+] dotancohen|8 years ago|reply
It seems that some of the same questions were difficult or tricky for many people, i.e. the Kotlin question or the Lisp question (which were the two that I missed as well). It would be great to see the stats on this one. Thanks!
[+] throwaway2016a|8 years ago|reply
Got 14/15 but I have a feeling it was only because I made the assumption I would not see the same language twice. Without that assumption a few were toss ups for me.

Of all the languages on there the only one in that set I had never used / seen at all is Kotin and that's the one I got wrong.

Several of them were mandatory for me to learn in college but I haven't seen since. (looking at you, Prolog and Verilog... Verilog is useful but I don't do hardware dev)

[+] SilasX|8 years ago|reply
Got 14/15 because I couldn't tell Emacs Lisp from Clojure. Argh ...
[+] Arcsech|8 years ago|reply
Yep, I also missed Kotlin. I technically missed Clojure too, because I rushed and hit Emacs Lisp before actually fully reading the example and all the answers.
[+] arethuza|8 years ago|reply
I also scored 14/15 - got PHP wrong I thought it was Perl which is slightly embarrassing as I've never used PHP but I have used Perl.
[+] yellowapple|8 years ago|reply
I also missed Kotlin.

A lot of them could be inferred from what the code is doing. For example, PHP and Perl are sometimes really hard to distinguish, but I was able to get PHP right by deciding that "this ain't what a Perl hacker would write". Same with Ada v. VHDL.

[+] vram22|8 years ago|reply
I got Kotlin right, but only because I happened to see some Kotlin code (due to the somewhat recent HN thread about it, based on a post by Steve Yegge), else might have got it wrong, due to maybe thinking Kotlin syntax would likely be similar to Java.

On second thoughts, though, I guess there is no need for a JVM language's syntax to resemble Java's (much, anyway). E.g. Jython, JRuby, Groovy, etc.

[+] rpeden|8 years ago|reply
15/15, not that it matters. I guess all those years of reading about languages on HN and trying out languages even when I had no real use for them was good for something, at least. :)
[+] nvr219|8 years ago|reply
I am not a programmer other than one visual basic course I took in college.

My score: "You got 8 out of 15 right You're in the top 50% of engineers. Can your friends beat you? Share your score and challenge them to do better!"

[+] pmontra|8 years ago|reply
14/15. I guessed wrong between Piet and GLSL which I never heard about. How many possible questions are there?
[+] ammon|8 years ago|reply
Yeah, Piet's a curveball! It's a pretty cool (esoteric, totally useless) language however.
[+] khedoros1|8 years ago|reply
Piet's an esoteric, and GLSL is OpenGL's Shader Language. GLSL looks kind of C-like, while Piet looks like Mondrian paintings (for many programs, anyhow).
[+] rwj|8 years ago|reply
If I hadn't read an article on esolangs last week, I would have missed Piet.
[+] jonesetc|8 years ago|reply
There are only 15, the quiz is static.
[+] yakshaving_jgt|8 years ago|reply
I got 12/15 initially. Then I followed the link to retry the test, and somehow got 15/15. It's amazing how quickly you can progress as an engineer.
[+] ynniv|8 years ago|reply
That must be top 3% for a large value of 3, or perhaps a small value of 100. How's the HN traffic doing? ;-)
[+] hghmn|8 years ago|reply
I know this is intended as just a fun test, but the highlight.js library used on these pages adds the language name as part of the class name on the code block...
[+] amyjess|8 years ago|reply
13/15

One was because I got two LISPs mixed up with each other, the other because it was in a language I didn't recognize (Piet) and there were two languages I didn't know anything about as options (GLSL was the other).

[+] placebo|8 years ago|reply
same score, same reasons :)
[+] emersonrsantos|8 years ago|reply
Do one with only assembly languages and we have to guess the architecture.
[+] vram22|8 years ago|reply
Just did it, and got 14/15. But see below.

Saw this thread yesterday and at first did not feel like taking the quiz (because I thought I would not do well, also because I didn't think it was too interesting).

But today read about half of this thread again. Then felt motivated to take the quiz (just for fun). Was not expecting more than say 8/15. Surprised to see I got 14/15 (but in top 3% of engineers -- definitely not :). It was definitely partly due to reading some of this thread first, else I would never have been able to figure out the Ada/VHDL question (at least just by guessing / logic / prior knowledge), even less the Piet one (since had never heard of it - at least had heard of Ada and VHDL). I guess the result was also partly due to being interested in programming languages right from the start of my career, and having at least read a little about many, and having dabbled in some (apart from the ones I worked in for non-trivial periods).

Anyway - somewhat interesting quiz idea.

[+] tluyben2|8 years ago|reply
Wrote code in all but Piet, so knew it was not glsl. I must spend way too much time behind a computer as i also knew all besides Piet even if it was not multiple choice :)

I do think it should be harder; like when you get a lesser known language, also add the choice for others; APL + K + J for instance, or worse (for many) K or J showing either.

C vs C++ vs D.

Prolog vs Haskell vs Ocaml. Curveball there could be something like Mercury.

Haskell vs Purescript.

[+] _raoulcousins|8 years ago|reply
14/15. I basically only program Python, but I guessed based on vague stereotypes of different languages. The wrong one was guessing Java for C#.
[+] sleepychu|8 years ago|reply
That's a pretty fair toss-up if you're not familiar with either.
[+] viach|8 years ago|reply
So the scheme is I answer questions in order to get my ego higher, you bribe me with "you are top n", I leave my CV?
[+] jadell|8 years ago|reply
11/15 A few I missed because I didn't know enough to tell them apart (eg Kotlin/Swift.) Others were process of elimination or a straight up guess. And I didn't even know there was an abstract visual programming language!
[+] lojack|8 years ago|reply
Interestingly enough, question 5 is actually syntactically correct Perl, but not PHP.
[+] acheron|8 years ago|reply
Stupidly, I missed Ruby/Python from going too quickly right at the beginning. Then missed Ada/VHDL from never having heard of VHDL, and I thought "oh, looks like Ada."

Anyway, fun stuff. I laughed when Piet came up.

[+] ajdlinux|8 years ago|reply
Well, VHDL was heavily inspired by Ada, given they both came out of DoD contracts around the same time...
[+] still_grokking|8 years ago|reply
Too easy (15/15). Had only once to look a second time at the code snippet (elisp vs. clojure, but there were [] around the param, that made it clear).

Would be more fun if they would implement the same code snippet in different (but maybe quite similar) languages and one would have to label the (lets say six for an interesting difficulty level) snippets.

[+] MichaelBurge|8 years ago|reply
> Just as the ++ in the name C++ is intended to imply that C++ is a step above C, the # in the name C# is intended to resemble two ++ operators stacked on each other, indicating that C# is a step above C++.

I've sort of followed C# since it was released, and never realized this.