![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вышел пятый номер журнала Практика функционального программирования.
Я пока прочел только начало, про конкурс. Особо мне понравилось про полярные мнения экспертов, потому что это подтверждает мои идеи насчет полного отсутствия мейнстрима в программировании и насчет того, что работа "очень хороших" программистов плохо совместима с промышленной разработкой софта.
Т.е. мейнстрим и промышленная разработка существуют. Но существуют они исключительно в случае работы большими командами с низкой эффективностью и с минимальными инновациями, т.е. садят, условно говоря "один студент-одна неделя-один объект предметной области", а потом за ним тестеры ошибки ищут.
А теперь представьте, что всех их заменить на одного computer-science гуру с кодогенератором. Ошибок, которые делают студенты, гарантированно не будет, а те, которые будут - находятся гораздо раньше. Но результат работы плохо предсказуем, потому что кодогенераторы, по моему опыту, очень хреново обобщаются и поэтому их нужно делать под каждый класс задач и внутри конторы, для себя. При попытке их обобщения они (да и вообще все заумное, типа DSL и прочего) резко становятся настолько же неудобными в работе, как и обычные языки, только еще в гамаке и стоя.
И получается, что мы имеем вместо 10000 студентов, которые в лоб пишут одно и тоже на одних и тех же инструментов, 100 гурей, которые каждый "любовно полирует" кто хаскель, кто лисп, кто окамл, кто F# и среди которых нет никакого согласия.
И сроки работы этих гуру, хоть и в среднем сильно меньше, чем у студентов, но очень херово предсказуемые. Потому что одна удачно прочитанная книга или примененная идея может потребовать выкинуть всю работу за предыдущий срок, но сократит будущий срок в два раза.
Я пока прочел только начало, про конкурс. Особо мне понравилось про полярные мнения экспертов, потому что это подтверждает мои идеи насчет полного отсутствия мейнстрима в программировании и насчет того, что работа "очень хороших" программистов плохо совместима с промышленной разработкой софта.
Т.е. мейнстрим и промышленная разработка существуют. Но существуют они исключительно в случае работы большими командами с низкой эффективностью и с минимальными инновациями, т.е. садят, условно говоря "один студент-одна неделя-один объект предметной области", а потом за ним тестеры ошибки ищут.
А теперь представьте, что всех их заменить на одного computer-science гуру с кодогенератором. Ошибок, которые делают студенты, гарантированно не будет, а те, которые будут - находятся гораздо раньше. Но результат работы плохо предсказуем, потому что кодогенераторы, по моему опыту, очень хреново обобщаются и поэтому их нужно делать под каждый класс задач и внутри конторы, для себя. При попытке их обобщения они (да и вообще все заумное, типа DSL и прочего) резко становятся настолько же неудобными в работе, как и обычные языки, только еще в гамаке и стоя.
И получается, что мы имеем вместо 10000 студентов, которые в лоб пишут одно и тоже на одних и тех же инструментов, 100 гурей, которые каждый "любовно полирует" кто хаскель, кто лисп, кто окамл, кто F# и среди которых нет никакого согласия.
И сроки работы этих гуру, хоть и в среднем сильно меньше, чем у студентов, но очень херово предсказуемые. Потому что одна удачно прочитанная книга или примененная идея может потребовать выкинуть всю работу за предыдущий срок, но сократит будущий срок в два раза.
no subject
Date: 2010-05-21 08:36 am (UTC)вчера заказчику отослал код на AWK, по CSV описанию генерирующий Си-ный хидер с данными. Срок разработки с обвязками - 4 дня. По этим данным можно даже кустарный reflection и OOP устраивать с ликующими шлюхами.
Это уже второй мой подобный проект за 5 лет, и что характерно - в обоих случаях сроки выполнения и отдачи результата - неделя или менее.
no subject
Date: 2010-05-21 09:07 am (UTC)Fixed.
no subject
Date: 2010-05-21 09:24 am (UTC)в этой версии нет динамического выделения памяти. Вообще.
Мемори-ликующие могут отдыхать.
no subject
Date: 2010-05-21 08:38 am (UTC)по-моему, она еще хуже видна. когда
индусстудент сидит с утра до ночи и херачит говнокод, сразу видно, что работа кипит, результат множится. когда (псевдо)гуру сидит, уставившись в монитор и что-то там пыкая на клавишах,- ужОс! что докладать начальству?no subject
Date: 2010-05-21 08:45 am (UTC)no subject
Date: 2010-05-21 10:19 am (UTC)По стандарту RUP работник должен сам подписаться на сроки, которые ему кажется приемлемым. Должны быть регулярные промежуточные билды. что там между билдами -- начальство не волнует, хоть в Израиль пусть ездят.
no subject
Date: 2010-05-21 08:07 pm (UTC)Интересней другая ситуация: 6 программистов-недавних студентов на C++ по правильному процессу и 2 программиста на Хаскеле в разработке "как придётся". Полгода разработки по процессу с перепланированием и последующей правкой ошибок и недочётов в течении нескольких месяцев и четыре месяца до полного завершения проекта с подведением всех итогов.
Чтобы было понятней, garrrr - руководитель студентов, gaperton - руководитель отдела, где работали мы и подотдел Гусарова.
6*6*0.5=18 (6 месяцев, 6 студентов, зарплату студентов считаем в два раза ниже хаскелистов)
4*2*1=8 (4 месяца, два хаскелиста)