爲什麼編程競賽參賽者使用C ++和Java? [關閉] - Why do programming competition contestants use C++ and Java? [closed]

問題:

After competing in and following this year's Google Code Jam competition, I couldn't help but notice the incredible number of [successful] contestants that used C/C++ and Java. 在參加今年的Google Code Jam競賽之後,我不禁注意到使用C / C ++和Java的[成功]參賽者人數衆多。 The distribution of languages used throughout the competition can be seen here . 這裏可以看到整個比賽中使用的語言分佈。

After programming in C/C++ for several years, I recently fell in love with Python for its readable/straightforward nature. 在用C / C ++編程好幾年後,我最近因其可讀/直接的性質而愛上了Python。 More recently, I learned functional languages like OCaml, Scheme, and even logic languages like Prolog. 最近,我學習了OCaml,Scheme等功能語言,甚至像Prolog這樣的邏輯語言。 These languages certainly have their merits and, in my opinion, can be applied more easily than C++ and Java for certain situations. 這些語言當然有它們的優點,在我看來,在某些情況下,它可以比C ++和Java更容易應用。 For example, Scheme's use of call/cc simplifies backtracking (a tool required to answer several problems) and Prolog's logic specification, although inefficient due to its brute-force nature, can drastically simplify (and even automatically solve) certain problems that are difficult to wrap one's brain around. 例如,Scheme使用call / cc簡化了回溯(回答幾個問題所需的工具)和Prolog的邏輯規範,雖然由於其強力性質而效率低下,但可以極大地簡化(甚至自動解決)某些難以解決的問題。包裹一個人的大腦。

It is clear that a competition contestant should use the tools that are best suited for the challenge. 很明顯,競賽選手應該使用最適合挑戰的工具。 Even x86 assembly is Turing complete - that doesn't justify solving problems with it. 即使是x86程序集也是圖靈完成的 - 這並不能證明解決它的問題。 In this case, why are the contestants that use less common languages like Scheme/Lisp, Prolog, and even Python significantly less successful than contestants that use C/C++ and Java? 在這種情況下, 爲什麼使用不太常用的語言(如Scheme / Lisp,Prolog,甚至Python)的參賽者比使用C / C ++和Java的參賽者要少得多? Worded differently, why don't successful contestants use languages that, although may be less mainstream, are arguably better tools for the job? 換句話說, 爲什麼沒有成功的參賽者使用的語言雖然可能不那麼主流,但可以說是更好的工具?

There are several motivations for my question. 我的問題有幾個動機。 Most importantly, I would like to become a better programmer - both in the practical aspect and the competition aspect. 最重要的是,我希望成爲一名更好的程序員 - 無論是在實踐方面還是在競爭方面。 After being introduced to such beautiful paradigms like functional and logic programming, it is discouraging to see so many people discard them in favor of C/C++ and Java. 在介紹了諸如功能和邏輯編程之類的美妙範例之後,看到有這麼多人拋棄它們而轉向支持C / C ++和Java是令人沮喪的。 It even makes me question my admiration for said paradigms, worrying that I cannot be successful as a Lisp/Scheme/Prolog programmer in a programming competition. 它甚至讓我懷疑我對這些範例的欽佩,擔心我不能在編程競賽中成爲Lisp / Scheme / Prolog程序員。


解決方案:

參考: https://stackoom.com/en/question/EBY9
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章