Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #65, АПРЕЛЬ 2006 г.

мнение профессионалов

 

Спецвыпуск: Хакер, номер #065, стр. 065-028-1


И КТО ТОГДА БУДЕТ ДЕЛАТЬ «ГОТОВЫЕ КИРПИЧИКИ»?

СПЕЦ: Хорошо ли то, что программирование постепенно сводится к проектированию? Когда есть множество готовых кирпичиков и из них лепится нужное?

Анатолий Скоблов: Во-первых, программирование к «только проектированию» не сводится, и в обозримом времени ничто не предвещает этого. Во-вторых, конечно, хорошо, что из разработки уходит совсем уж банальная рутина. В-третьих, что плохо, народ отучается думать, от С++ пошли вопросы «А как бы сделать список, нет ли заготовочки?» (если вдруг «кирпичиков» под рукой не оказалось). И что же будет дальше?

Антон Палагин: Ну, кирпичи-то еще надо уметь выбирать и класть :). Для адептов хардкорного программинга всегда остается возможность не использовать middleware, а создавать его. Впрочем, для этого необходимо самому хорошо владеть другим middleware. Как ты думаешь, сможет ли человек, никогда в жизни не видевший компьютера, собрать его с нуля?

INGREM: Нет, это не хорошо. Я понимаю, чем в общем обусловлена всеобщая тяга к «проектированию» (скорость разработки, переносимость и т.п.), но все равно не поддерживаю. Если все так и дальше пойдет, программисты совсем разучатся думать и вымрут как вид — останутся одни «проекторы». Кто тогда будет делать «готовые кирпичики»?

Алексей Лукацкий: А оно не сводится ;). Это нормальный процесс унификации постоянно повторяющихся задач и часто используемых процедур и объектов. Просто современные системы проектирования мало чем отличаются от процедур и функции прошлого. Теперь к ним добавились и новые параметры (например графические элементы), а суть осталась та же. Часто повторяемые вещи реализуются готовыми «кирпичиками», а высвободившееся время можно посвятить творчеству и реализации уникальных задач.

ЗАРАЗА: Что в этом плохого? Первый шаг к использованию готовых кирпичиков был сделан тогда, когда появились модульные языки, дальше просто идет развитие в том же направлении. А разработка серьезного ПО в большом коллективе требует очень четкого разделения между проектированием и кодингом — к этому все и идет.

Крис Касперски: Когда есть множество готовых кирпичиков и из них лепится нужное... Программирование всегда было проектированием, а вот бездумной «лепкой» оно стало только недавно. Программирование (изначально) — это инженерная дисциплина с такими понятиями, как «целесообразность» и «учет рисков». Сейчас мы имеем ситуацию: если программа запускается и не падает, то можно биться от счастья в истерике. Взять хотя бы Windows или, например, MS Office. Micorosft сокрушается, что 99% пользователей используют только 1% продукта, а пользователи сокрушаются, что этот «ворд» постоянно падает. Какой вывод? Если бы программисты думали головой, то систему можно было сделать на 99% проще, а значит, надежнее...

Владимир Яковлев: Мои школьные да и вузовские преподаватели приходили в смятение от широкого внедрения в процесс обучения примитивных калькуляторов. Говорили, что из-за них обучающиеся стремительно тупеют. Но прогресс есть прогресс, а обучающиеся не отупели. От прогресса никуда не денешься. Программирование, сведенное к проектированию, позволяет обеспечить максимально быстрое появление продукта на рынке. Человеческая цивилизация относится к технологическому типу. С этим положением согласны не только философы, но и теологи. А это означает, что человек является, в своей мере, создателем, причем он всегда стремится создать больше за меньший период и лучший по качеству продукт. Можно говорить об эффективности такого программирования, но ведь вычислительная техника развивается колоссальными темпами! Освободившийся же интеллектуальный резерв уже не направляется на написание оператора «for», а служит совсем другим целям — созданию привлекательного для потребителя продукта.

Содержание  Вперед на стр. 065-028-2