![[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:07 pm (UTC)Интересней другая ситуация: 6 программистов-недавних студентов на C++ по правильному процессу и 2 программиста на Хаскеле в разработке "как придётся". Полгода разработки по процессу с перепланированием и последующей правкой ошибок и недочётов в течении нескольких месяцев и четыре месяца до полного завершения проекта с подведением всех итогов.
Чтобы было понятней, garrrr - руководитель студентов, gaperton - руководитель отдела, где работали мы и подотдел Гусарова.
6*6*0.5=18 (6 месяцев, 6 студентов, зарплату студентов считаем в два раза ниже хаскелистов)
4*2*1=8 (4 месяца, два хаскелиста)