ailev.ru

25 июля 2016 · Комментарий

Без заголовка

Про бюджет я ответил выше. А про разработку -- квалификация нужна по причине сложности продукта. В Eclipse порядка миллиона строк кода. Несколько месяцев уйдёт только чтобы в этом прилично разобраться! А потом нужно ещё писать десятки тысяч строк, чтобы реализовать сотни фич типа "комментарий", "форматирование текста", "синтаксический анализ языка Z", "статический анализ языка Z". И каждая такая фича -- это недели или даже месяцы работы. Сто фич по неделе на фичу -- это уже два человеко-года. А ещё столько же надо заложить на тестирование и багфиксинг, и в 3 раза больше, чем программирование+багфиксинг вместе, если вы хотите делать из этого продукт, а не поделку (ибо сбор требований, продажи, маркетинг, документация). Это вообще rule of thumb в разработке продуктов: 1/6 программирование, 1/6 тестирование, 2/3 -- всё остальное. Но если вы возьмёте готовый компонент редактора, готовый компонент графического редактора, готовый статический анализ, и не захотите делать кастомные(улучшенные) версии этих компонент -- то, конечно, можно существенно снизить объём программистской работы. Процентов на 80. Но: вспомним про вашу связь "многие-ко-многим" между представлениями данных в разных views. Сколько у вас уйдёт лет, чтобы отловить все баги в вашей реализации (которая к тому же будет постоянно изменяться-улучшаться)? (Именно поэтому такие большие бюджеты. $500k -- это всего 5 лет одного хорошего программиста в Америке. Если набирать программистов со всего мира -- можно снизить почасовую ставку раза в три. Ну, будет $150k за 5 человеко-лет.) Так что прикиньте свои фичи, посчитайте человеко-годы, вздохните, и займитесь чем-нибудь ещё :) До тех пор, пока у нас нет компьютера, чтобы он за нас программировал и делал индивидуальные динамические интерфейсы на заказ (начиная с чего-то типа описанного в "Ишкушштвенный интеллект", и заканчивая интерфейсом из "Харизмы" Каганова), делать IDE -- пустая трата времени.

К записи · К обсуждению