Запретить жабу, дотнет, пхп, перл и крестики, только ФП, только хардкор
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
Пройдет время, некоторым не повезет, и они встретят кризис среднего возраста в одиночестве, платя алименты ушедшей жене. Когда-то давно она прочитала в Космо, что программисты — это новые рок-звезды, но ушла, когда узнала что ее муж, унылый похапешник, не комитит на гитхаб. Другим повезет: они смогут проскочить в тимлиды, и руководство заткнет ими купленный слот на отраслевой конференции. Там они самоутвердятся, рассказав молодым, что унылыми быть круто. И спираль уныния выйдет на новый виток, засосав еще больше классных ребят.
Как я уже неоднократно писал - все эти "интересы бизнеса" и "проверенные инженерные решения" - это отмазки неосиляторов, унылых кольчатых червей-менеджеров и повышение откато-попилоемкости проекта.
Пройдет время, некоторым не повезет, и они встретят кризис среднего возраста в одиночестве, платя алименты ушедшей жене. Когда-то давно она прочитала в Космо, что программисты — это новые рок-звезды, но ушла, когда узнала что ее муж, унылый похапешник, не комитит на гитхаб. Другим повезет: они смогут проскочить в тимлиды, и руководство заткнет ими купленный слот на отраслевой конференции. Там они самоутвердятся, рассказав молодым, что унылыми быть круто. И спираль уныния выйдет на новый виток, засосав еще больше классных ребят.
Как я уже неоднократно писал - все эти "интересы бизнеса" и "проверенные инженерные решения" - это отмазки неосиляторов, унылых кольчатых червей-менеджеров и повышение откато-попилоемкости проекта.
no subject
Функциональщина в имеющихся языках - это уныние. Макросы в C#? LINQ в жабе? Алгебраические типы данных хотя бы в одном из мейнстримных языков?
no subject
Я недавно словил "выход за границы массива" в коде вида
for (int i=0;i < s.Length; i++) { var p = QQ(c => c == s[i],p); }Замыкания в C# замыкают не значения, а ссылки на переменные!
Исходил дерьмом минут двадцать, пока не понял, что это как Питоне.
Ужас. Даже в Лиспе нормальные замыкания с 1983 года. Куда эти плагиаторы смотрят?
(с другой стороны, tie the knot по другому в семантике C# не сделать, а он мне нужен)
no subject
Ооо, это известный прикол. "Вышел из цикла, и все переменные указывают на значение в последней итерации".
причем что-то вроде int j=i; внутри цикла от этого помогает.
no subject
Разве что в С++, где можно явно выбирать между ссылкой и копией.
no subject
no subject
no subject
Это такая парадигма в языкостроении, когда возможности языка подгоняются под ограничения компилатора.
То есть вот сидит такой изобретатель языка и пытается впихнуть него замыкание по всем правилам, вдруг его озаряет: а как же блин я эту фичу переложу на ассемблер? Это ж получится жутко сложно и неэффективно, да? А такое ж немыслимо. Нунах, лучше возьму молоточек и щас у меня замыкание станет другим. и тогда в ассемблер влезет. А пользователю что? Он даже не заметит. Сожрет и похвалит, и добавки попросит.
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
Я вообще не могу извлечь смысл из вашего однострочного комментария.
no subject
no subject
no subject
no subject
Вот, нашёл.
Видимо, dynamic binding ещё хуже, чем то, что есть сейчас в Лиспе, поскольку с ним вообще не получается использовать Лисп в качестве функционального языка.
no subject
no subject
простите, что это за х_йня. Для чего тут цикл? что мешало вместо него сделать (for)each с лямбдой?
no subject
Поскольку это критическое по времени место (именно так), преобразовывать в IEnumerable и разворачивать для прохода через foreach смысла не имело.