Фактически, контест ничего общего с функциональным программированием не имеет. Просто так исторически сложилось, что он проводится в рамках конференции по функциональному программированию. Задачи можно решать используя множество различных технологий (включая и функциональные языки).
Есть некоторые виды приложений в которых невозможно покрыть все автоматизированными тестами. Примером таких приложений могут быть компьютерные игры. Под событийно-ориентированную систему тяжело написать тесты. Также очень часто меняются те-или иные вещи в игре, кардинально переделывается механика, если она себя не оправдала, и т.п. На все писать тесты — заманаешься и не сдашь проект в срок.
С другими приложениями, наверное, все попроще.
Даже когда набираешь вслепую, после повторного прочтения набранного текста, может оказаться, что вы допустили опечатки в некоторых словах. В таком случае было бы удобно выделить нужное слово, нажать комбинацию клавиш — и Punto Switcher исправил бы эти слова на нужные.
Ну допустим, можно сделать эту фичу в полуавтоматическом режиме. У меня автопереключение в Punto Switcher по умолчанию отключено, а переключаю я в случае ошибки вручную (клавишами Pause/Scroll Lock и т.п.). Так и исправление опечаток можно полуавтоматически сделать.
Яндексу в Punto Switcher тоже нужно добавить такую функциональность! Даже когда на нормальной клавиатуре печатаешь, бывает промахиваешься мимо нужной клавиши.
Поучаствовать, конечно, было бы интересно, но пока не совсем понятен формат проведения, и некоторые другие вопросы.
Почему выбран только С++ и динамические библиотеки? Можно же было использовать клиент-серверную архитектуру и коннектить клиентов к серваку через сокеты. Было бы решение без привязки к технологии разработки.
Вообще хотелось бы увидеть страничку с более подробным описанием контеста, с регистрацией и т.п. Не понятно будет ли какая-то веб страница с таблицей рейтинга команд, засабмиченными решениями и т.п.
Как будет проводиться тестирование. Какие карты, сколько раундов? Будет использован принцип Double Elimination при проведении турнира, или какой-то другой принцип?
Вобщем хотелось бы увидеть более подробное описание.
Из того что уже прошло, неплохо было организовано на Сапке ( stanfy.com.ua/contest/ ). Там нужно было бомбермена написать, и как раз работало все через сокеты.
Походу приняли кое-какие меры — теперь страница с новостями показывается. Если Хабр вынудил админов пофиксить сайт — слава Хабру, слава Хабралюдям! Мы делаем этот мир лучше! :)
Ну я, собственно, о перестраховке и говорю. Ситуация с переключением задачи возможна, но очень маловероятна. Но все-таки для стабильной работы программы не стоит забывать об этой проблеме. О чем я и напомнил.
произойдет переключение задачи, и атакуемая задача попробует вызвать недоизмененную функцию, то произойдет джамп непонятно куда, что очень печально.
Решением может быть использование одной из команд mov из SSE, которые умеют атомарно 8 или 16 байт переносить.
P.S. От футболки тоже не откажусь.Опоздал уже, видимо.С другими приложениями, наверное, все попроще.
Это вопрос цензуры, поэтому сравнивать порно с наркотиками не корректно.
Почему выбран только С++ и динамические библиотеки? Можно же было использовать клиент-серверную архитектуру и коннектить клиентов к серваку через сокеты. Было бы решение без привязки к технологии разработки.
Вообще хотелось бы увидеть страничку с более подробным описанием контеста, с регистрацией и т.п. Не понятно будет ли какая-то веб страница с таблицей рейтинга команд, засабмиченными решениями и т.п.
Как будет проводиться тестирование. Какие карты, сколько раундов? Будет использован принцип Double Elimination при проведении турнира, или какой-то другой принцип?
Вобщем хотелось бы увидеть более подробное описание.
Из того что уже прошло, неплохо было организовано на Сапке ( stanfy.com.ua/contest/ ). Там нужно было бомбермена написать, и как раз работало все через сокеты.
Поидее, если делать инъекцию не в свое адресное пространство, а в чужое, то, если между вызовами
произойдет переключение задачи, и атакуемая задача попробует вызвать недоизмененную функцию, то произойдет джамп непонятно куда, что очень печально.
Решением может быть использование одной из команд mov из SSE, которые умеют атомарно 8 или 16 байт переносить.