Про спорт, ти – код!, Різне, Програмування, статті

У найближчу суботу в американському Сан-Дієго завершиться фінал міжнародного конкурсу програмістів Top Coder Collegiate Challenge-2006. Треба сказати, що російські “шукачі алгоритмів” – одні з головних претендентів на перемогу, що, останнім часом, стає вже звичним для змагань такого роду. Однак не варто забувати, що програмування взагалі по супутнім параметрам багато в чому нагадує спорт, і успіх “любителів” зовсім не гарантує їм світлу дорогу в професіонали.

Один Митричев чого вартий!


Тим не менш, в Сан-Дієго у росіян є хороші шанси на призові місця, так як з 48 фіналістів, серед яких “кодери” з 20 країн, нашу країну представляють відразу 12 чоловік. І це – найбільше національне представництво. На другому місці за цим показником іде Китай (9 претендентів), на третьому – Польща (3 програміста).


Треба сказати, що Collegiate Challenge далеко не єдині змагання програмістів, проведене компанією Top Coder Inc. Їй же належить ідея Top Coder Open (TCO), який, по суті, є неофіційними чемпіонатом світу з програмування. У ньому беруть участь як працюючі програмісти, так і студенти різних навчальних закладів з усього світу. У фіналі турніру цього року, який проходив у травні, в Лас Вегасі, перше місце і приз в 20 тис. доларів отримав росіянин Петро Митричев, студент мехмату МГУ. Він єдиний з усіх фіналістів впорався з третьою, найскладнішим завданням конкурсу. У таку ж ситуацію Митричев потрапив і під час свого переможного фіналу на змаганні зі спортивного програмування www.Test-The-Best.by, в березні цього року.


Петро з самого початку своєї “спортивної” кар’єри демонстрував унікальні результати. Він тричі ставав переможцем загальноросійських шкільних олімпіад з інформатики, неодноразово завойовував золоті і срібні медалі в міжнародних шкільних та студентських змаганнях. У Відкритому командному кубку рідного МГУ Митричев також зайняв перше місце, представляючи команду Petr, в якій був єдиним учасником, в той час як команди його конкурентів складалися не менш ніж з 3-х чоловік.


Останнім досягненням студента столичного Універу є перемога в Global Code Jam 2006, яку він здобув в Нью-Йорку 27 жовтня. У фінал цього змагання потрапили відразу 32 росіянина, що значно перевершує національне представництво інших країн. Крім Петра Митричева, в десятці лідерів був ще москвич і два представники Санкт-Петербурга, один з яких, студент СпбГУ ІТМО Андрій Станкевич, зайняв 3-є призове місце.


Різниця в підходах


Ті з “кодерів”, хто виступають на турнірах, бачать своє завдання зовсім інакше, ніж програмісти працюють “на замовлення”. У звичайній роботі головна мета – написати саму програму, а пошук алгоритму займає не так багато часу і сил. У рамках же змагання, саме цей творчий пошук є головним завданням для учасників.


Найбільш поширеною схемою фіналів таких конкурсів є постановка перед учасниками 3-х завдань різного ступеня складності. “Спортсменам” надається можливість вибрати, в якому порядку приступати до завдань. Чим складніше завдання, тим більше очок приносить її рішення, тому, програміст, який витратив час – а воно у фінальних турнірах обмежена, – на пошук алгоритму для самої складної задачі, може за очками обігнати конкурентів, які вирішили більшу кількість задач простіше.


Крім спортивного програмування на час, проводяться і конкурси розробників програмного забезпечення, в яких найбільше зацікавлені організатори. Їх учасники вирішують не лише складні алгоритмічні проблеми, але працюють і над дизайном, а також розробляють робочі частини програмного забезпечення, придатні для повторного використання в готових комерційних продуктах. Учасники “кодерскіх” змагань, як правило, працюють, з усіма мовами програмування: Java, C + +, C #, Python, VB.NET та інші.


