为什么编程竞赛参赛者使用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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章