Cayman Islander | Diary of a Freelance Programmer traveling the world

Cayman Islander's blog - Diary of Freelance Programmer

Google Code Jam 2008 - Uzávěrka se blíží aneb kdo chce vyhrát $10,000 USD?

Golden Gate BridgeZbývá právě 11 dnů do začátku Google Code Jam 08, což je celosvětová soutěž v programování pro všechny nadšence, co rádi řeší problémy, zajímají je algoritmy a jsou schopni něco kreativně a rychle vyřešit.

Potěšující je, že nezáleží ani na programovacím jazyku ani na žádném konkrétním vývojovém prostředí, takže šanci mají všichni bez ohledu na technologii.

Google Code Jam 2008:

"Google Code Jam is a coding competition in which professional and student programmers are asked to solve complex algorithmic challenges in a limited amount of time. The contest is all-inclusive: Google Code Jam lets you program in the coding language and development environment of your choice."

Uzávěrka registrací je 17. července, kdy končí i kvalifikace, tj. 24 hours Qualification Round, probíhající od 16. - 17. července (July 16, 2008 at 11:00 PM UTC - July 17, 2008 at 11:00 PM UTC).

Pak následují tři Online Rounds, kdy Top 500 soutěžících ze třetího kola s nejvyšším počtem bodů (min. 50 z každého regionu) postupuje do Local Onsites, což je soutěžní kolo přímo v nějakém Google officu.

V Praze je sice také cosi, co připomíná (názvem) pobočku Google, ale tohle se bude konat spíše v "technologických" městech jako Zurich, London, Krakow nebo Dublin - Monday, October 6 (cestovné a ubytování hradí Google).

No a poté, Top 100 (min. 10 nejlepších z každého regionu) se kvalifikuje na Onsite Final Round v centrále Google v Mountain View, California, kde proběhne finálové kolo - Friday, November 14 (cestovné a ubytování hradí opět Google).

První bere odměnu $10,000, druhý $5000 atd., kdy všech 100 účastníků dostane nějakou cenu. Myslím, že v tomto případě ale nejde opravdu o peníze a kdo se dostane do té první stovky, tak to je ta největší odměna, co už mohl získat :-)


Stále platí znalosti a (částečně) zkušenosti v hlavě!

Zde je názorně vidět, že pro případný úspěch na trhu technologií, nemusí mít nikdo žádnou praxi, žádné tituly z prestižních univerzit ani papírové certifikace. Stačí mít pár zkušeností, vhodné nástroje k ruce a hlavně - bystrost, chytrost, rozhodnost. (Dokonce ani věk není podmínkou, soutěžit se může od 13 let, jen ta "onsite" kola jsou pro +18 soutěžící.)

Jak je vidět z výsledků Code Jam Global, tak předloni se umístil na moc pěkném 10. místě i jeden dobrý chalan ze Slovenska.

Jak se jmenovala ta pohádka? "Dlouhý, Široký a Bystrozraký"? V případě této Google soutěže by se dalo parafrázovat na "Bystrý, Chytrý, Rozhodný", kdy já bych ještě dodal "Nadšený a Odvážný" :-)

Pohádky obvykle dopadají dobře, tak půjde někdo do toho?


Update 05-07-2008:

"Zajímavě" zodpovězená otázka v Code.Jam FAQ:

What if I use an obscure or exotic coding language?

"Awesome! As long as the compiler or interpreter you used for that language is freely available and easy to download and use, you are free to use any language you want... If the administrators are unable to freely and easily obtain the compiler and compile your code, your submission will be marked incorrect."

Takže tím je to pro mě vyřízeno. Původně jsem si chtěl zahrát tuhle Google "jam session" v rámci dovolené na pláži, ale nepoužívám skoro žádnou language, tool ani knihovny, které jsou "freely available".

Sice to u Google chápu, ale také to mohli napsat hned nahoru na titulní stránku, kde je chybně věta "language and development environment of your choice" ;-)


Update 09-07-2008:

Jen pro zajímavost, po publikování tohoto příspěvku ztratily tyto stránky PageRank. Úmysl nějakého zaměstnance Google nebo technické nedostatky Google vyhledávače, či hloupé chyby zobrazované v Google Webmaster Tools, které nemají nic společného s tímto blogem, ale s nemožností si něco upravit na Blogger.com serveru, který patří Google?

