Дорогие друзья!
За несколько лет идея превосходства LISP (и функциональных языков вообще) над императивными языками стала настоящим феноменом ЛОРа.
Каждый раз эта тема, возникнув в рамках обсуждения какой-либо новости, приводит к жарким, невероятно интересным дискуссиям. С обеих сторон звучат вполне убедительные и красноречивые доводы. Рассматривается как технологическое, так и экономическое превосходство языков и технологий. В контексте одной из недавних новостей ("50 лет языку LISP", http://www.linux.org.ru/view-message.jsp?msgid=3184185) прозвучала идея наконец поставить точку в историческом противостоянии при помощи практического эксперимента, а именно - конкурса разработчиков.
Формат конкурса представляется таким. Выдвигаются три команды (например, LISP Nerds, Java Monkeys и C/C++ Jerks), каждая из которых должна быть представлена двумя составами. Размер состава - два-три человека. Командам предлагаются задачи по следующим восьми категориям:
1. Системное программирование;
2. Бизнес-приложения;
3. Веб-приложения;
4. Анализ текстов, компиляция и интерпретация;
5. Искусственный интеллект;
6. HPC-вычисления;
7. Компьютерные игры;
8. Desktop-приложения.
Список категорий отражает реальные задачи современного мира информационных технологий; детализация списка и подробные ТЗ последуют, обсуждение списка приветствуется.
Задачи выполняется первыми составами каждой команды. Затем проводится изменение ТЗ (ощутимое, но не кардинальное), и изменения реализуются вторым составом при условии неучастия второго состава в первом раунде. Т.е. цель второго раунда - показать, насколько возможно сопровождение программного продукта при смене команды разработчиков.
Результаты обоих раундов каждого этапа оцениваются жюри и сообществом по нескольким критериям: время, затраченное на решение; качество кода; качество продукта и соответствие требованиям; управляемость проектом, лёгкость (или сложность) поддержки и рефакторинга.
Сразу стоит отметить, что задачи будут представлять собой реальные (но сильно упрощённые) примеры задач из жизни. Упрощённые - потому что надо отдавать себе отчёт в том, что участники, скорее всего, будут весьма занятыми людьми, и их время надо уважать.
Хочется понять, вызывает ли эта идея интерес ЛОРовцев как таковой. Заинтересованным в участии (и в организации) буду благодарен за их мнения по поводу затеи. Скорее всего, это будет классический проект "Just for fun", хотя идеи насчёт организации фонда денежного приза (за счёт спонсоров, например) приветствуются. С организационной точки зрения стоит отметить необходимость площадок для развёртывания и тестирования; понадобятся также репозитории исходных текстов (SVN, GIT).
Приглашаю делиться идеями насчёт формулировки задач. Черновые формулировки уже составлены, но очень хотелось бы, чтобы от конкурса была реальная польза для сообщества, т.е. можно было брать в качестве задач bounties или просто нерешённые вопросы значимых opensource-проектов.
Отдельное спасибо зарегистрированным коллегам за освещение проекта в разделе форума Talks.