5
Languages used (2015) — Code Jam Statistics (www.go-hero.net)
sayuan 積分 5 編輯於

雖然 Code Jam 是在自己的電腦上跑,且有較充裕的執行時間。但如果參加不只一種競賽、解題網站,選手很可能只會選擇一個能全部通用的語言,所以其實可用的選擇並不多。

執行效率也是一個問題,早期的解題網站還能找到一堆,只要使用 Java 就很難寫過的題目。計時方式是 process 從開始到結束的時間,對於 Java 更加不利。導致 Java 需要用 O(n^2) 才能寫過的題目,C/C++ 可能用 O(n^3) 仍然能通過。

C++ 佔多數的原因,我想除了效率以外,學校教育應該也是主因,可以看到有許多歐洲國家使用 Python, Java 的比例明顯高上許多。

sayuan 積分 2

對了,大學階段的主要比賽,都是使用場地提供的電腦,事先不能做任何安裝軟體與設定,比賽時也沒有網路可用,能攜帶的東西只有紙本資料,甚至只能一本筆記本之類的。

電腦 OS 是 Linux, IDE 是 Eclipse (含 C/C++),不過很多選手會選擇使用沒有任何設定的 vi。

IngramChen 積分 0 編輯於

C++ >> Java/Python > C >> Others

差距真懸殊,沒想到最熱的 js 反而沒什麼人用。python 反而是最多人用的 dynamic 語言,是因為 numpy 嗎

sayuan 積分 4

一點我自己的心得。

  1. 內建大數
  2. 內建 tuple (比賽中自己建類別很浪費時間,回傳多個值也很方便)
  3. list comprehension
  4. functional & lambda

綜合起來,是在比賽中非常節省按鍵數的語言。

chchwy 積分 0

現在C++11 已經有 2 & 4 啦.

koji 積分 1 編輯於

C++ 多應該是平常大家在參加或玩的線上比賽有些都只支援 c++/java 這類的。 像 topcoder1 是 Java/C++/C#/VB,ACM online 是 C/C++/Java/Pascal 的樣子。

sayuan 積分 1

topcoder 去年已經支援 python 囉,Java 8 好像也是差不多時間。

koji 積分 0

喔有 java 8 喔!? 水喔~一直沒注意。

popcorny 積分 0

應該跟numpy沒關,題目都跟線性代數無關啊

popcorny 積分 1

使用C++的人口真多? 區域來講,台灣第八,只落後南韓一點點。

kaif 積分 0

比賽學校教C/C++多吧,如果是工作或open source應該不一樣

koji 積分 0 編輯於

數量上到一個程度的,C++ 存活率有比較高..哈