TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Google Code Jam 2011 Language Popularity

57 pointsby hanszeirabout 14 years ago

16 comments

zmitriabout 14 years ago
I think its surprising to see such little growth in number of users using python from last year. <a href="http://www.go-hero.net/jam/11/languages" rel="nofollow">http://www.go-hero.net/jam/11/languages</a> vs <a href="http://www.go-hero.net/jam/10/languages/0" rel="nofollow">http://www.go-hero.net/jam/10/languages/0</a><p>I answered all the questions using python and was surprised to see the majority of the top coders (you know, the guys who solved everything in ~30 minutes) use C++ and Java. I had the impression that the difference in python's runtime would be made up for how much more succinctly you can code in it and by all the syntactic sugar... but I guess not. In fact, I noticed some of the top guys have various built in libraries to help them reduce their time spent on input handling and various solver interfaces. The auto generated code from those libraries dwarves the actual solution code in size.
评论 #2525547 未加载
评论 #2525601 未加载
BasDirksabout 14 years ago
Look at this guy: <a href="http://www.go-hero.net/jam/11/name/Soultaker" rel="nofollow">http://www.go-hero.net/jam/11/name/Soultaker</a><p>Used Haskell, PostScript, Python, Prolog, Perl, J, Brainfuck, C, each once for one problem.
olalondeabout 14 years ago
Basically, the 2 most hated languages on HN are the 2 most popular for the Google Code Jam?
评论 #2526438 未加载
lawnabout 14 years ago
Perfect score with brainfuck, that's pretty funny.
评论 #2525628 未加载
评论 #2525568 未加载
orangecatabout 14 years ago
The country distributions are interesting: Python was used much more frequently in the US, while India favors Java and China favors C++.
ianlabout 14 years ago
I think its important to note that many coding competitions historically only allow C/C++/Java. There is advantage in that you can use many hacks in these languages to get around certain issues quickly if your an innovative person (which you have to be to do the contest questions).
zbanksabout 14 years ago
When I started, I was thinking about using JS both "for the lulz" and because I'm comfortable enough with it that it wouldn't be a hindrance, like LOLCODE or Befunge.<p>I went with python instead because I assumed I'd need to squeeze as much efficiency as possible out of my programs.<p>For this round, these fears were completely unwarranted. All of the problems, except the second, were trivially O(n). (#2 wasn't worth optimizing, but it was possible)<p>Does anyone have experience with the next round? Is speed still not really an issue?
Dn_Ababout 14 years ago
I was curious as to what proportion of each language achieved a perfect score. A quick script [1] sorted by Percent which reached perfect score and then by qualified resulted in the below - mean of advanced/lang is: ~90%, most (26) langs either achieved 100% entry or around 80% (14) ).<p><pre><code> [|("PostScript", (1, [|1.0; 1.0; 1.0|])); ("Brainfuck", (2, [|1.0; 1.0; 1.0|])); ("Golfscript", (2, [|1.0; 1.0; 1.0|])); ("COBOL", (1, [|1.0; 1.0; 1.0|])); ("Octave", (3, [|1.0; 1.0; 0.6666666667|])); ("Shell", (5, [|1.0; 1.0; 0.6|])); ("dc", (2, [|1.0; 1.0; 0.5|])); ("sed", (2, [|1.0; 1.0; 0.5|])); ("R", (2, [|1.0; 1.0; 0.5|])); ("OCaml", (21, [|1.0; 1.0; 0.380952381|])); ("F#", (17, [|1.0; 0.8235294118; 0.3529411765|])); ("D", (6, [|1.0; 0.5; 0.3333333333|])); ("Prolog", (3, [|1.0; 1.0; 0.3333333333|])); ("J", (3, [|1.0; 0.6666666667; 0.3333333333|])); ("Clojure", (17, [|1.0; 0.9411764706; 0.2941176471|])); ("Haskell", (118, [|1.0; 0.906779661; 0.2457627119|])); ("C++", (5700, [|1.0; 0.9080701754; 0.2022807018|])); ("ActionScript", (5, [|1.0; 0.8; 0.2|])); ("Lua", (12, [|1.0; 0.75; 0.1666666667|])); ("Pascal", (111, [|1.0; 0.8738738739; 0.1621621622|])); ("Python", (1658, [|1.0; 0.8805790109; 0.1447527141|])); ("Ruby", (259, [|1.0; 0.8918918919; 0.1351351351|])); ("Lisp", (26, [|1.0; 0.8076923077; 0.1153846154|])); ("C", (671, [|1.0; 0.8032786885; 0.1117734724|])); ("Java", (2652, [|1.0; 0.8465309201; 0.1052036199|])); ("C#", (710, [|1.0; 0.8309859155; 0.0985915493|])); ("Perl", (155, [|1.0; 0.8258064516; 0.09677419355|])); ("MATLAB", (11, [|1.0; 0.8181818182; 0.09090909091|])); ("Scala", (35, [|1.0; 0.8; 0.08571428571|])); ("Groovy", (13, [|1.0; 1.0; 0.07692307692|])); ("Javascript", (30, [|1.0; 0.6666666667; 0.06666666667|])); ("GO", (16, [|1.0; 0.8125; 0.0625|])); ("PHP", (166, [|1.0; 0.765060241; 0.05421686747|])); ("Visual Basic", (32, [|1.0; 0.78125; 0.03125|])); ("Assembly", (1, [|1.0; 1.0|])); ("AWK", (3, [|1.0; 1.0|])); ("WRAPL", (1, [|1.0; 1.0|])); ("Standard ML", (2, [|1.0; 1.0|])); ("Objective-C", (6, [|1.0; 1.0|])); ("TCL", (3, [|1.0; 1.0|])); ("Mercury", (1, [|1.0; 1.0|])); ("Befunge", (1, [|1.0; 1.0|])); ("Fortran", (2, [|1.0; 1.0|])); ("Factor", (2, [|1.0; 1.0|])); ("CMake", (1, [|1.0; 1.0|])); ("LOLCODE", (1, [|1.0; 1.0|])); ("LOGO", (1, [|1.0; 1.0|])); ("Boo", (1, [|1.0; 1.0|])); ("Erlang", (5, [|1.0; 0.8|])); ("Scheme", (7, [|1.0; 0.5714285714|]))|] </code></pre> [1]<p><pre><code> str |&#62; Array.map (fun s -&#62; let spl = s.Split('\t') (spl.[0] , let scspl = spl.[spl.Length - 1].Split('/') in scspl.[0], scspl |&#62; Array.map (fun sc -&#62; float sc / float scspl.[0] ))) |&#62; Array.sortBy(fun (_,(_,sc)) -&#62; if sc.Length = 3 then -sc.[2] else 1./sc.[1])</code></pre>
评论 #2526648 未加载
neutronicusabout 14 years ago
I tried to use Haskell, and I think that choice bit me (not Haskell's fault, I hasten to add). I saw the correct solutions right away, but I was nowhere near good enough at recognizing the causes of type errors and I/O in general to produce them in the amount of time I had (I started late). C'est la vie. Learning experience.
Tichyabout 14 years ago
I just looked at the top scoring solution, written in C++, and a Java solution next to mine in the scoreboard, and I can only say that I am really happy with my choice of Ruby.<p>As for the top scorer, I can't help but wonder if that skill even translates well to the real world?
评论 #2526422 未加载
spullaraabout 14 years ago
So did Google choose C++/Java/Python as their standard languages or are they just the natural standard languages of the industry? Was there any push by Google to those 3 languages aside from developers knowing that is what they use internally?
评论 #2526417 未加载
scorpion032about 14 years ago
Here is my (succinct) solution for the Q1: <a href="https://gist.github.com/960549" rel="nofollow">https://gist.github.com/960549</a>
评论 #2527352 未加载
bugsyabout 14 years ago
I enjoy seeing a positive number in the column for number of contest entries written in brainfuck.
scorpion032about 14 years ago
Seems to indicate Haskell is 7 times as popular as Clojure.
pshapiroabout 14 years ago
Why was C++ so popular?
评论 #2526717 未加载
评论 #2526172 未加载
vlisivkaabout 14 years ago
Wow - five coders use bash as their favorite language (including me :) ).