4 ms·
I think its surprising to see such little growth in number of users using python from last year. http://www.go-hero.net/jam/11/languages http://www.go-hero.net/
by zmitri 15y ago
I think its surprising to see such little growth in number of users using python from last year. http://www.go-hero.net/jam/11/languages http://www.go-hero.net/jam/11/languages vs http://www.go-hero.net/jam/10/languages/0 http://www.go-hero.net/jam/10/languages/0
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.
- greyman 15y agoMaybe that's because the verboseness of C++ or Java isn't really that much of a problem, since the experienced coders can usually type quickly, and moreover, most of the programming work is thinking, not typing.
- random42 15y agoAlso, the experienced coders also already have template macros for frequently used code snippets, like loop, conditional statements, comparisions, sorting etc., making doing trivial things in C++/Java, as trivial as doing them in Python (or other high level language).
- scorpion032 15y agoYup. Some of the TopCoders have their own templates that include substituting "for" with "F" and the like. They'd have solved these kinds of questions for years, and have ready templates for parsing the input and output.
- scorpion032 15y agoThe verboseness, because of the need to type more code is never a major problem. Verboseness is indicative of the abstractions that are exposed, and that being at a lower level than necessary is the problem because you don't just have to deal with the problem at hand, but also the holes in languages. With years of practice in a similar area, many people would have their own libraries to abstract those language shortcomings. In general, the verbosity because of the bad abstraction levels is always a problem, because different people using it will have their own versions to patch them up.
- BasDirks 15y agoC(++)/Java are really popular in most coding competitions, but I don't know if that necessarily says anything. Recently a very decent competition (anyone remember?) was won by someone coding in Pascal.
- olalonde 15y agoSomewhat educated guess, but it probably has to do with the fact that those contests offer well defined, immutable specifications. No need to iterate a lot or refactor much.
- killedbydeath 15y agoCurious what you are trying to say. I program mostly in Python, but never considered ease of refactoring to be its strength. I felt more comfortable changing code in C++ mostly because of the static typing providing additional correctness guarantees at run-time.
- deleted 15y ago[deleted]
- Tichy 15y agoI think TopCoder only allows some languages (including Java), maybe that is part of the reason.