Officially there is no requirement to use any particular language, so long as a free compiler/interpreter is available or Microsoft makes it.
During the contest you will find there are problems that suffer badly from the 100x slowdown that languages like Perl, Ruby, Python, and Javascript suffer compared to C++, Java, and C-octothorpe in certain kinds of code. Flexible objects like associative arrays and lists that have to be garbage collected slow you down and modern scripting languages require you to implicitly allocate or expand those objects in your inner loops to program idiomatically. If your inner loop is running fifty million iterations on each test case, you're going to bog down and not meet the time limit. There's also the matter of the 3x slowdown in integer math that even Java and C-tic-tac-toe have against C++ but that's almost never enough to hurt. You get better bounds checking and memory management in the deal so lots of programmers think the trade is worth it. The disadvantage only applies to a few operations and it's nothing like the 100x penalty I mentioned in the last paragraph. Some Common Lisp engines are very efficient by caching objects that get dynamically allocated often (cons cells) and therefore can compete with C++, Java, and C-pound on performance even with the dynamic features of scripting languages. Ruby, Javascript, Python, and Perl so far lack sophisticated runtimes. But it is proven that such quality interpreters are possible. (Haskell may be doing caching too, but I'm not smart enough to learn Haskell so I can't tell.) In last year's finals, there were 77 C++ soutions, 3 Java solutions, and 1 solution in Python by a Code Jammer who switched to C++ to solve the harder problems. Therefore I commend Java, C++, and C-number-sign as your best bets for Code Jam. Try Haskell or Common Lisp if you're some kind of brainiac who wants to show off more than win. But don't pin your hopes on Ruby, Javascript, Perl, and Python. -Brian Amit Agarwal wrote: > I see most of the people choosing between C/C++/Java. > Any one out here who is going with Javascript? Its very easy to > program in it and loosly typed. So not to worry about choosing proper > data type. Though I am not completely aware of how does it handle > basic data structures. For ex. array elements don't have to be of one > type. You can push anything to an array...so I am not sure how does > it get me arr[5] in constant time. Secondly, I don't get to have fun > with memory pointers. But simultaneously I get rid of accidental > segmentation fault. I am good at both C and Javascript. Not able to > decide which one to adapt. Any suggestions will be helpful. > > -Regards > Amit Agarwal > Contact: 09765348182 > www.amitagrwal.com > > > > > On Mon, Apr 26, 2010 at 9:44 PM, micke <[email protected]> wrote: > > pls send me practice paper for qualification round-in java > > > > mail me at : [email protected] > > > > -- > > You received this message because you are subscribed to the Google Groups > > "google-codejam" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > > [email protected]. > > For more options, visit this group at > > http://groups.google.com/group/google-code?hl=en. > > > > > > -- > You received this message because you are subscribed to the Google Groups > "google-codejam" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-code?hl=en. -- You received this message because you are subscribed to the Google Groups "google-codejam" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-code?hl=en.
