Чем реальное программирование отличается от спортивного?







+6 +/-

Постоянно говорят, мол, ты пишешь сейчас на олимпиадах спортивное программирование, а оно отличается от реального. Но когда спросишь, в чём же отличие, тушуются и отмахиваются — потому сама поймёшь. Не могли бы вы объяснить мне их различие, пожалуйста.

Профиль пользователя DataCom Спросил: DataCom  (рейтинг 15440) Категория: компьютеры и интернет

Ответов: 1

5 +/-

Я успел побывать и коммерческим программистом и спортивным, так что могу ответить на ваш вопрос.

1) В спортивном программировании оптимальность алгоритма стоит на первом месте. В коммерческом на первом месте расположены 2 вещи: скорость разработки и понятность кода.

2) Олимпиадные задачи по программированию обычно довольно-таки узкоспециализированы. У олимпиадников нет навыка разработки серьезных архитектур, понимания вопросов масштабируемости.

2,5) Это не совсем отдельный пункт, скорее подчасть предыдущего, но все же я вынес его отдельно. Олимпиадники хуже работают в команде. Они привыкли брать на себя полностью ответственность за задачу. В коммерческих реалиях никто не позволит одному человеку тянуть даже отдельный компонент, не то, что продукт.

3) Коммерческое программирование включает более широкий спектр задач. Создание интерфейсов, разработка апи, использование апи, кроссязычные инструменты. В итоге получаем, что человек может написать 10 разных сортировок, но не может сделать запрос к БД.

4) Отсутствие навыков работы с специальным инструментарием - системы контроля версий, средства документирования кода, средства разметки кода, написание тестов, утилиты статического и динамического анализа кода.

Это, конечно, все очень собирательно и немного утрировано, но в той или иной степени верно. Лично я предпочту работать в команде с человеком у которого опыт в 1 год коммерческого программирования, чем 10 лет олимпиадного, поскольку в противном случае, мне нужно будет потратить очень много времени на объяснение многих азов человеку, который считает, что умеет программировать.

Ответил на вопрос: Chapeau  

Похожие вопросы

Спросил
2 Отв.
Как решать подобные задачи по ИВТ(Паскаль, подготовка к ЕГЭ)(см.)?
Ответ: Данные задачи относятся к заданиям ЕГЭ по информатике, суть которых - анализ кода программы, содержащей циклы и ветвления. От решающего задачу требуется проанализировать ход выполнения программы, для ... Читать далее...
Автор вопроса: Iranian, в категории | | |
Спросил Iranian
1 Отв.
Как зашифровать свое имя в двоичном коде?
Ответ: Если вы любитель мозговых штурмов и у вас масса свободного времени, то можно, используя Коды символов ASCII выразить своё имя, к примеру, в десятеричном ... Читать далее...
Автор вопроса: Burnier, в категории | | |
Спросил Burnier
2 Отв.
Что такое «класс» в программировании?
Ответ: Классами программисты описывают некие абстрактные типы данных. В классе также определяются свойства, данные и методы обработки данных. Классы можно объявлять ... Читать далее...
Автор вопроса: Carita, в категории | |
Спросил Carita
1 Отв.
Как получить оповещение о появлении на чужом сайте определенной фразы?
Ответ: Закажите у веб-программиста Парсер который будет постоянно проверять контентна сайте и проверять в нем наличие той самой ... Читать далее...
Автор вопроса: Crankpin, в категории | | | | |
Спросил Crankpin
3 Отв.
Как научиться писать компьютерные программы и зарабатывать на этом?
Ответ: Советую углубиться немного в другую отрасль - веб-программирования. Это очень выгодно и прибыльно. В среднем цена за сайт составляет от 3 до 5 тысяч рублей. ... Читать далее...
Автор вопроса: Contraction, в категории | |
Спросил Contraction
1 Отв.
Каково основное преимущество, получаемое при использовании функции?
Ответ: Функции позволяют делать одно и то же действие много раз подряд одинаково хорошо, в этом главное преимущество как функций, так и компьютеров в целом :) автор ... Читать далее...
Автор вопроса: Garboils, в категории |
Спросил Garboils
1 Отв.
Как начинать самому учить язык программирования?
Ответ: Нет языка программирования - есть языки программирования! Какой именно язык вы хотите начать учить?! Дело в том, что все языки программирования отличаются ... Читать далее...
Автор вопроса: Sorcer, в категории
Спросил Sorcer
1 Отв.
Какой микроконтроллер выбрать новичку для начала?
Ответ: Хотел в начале предложить, что попроще, а потом подумал, что нет в этом смысла. Конечно если трудности пугают, то с простого легче начинать. Но как показывает ... Читать далее...
Автор вопроса: Reaping, в категории | | | | |