четверг, июля 03, 2008

Язык имеет значение

Все мы слышали, что есть Хаскел. Все мы знаем, что он крут. Крут настолько, что многие его даже боятся.

Все мы знаем, что программы на Хаскеле короче и быстрее пишутся. Те, кто писал на Хаскеле, уже с трудом могут заставить себя использовать другой язык.

Так какого черта мы пишем на чем-то другом?

Мне кажется, мы просто ссым!

Почему? Чем мы себя обманываем? Почему боимся «рисковать», когда риск заключается как раз в неиспользовании Хаскела?

Лично я сыт по горло от собственных же отмазок. Проведя анализ ВСЕХ своих проектов, сделанных за последние 9 лет, я пришел к выводу, что ВСЕ они (кроме драйверов и прошивок микроконтроллеров) могли бы быть сделаны на Хаскеле.

Но это не самое страшное. Самое страшное — это сколько времени было потеряно на низкоуровневые языки.

В проектах, написанных на C++, можно было бы сэкономить 30-40% времени разработки (а при наличии готовых библиотек, еще больше). Страшно вспомнить, сколько я их отлаживал, и, все равно, раз в месяц программа таки падала.

В проектах, написанных на C++, питоне и окемле, можно было бы срезать до 20-25% времени, только за счет отказа от С++ и питона. Переход на Хаскел дал бы еще минимум 10%.

Кстати, запомните — C++ и питон нужны только для того, чтобы подняться уровнем выше C. Если вы уже используете более высокоуровневый язык (окемл или хаскел), то за использование чего-либо, кроме C для самых критичных мест, надо сильно бить себя по рукам — вы просто тратите время зря. Все, что выше C надо писать на Хаскеле, а не С++.

Даже учтя, что последние 9 лет я не только работал, но еще и ходил в техникум и институт, все равно я потерял минимум 1.5 года жизни из-за ничем не оправданного применения С++ (и еще пару месяцев из-за питона). Я идиот. Не повторяйте моей ошибки, и не ссыте применять то, что действительно удобно, приятно и позволяет решать задачу, а не проблемы.

И главное, не переставайте искать лучшее. Надеюсь лет через 5 я напишу такой же разгром хаскела и буду рвать волосы, что не использовал другой язык все это время.

А пока, если вам дорога ваша жизнь, и не хочется тратить ее попусту, используйте Хаскел. Точка.

PS для менеджеров: вам дороги сроки сдачи проекта? Уже догадались, что надо использовать, а чему сказать нет?