?

Log in

No account? Create an account

Заповедник репрессивной психиатрии

На тему высшего образования
metaclass
За подсчет интеграла Cos2X dx платят 15р!

Я сразу себе представил - у вуза сидят в палатках с табличками "решаем интегралы, дешево" специальные математики, к ним стоит очередь долбней :)

"Оптовый магазин интегралов" "Элитные решения задачи Коши" "Только у нас - консультация у представителей института математики АН" "Разностные схемы оптом и в розницу"

Haskell
metaclass
Очередная
дискуссия на тему Haskell, начавшаяся с подсчета людей, которых можно найти для поддержки написанных на нем программ.
thesz спрашивает, почему я считаю, что хаскель малопригоден для промышленной разработки. Собственно говоря, самим фактом подсчета уже все сказано - почему-то никому не приходит в голову считать "сколько есть программистов на Java, С#, итд".

А вообще:

1) SPJ в интервью утверждал, что его цель - "не дать языку стать успешным". Это чтобы можно было в языке ради исследовательских целей менять что попало, будучи независимым от пользователей. И то - в языке до сих пор нету стандартных записей, с именнованными полями, все реализации на уровне расширений стандарта.

2) Полагаться в работе на язык, за который отвечают люди не из индустрии, а из академической среды - это значит искать себе неприятностей. Чтобы понять, что нужно для работы программистам - нужно работать программистом. Пообщаться с пользователями, пройти несколько авральных дедлайнов(это когда нет времени на вещи типа "разобраться, кто вызывает утечку памяти - мы или ошибка в сборщике мусора")

3) Язык должен быть доступен для освоения русскоязычными индусами с тремя классами ЦПШ курсами ускоренной подготовки низшего кодерского состава. Ориентироваться на лучших, которые могут это освоить, это конечно хорошо, но не в этой жизни.

4) Сложные алгоритмы (то, в чем так хорош хаскель) уже давно писать практически не нужно. Нужна всякая хрень - расставить кнопки так как это удобно юзерам, вытащить из базы данные и напечатать так, чтобы это понравилось налоговой инспекции, интегрироваться с системой, написанной людьми, которые не то, что про Haskell не слышали, а вообще в проектировании софта не в зуб ногой.

5) Средств разработки нет. В фаре писать и компилировать из командной строки, конечно, удобно, но когда в проекте пару сотен или тысяч исходных файлов и сотня модулей - без IDE можно рехнуться. Вопрос о intellisense/code completion остается открытым, его можно делать по разному(с проверкой типа объекта, как в Delphi, или просто тупое перечисление всех видимых имен, как в
Visual studio) и реализация такой вещи для хаскеля это, по-моему, потянет на хороший курсовой/дипломный проект по соответствующей специальности :)


Да, автоматический вывод типов, ленивые вычисления и функции высшего порядка очень бы пригодились для работы, как минимум, можно было бы выкинуть множество мелких служебных классов, служащих для имитации этого на обычных языках.
Чистота языка - уже сложнее, ввод-вывод на хаскеле с использованием монад выглядит уже не так приятно, как какие-нибудь красивые математические алгоритмы, и сравним по ужасности с кодом на обычных императивных языках. Вот пример

Но все остальные заморочки языка перевешивают его преимущества.
Для идеального сферического программизма в вакууме - хороший язык. Для промышленной разработки с целями "сделать продукт, продать, поддерживать и дорабатывать еще лет пять" - нет. Вопрос в исходном посту по ссылке так и остался открытым - кто будет поддерживать сложные продукты на хаскеле после того, как их первый разработчик загремит в психушку/уйдет на другую работу/отбросит коньки?

Кругом заговор
metaclass
Внезапно перестал работать svn дома на двух машинах. На третей работает. Перекопали все, сервер работает, телнетом на порт коннект доходит, итд. Сделал svn up на третей - и там перестал работать. Причем не работает странно - svn log, svn up, svn co обмениваются парой сотней байт с сервером и затем виснут и ничего не делают. Залез на работу, проверил оттуда - все работает. Но там коннект через ssh, а тут как бы напрямую(через шлюз на iptables). Завел коннект через ssh дома - через него все обновилось, после чего начало работать и напрямую.

Интересно, что бы это могло быть? Магическая последовательность символов выносящая что-то из сетевых компонент начиная от iptables и заканчивая pptp сервером через который это ходит, что ли.