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.

Reply via email to