metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-08-12 10:56 am

Запретить жабу, дотнет, пхп, перл и крестики, только ФП, только хардкор

https://medium.com/@yelbota/%D0%BA%D1%80%D1%83%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%BE%D1%82-%D1%83%D0%BD%D1%8B%D0%BB%D1%8B%D1%85-%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%B2-612c72738d04

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

Как я уже неоднократно писал - все эти "интересы бизнеса" и "проверенные инженерные решения" - это отмазки неосиляторов, унылых кольчатых червей-менеджеров и повышение откато-попилоемкости проекта.

[identity profile] jdudzik.livejournal.com 2015-08-13 12:50 pm (UTC)(link)
Даже под Scala нет нормальных IDE

- текстовый редактор + компилятор в командной строке - как в 1975. Убедитесь, что на терминале есть сточные буквы
- Eclipse - не умеет создавать группы проектов. Шёл 2015 год, а она по прежнему не умеет сделать так, чтобы два небольших проекта-интерфейса и общая библиотека.
- IDEA + Scala plugin - создаю новый Scala проект с SBT. IDE сообщает, что тип файлов SBT ей неизвестен. Если перезапустить, тип внезапно опознается. Но создать новый файл .scala - нельзя, в new только .java. Запустить - нельзя, нужно создать специальную настройку scala-проекта, которых два типа - и не один не работает. На сайте разработчика - мануал для предыдущей версии, таких окон и настроек давно нет.

Итого - средства разработки даже для более-менее мейнстримовой Scala - ад и пиздец, не доросший до уровня Borland C 1985 года выпуска (там можно 1) СОЗДАВАТЬ ФАЙЛЫ 2) ПИСАТЬ В НИХ ТЕКСТ ПРОГРАММЫ 3) ЗАПУСКАТЬ ИХ ИЗ МЕНЮ!!!!!!!).

Единственный функциональный язык, для которого есть IDE, а не пипец в командной строке - F#.

Языки станут популярней, когда IDE для них достигнут уровня 1985 года.

[identity profile] permea-kra.livejournal.com 2015-08-13 02:40 pm (UTC)(link)
Кто б мне объяснил, зачем нужна IDE...

[identity profile] jdudzik.livejournal.com 2015-08-13 03:05 pm (UTC)(link)
Кто б мне объяснил, зачем нужны трактора, если есть проверенная веками палка-копалка....

[identity profile] vp.livejournal.com 2015-08-13 06:11 pm (UTC)(link)
Неправильная аналогия. Зачем нужны трактора, если есть плуг и седельный тягач.

[identity profile] jdudzik.livejournal.com 2015-08-13 06:41 pm (UTC)(link)
Так не заводится ваш тягач.

[identity profile] thedeemon.livejournal.com 2015-08-13 04:20 pm (UTC)(link)
Чтоб переименовывать сущности не через поиск строк грепом. Чтоб find usages был годный. Чтоб автокомплит был умный, type-aware, а не лексический.

[identity profile] permea-kra.livejournal.com 2015-08-13 04:39 pm (UTC)(link)
Никогда не чувствовал необходимости.

Впрочем, у меня кода редко больше 500 строк набегает в один прожект (ну не программист я, не программист)

[identity profile] thedeemon.livejournal.com 2015-08-13 04:50 pm (UTC)(link)
Необходимости нет, разумеется, можно ж и на перфокартах все делать. Но уровень удобства разный, и кто один раз к такому привыкнет, потом уже без этого так некомфортно, что аж кушать не могут.

[identity profile] thesz.livejournal.com 2015-08-14 09:03 am (UTC)(link)
Я без IDE не могу только на C#. Натурально, геморрой жуткий. И то, я бы и тут справился, но TFS!!!

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

Это как совет про легаси тут выше. Очень умный человек сказал, мне очень нравится.

[identity profile] thedeemon.livejournal.com 2015-08-14 10:57 am (UTC)(link)
А как это работает при использовании существующих библиотек?
Скажем, есть библиотечная ф-я Crypto.PubKey.ElGamal.sign, у нее пять параметров из трех тайпклассов, мне при ее вызове или взгляде на ее вызов в исходнике каждый раз бегать в документацию или REPL, чтобы узнать тип третьего аргумента?
Разве плохо иметь возможность сдвинуть мышь и сразу увидеть?

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

Впрочем, и для хаскеля, и для скалы какие-то IDE имеются, в количествах более одной. Вопрос лишь в их качестве.

[identity profile] metaclass.livejournal.com 2015-08-13 04:59 pm (UTC)(link)
Нужна, чтобы продать язык менеджерам и команде.
Хороший инструментарий сразу дает много очков.
Я вот обнаружил что rust не умеет делать и использовать отладочные символы под виндой - это гарантированные проблемы в будущем, когда надо будет в сдохший продакшен тупить.

[identity profile] anonim-legion.livejournal.com 2015-08-14 02:28 pm (UTC)(link)
Бороду брить надо, или хотя бы красить, чтобы седина не отсвечивала.

[identity profile] anonim-legion.livejournal.com 2015-08-14 02:29 pm (UTC)(link)
> два небольших проекта-интерфейса и общая библиотека.

Для этого вообще maven есть.

[identity profile] alexandr0.livejournal.com 2015-08-17 01:02 am (UTC)(link)
Из sbt проекты в IDEA вполне хорошо импортируются.
Кто хочет, использует Скалу для работы. Кто не хочет -- ищет оправдания.

[identity profile] alexandr0.livejournal.com 2015-08-17 01:06 am (UTC)(link)
У меня файлы отлично создаются и редактируются. ЧЯДНТ? Возможно, использую не ту ОС?