12 comments :

Paolo řekl(a)...

Nějaký free kompilátor existuje skoro ke všemu. Tipoval bych, že většina účastníků sáhne po C/C++ nebo Javě.

Cayman řekl(a)...

Právě, že k některým opravdu "top" technologiím free verze neexistuje a Céčko nebo Java nejsou zrovna moc produktivní nástroje, co se týká rychlosti. Kdosi tam minule soutěžil a používal i Perl nebo PHP.

Mám tool, který svým nativním kódem překonává i rychlost Céčka, o kterém se říká, že je nejrychlejší (haha), kdy rychlost vývoje je nesrovnatelná. Připravuji recenzi někdy v blízké době, ale mám asi 50 rozepsaných příspěvků, tak vydrž.

Anonymní řekl(a)...

Jedná se tam hlavně o řešení různých algoritmů a je tedy jedno, v čem to bude. Proto stačí C/C++ nebo Java a v těch je jedno, jak se co vyřeší. Logika a znalost těch jazyků rozhoduje a žádný kouzelný tool nepomůže.

byF řekl(a)...

Jak moc je Java pomalá? :) Java je například rychlejší jak ono zmiňované C, které si může nechat zdát o výhodách VM...

Cayman řekl(a)...

Java je rychlejší jak C? To myslíš rychlost vývoje nebo rychlost kódu? Rychlost vývoje v jakémkoliv jazyce zásadně závisí na nástrojích a knihovnách, což je to, co mám koupené a co není dostupné zdarma, jak požaduje Google.

Na testování rychlosti kódu je asi nejlepší Sieve of Eratosthenes, či zde ukázkové zdrojáky v různých jazycích algorithm in as many different languages.

Anonymní řekl(a)...

Ahoj, díky za info, rád bych to zkusil, ale zajímalo by mě, jestli někdo nemá nějaké příklady, co se tam asi tak řeší za problémy?

Nepodařilo se mi na webu zatím nic najít, tak bych byl vděčen za nějakou radu.

Díky, Pavel

byF řekl(a)...

Rychlost vývoje určitě (stopro než plain C i C++), rychlost vykonávání kódu jak kdy a jak v čem. Na druhou stranu je určitě paměťově náročnější.

Sry, skoro jsem se nechal unést a udělat z toho flamewar.

Pavel řekl(a)...

byF: Můžu se zeptat, co používáš na Javu nebo s čím máš nejlepší zkušenosti? Já si hraju s Netbeans a kdysi jsem zkoušel i Eclipse.

Moja řekl(a)...

To jako znamená, že Google tvoří všechno jen ve "freely available" jazycích a toolech? To mě docela zaráží. Nevíš, v čem mají třeba toho klienta na Picasa album nebo Google Earth? To by mě zajímalo.

Paolo řekl(a)...

Myslím, že stačí googlovat fráze typu programming contest apod. a člověk si mlže udělat solidní představu o tom, co se v takových soutěžích řeší za problémy, web topcoder.com vypadá docela zajímavě.


Pavel: Myslím, že Netbeans je velmi dobré IDE - používám teď, s Eclipsem jsem začínal, ale nějak mě to k němu zpět netáhne. Jinak za špičku mnoho lidí považuje komerční IDE IDEA - nemám zkušenosti, ale lze vyzkoušet. Další možnosti jsou JBuilder od Borlandu, příp. JDeveleper od Oracle, ale obecně myslím, že v praxi je nejčastější open-source varianty Eclipse + Netbeans a "fajnšmekři" jedou na IntelliJ IDEA od JetBrains.

byF řekl(a)...

Pavel: V práci Eklipsu, na gujoviny NetBeans, navrhy (UML a generování kódu) NetBeans... A na Groovy Intellij :)

Cayman řekl(a)...

Jak už tady také zaznělo, nejlepší na Javu (nejpoužívanější) jsou asi Netbeans, Eclipse, či JDeveloper od Oracle. Čas od času používám každý z nich. Záleží na projektu, zákazníkovi a požadované technologii.

2Paolo: Díky za tip na IntelliJ IDEA od JetBrains! Říkáš "fajnšmekři"? Tak to se musím podívat :-)

Okomentovat