Вважати по-русски


Особливістю наших програмістів є те, що вони не платять за використовуваний софт і при цьому в їх арсеналі завжди самі новітні програмні розробки. Причина цих тенденцій в тому, що вони не відчувають, на відміну від іноземних колег, страху перед законом про авторське право, і “сміливо” використовують вкрадене і “зламані” програмне забезпечення. На різних контесту вони зазвичай дивують організаторів, тим як швидко освоюють нові програми, але це наслідок того, що програміст майже напевно ознайомився з “піратської” версією програми ще задовго до її офіційного релізу.


Митричев далеко не єдиний приклад офіційного успіху російського програмування. На торішньому Top Code Open наш співвітчизник Микола Арчаков зайняв друге місце, а переможцем тоді став поляк Ерік Копчинський. Серйозні заявки роблять наші програмісти і в командних змаганнях. Серед них, наприклад, перемога на великому міжнародному конкурсі в японській Йокогамі.


Цей успіх в “програмному” спорті пояснюється підходом до підготовки учасників турнірів. На Заході майбутні “спортсмени” – школярі, студенти і навіть професіонали, – не займаються спеціальними тренуваннями. У нас же практикується саме спортивний підхід. Недарма більшість аматорських змагань в нашій країні називають “олімпіадами”.


Буквально на днях, в період з 11 по 13 листопада в Новосибірському державному університеті пройшов фінал Відкритої Всесібірской олімпіади з програмування ім. І.В. Поттосіна. Перше місце в ній зайняла команда SPbSU Cooler (СпбГУ). Друге і третє місця дісталися москвичам Moscow SUx13 (МДУ) та Moscow SU ST (МДУ). Крім цінних призів, всі члени команд-переможниць отримали стипендії дослідного інституту компанії Samsung SAIT. У Росії регулярно проводяться відбіркові етапи найпрестижнішого ACM International Collegiate Programming Contest, історія якого почалася ще в 1977 році.


З любителів у професіонали


Але чи означає успішне участь росіян в “программерскіх” змаганнях, що вітчизняні IT-технології і фахівці в цій області займають і серйозні позиції на світовому ринку? Це так, але лише почасти.


Безсумнівно, переможці міжнародних конкурсів і турнірів мають хороші шанси отримати місце у великій закордонній компанії, але ж з відходом у професіонали, програмісти, як і спортсмени, працюють вже не стільки на престиж країни, скільки на свій власний “рейтинг”. Тобто будь-який успіх стає чисто індивідуальним.


Ті з програмістів, хто не зміг заявити про себе на великих змаганнях залишаються працювати на батьківщині, в компаніях або у фрілансі. Останнім часом на Заході набирає популярність використання так званого офшорного програмування. Це коли виробник ПО звертається до розробників з інших країн, чия праця виявляється значно дешевше, ніж робота штатних співробітників на місцях. Часто ці угоди укладаються з одним єдиним фахівцем на розробку одного проекту протягом певного терміну. На сьогоднішній день найбільша частина цього офшорного ринку належить індусам і китайцям. Але і на російських програмістів попит також вельми великий.


В цілому ж образ російських компаній-розробників ПЗ невіддільний від образу всього російського бізнесу, який склався у свідомості іноземних інвесторів, тому той позитивний піар, який дають російській програмування перемоги на міжнародних конкурсах, не сильно впливає на загальну картину.


Майбутній фінал Top Coder Collegiate Challenge так же обіцяє хороші перспективи для його росскійскіх учасників. На сьогоднішній день наші співвітчизники лідирують за набраними очками. На другому місці йде Польща. Протистояння кодерів з цих двох країн Східне Європи на подібних турнірах явище досить часте. Але останнім часом, особливо після того, як зі своїми титулами розлучився поляк Копчинський, довгі роки був лідером світового рейтингу, росіяни знаходять все більш високі позиції.


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*