Выбрать из множества доступных тот ЯП, который позволяет решить поставленную задачу самым простым способом и минимальным количеством кода здесь и сейчас на заданной платформе - это правильный, технический подход
( Read more... )
> Выбрать более плохой ЯП, который решает ту же самую задачу > заведомо более сложным способом и с бОльшим количеством кода,
У нас же святая четвёрка: качество, сроки, бюджет и риски. Причём риски доминируют настолько, что технические аргументы из поста, которые про сроки и качество, всем по барабану.
Да плевать, насколько хорош этот новый язык и насколько больше на старом кода и насколько он обойдется дороже. Предсказуемость процесса разработки на старом всегда выше!
Соответственно преимущества нового должны перевесить предсказуемость. А этого можно достичь не только переходя с C# на хаскель, но и делая пилотные проекты.
Готов подписаться под каждым словом, если речь идёт о радикальной смене экосистемы и отказе или значимом ограничении совместимости с существующей кодовой базой. Например, миграции C# на Haskell или с C++ на Rust (D, Go), возможно даже Java -> Scala.
Но мой пост не про это. Я имел ввиду случаи с меньшими рисками: С# -> F#, pure js -> TS/Flow, C -> C++ (да простит меня линус торвальдс). Когда можно слегка переобучиться и начать писать практически то же самое, но качественно проще и с меньшими усилиями.
Comments 12
Reply
Reply
Reply
Reply
> заведомо более сложным способом и с бОльшим количеством кода,
У нас же святая четвёрка: качество, сроки, бюджет и риски. Причём риски доминируют настолько, что технические аргументы из поста, которые про сроки и качество, всем по барабану.
Да плевать, насколько хорош этот новый язык и насколько больше на старом кода и насколько он обойдется дороже. Предсказуемость процесса разработки на старом всегда выше!
Соответственно преимущества нового должны перевесить предсказуемость. А этого можно достичь не только переходя с C# на хаскель, но и делая пилотные проекты.
Reply
Но мой пост не про это. Я имел ввиду случаи с меньшими рисками: С# -> F#, pure js -> TS/Flow, C -> C++ (да простит меня линус торвальдс). Когда можно слегка переобучиться и начать писать практически то же самое, но качественно проще и с меньшими усилиями.
Пилотные проекты конечно нужны в обоих случаях
Reply
И готовы делать их по ночам, или оплачивать из своего кармана? %)
Reply
Reply
Leave a comment