Shub
да
Anonymous
Согласен. Но я вот теперь не знаю - проблема это или нет.
Shub
в индустриальном программировании определенно проблема
Anonymous
в индустриальном программировании определенно проблема
А почему в двух словах? Дебилы лезут в тонкие механизмы и все ломают?
Shub
грубо говоря да.
Shub
все же есть разница между наукой и инженерной деятельностью
Anonymous
Так я тебе словами питона отвечу: мы тут все взрослые мальчики и должны знать, что делаем.
Shub
это декларация. и я с ней согласен
Shub
практика несколько другая. часто надо запретить инфантильным мальчикам совать разные части своего тела в редуктора и ременные передачи
Shub
индустрия определяет ряд конкретных требований и критериев. можно конечно спорить, чем эти критерии являются с точки зрения марксизма и т.п., но это уже данность
Shub
соответственно, чтобы втащить фп в индустрию, надо решить проблему отсутствия средств соблюдения этих критериев с помощью фп
Anonymous
практика несколько другая. часто надо запретить инфантильным мальчикам совать разные части своего тела в редуктора и ременные передачи
Увы и ах, это просто противно духу самой сути. Чистый (поистине чистый) функциональный язык и инкапсуляция - несовместимы наверно. Могу ошибаться, но на текущем этапе своего развития считаю это достаточно глубокой мыслью.
Shub
ну может без инкапсуляции еще худо-бедно получилось бы. есть же примеры структурно-модульных языков, разные там паскали, фортраны и с
Shub
но блин, крестик тогда лучше снять. зачем было тащить ДДД, который по своей сути насквозь объектный?
Anonymous
Не первый же экспериментальный язык оттцда
Anonymous
И не последний
Shub
тем не менее, даже в этом чатике на жалкую тысячу людишек есть достаточное количество пропонентов ДДД на фп
Anonymous
У меня вообще подозрение, что кто-то понемногу отпускает наружу щепки м крохи военных разработок, да и все.
Anonymous
И что где-то умные головы сейчас ломают мозги над формальным доказательствами и формальными системами, а через пять лет это будет новый модный язык.
Ayrat
И что где-то умные головы сейчас ломают мозги над формальным доказательствами и формальными системами, а через пять лет это будет новый модный язык.
Я вот работал в российской оборонке, видал там код для отсоединения ступени ракеты. Надёжный как скала. Редуктор с таймером в виде мембраны давления.
Anonymous
Так Россия так часто, не только в нашу эпоху
Ayrat
Так Россия так часто, не только в нашу эпоху
Ну нет. Оборонка это про надёжность в военное время, а не про высокие абстракции
Anonymous
Ну нет. Оборонка это про надёжность в военное время, а не про высокие абстракции
Ну ты согласен что у военных есть интерес к софту и он им нужен гипернадежный?
Anonymous
Значит, где-то есть люди, которые этой проблемой занимаются. В последнее время действительно очень много публикаций на тему доказательства корректности, всевозможных контрактов и систем типов, повышающих надёжность и кучи всего сопряженного. Эта тенденция не может быть просто случайностью, а есть выражением чей-то заинтересованости в этих знаниях. А кому это может быть нужно настолько, чтобы за это платить? Ангуляру 12.0?
Doge
Но они не платят за науку.
Они платят внезапно за ряд интересных вещей. Чуваки оттуда делают пропозалы в хаскель. Чуваки оттуда делают формалити и другие ФП языки с зав типами на оптимальной редукции лямбда исчисления. Ещё часть прогресса с зав типами и интереса связана с тем, что математики вдохновились HoTT и машинопроверяемыми доказательствами. И большой прогресс оттуда идёт в том числе.
Shub
Они платят внезапно за ряд интересных вещей. Чуваки оттуда делают пропозалы в хаскель. Чуваки оттуда делают формалити и другие ФП языки с зав типами на оптимальной редукции лямбда исчисления. Ещё часть прогресса с зав типами и интереса связана с тем, что математики вдохновились HoTT и машинопроверяемыми доказательствами. И большой прогресс оттуда идёт в том числе.
но это еще не значит, что оттуда идет прогресс в общеупотребительные области. можно понять, зачем нужна формальная верификация для vhdl или каких-то там прошивок, которые не меняются десятилетиями. в екоммерсе например формальная верификация - это способ осваивать венчурные бюджеты
Doge
но это еще не значит, что оттуда идет прогресс в общеупотребительные области. можно понять, зачем нужна формальная верификация для vhdl или каких-то там прошивок, которые не меняются десятилетиями. в екоммерсе например формальная верификация - это способ осваивать венчурные бюджеты
Ну часть идей переносится, но относительно в узких местах. Так же система типов скалы имеет зав типы (и они реально используются, см. особо злобный код на шейплессе), тот же тайпскрипт использует кусочки зав типов (не уверен насколько они там полноценны), но тоже используются
Диёр
спб может посоветует кто мотошколу?
Shub
может кто-то когда-то наберет статистику
Doge
все так, да. надо бы еще узнать, как это кореллирует с качеством кода.
Скорее позволяет типизировать то, что раньше было сложно типизировать. Насколько помогает качеству кода: могу предположить, что библиотекам может помочь, прикладному коду не факт
Shub
насчет библиотек пожалуй так и есть, а насчет типизации в целом - сложно сказать. я обратил внимание, что человекам сложно проводить декомпозицию на типы (с целью устранить классы ошибок и выразить поведение с помощью отношений между типами), а с декомпозицей на поведение худо-бедно, но справляются
Shub
у нас на проекте несчастные 5 сущностей. в попытках разложить их на типы у нас образовалось 317 типов
Shub
причем это не просто оставленные без присмотра джуны. это все с одобрения и благословения архитектора
Shub
не знаю. я бы начал волноваться при скажем 50
Shub
я сейчас говорю про типы-рекорды, а не про объявление типа вообще. так-то их будет хорошо за 500
Anonymous
тьфу
Anonymous
такое уточнять надо )
Anonymous
не знаю, может я еще не прохавал что-то, но типы иногда играют злую шутку. банальная попытка написать простенький парсер в итоге приведет к Expr = And (Expr, Expr) | Not Expr и т.к. далее. есть, конечно ситуации, когда доменная область хорошо ложится как в примерах из funandprofit, но сам по себе акт моделирования сложного явления с достаточной точностью абсолютно точно предполагает и достаточно сложную модель. ну или я просто не научился делать лучше.
Shub
ща
Shub
жалкие 10К
Shub
ну я тут приводил уже примеры мракобесия прямиком с пыльных чердаков некоторых местных деятелей
Doge
жалкие 10К
Что-то звучит как треш. У меня в хаскель/скала проектах на столько же строк типов на порядки меньше.
Shub
секрет прост: амил + F# = девелопер сожрал свое лицо
Doge
А я-то пишу в хаскель стиле, мтл, final tagless, ссылочная прозрачность (где не имеет смысл ради оптимизации в мутабельность удариться), все дела. Все равно не понимаю, как можно на 10к строк получить 500+ типов
Doge
Разве что каждый тип newtype'ить, но и то сомнительно. Такое, конечно, реалистично для турбо ООП-SOLID джавы, где куча супер мелких классов на каждый чих
Ayrat
Я тут ща переписываю наше богатство со скалы на скалу. Близится запуск (локально уже работает на 30%, не хватает немного метриками обмазать и апишечку накинуть) Из 50ти проектов осталось 2, причем второй высосан из пальца соседом - "вынес Data Access Layer", чтобы переиспользовать. Где переиспользовать - не ясно, но хуй с ним. В проекте пока что 10 файлов. Тяжело придумать больше, как ни силюсь.
Ayrat
Тестов пока тоже нет, да. Ну, ещё пару файлов сверху будет
Ayrat
И работает не на 34 нодах по 100ГБ оперативы каждая Я на рабочем маке засосал один из 5 наших продакшн топиков, подозреваю что можно на трех йоба нодах развернуть (для DR) и вперде
Anonymous
ничосе
Anonymous
девопсы так без денег останутся (
Ayrat
Это я про то, что на солюшн пока что объявлен пяток доменных типов и пара десятков object скаловских Еще раз - раньше было 54 проекта. Менеджмент из США смотрит с подозрением.
Vladislav
Сократила все
Anonymous
в стиле "этот парень либо придурок, либо -- гений"?
Anonymous
или в стиле "нахуя он так старается, если и так все нормально было"?
Doge
Это я про то, что на солюшн пока что объявлен пяток доменных типов и пара десятков object скаловских Еще раз - раньше было 54 проекта. Менеджмент из США смотрит с подозрением.
У меня так же переписывание одной джава библиотеки идёт. Из 40к строк стало 5к. Время исполнения в 10 раз упало, потребление памяти с 2Гб до 20Мб
Doge
А всё что нужно было - не оверинжинирить точки расширения там, где их на самом деле нет
Ayrat
или в стиле "нахуя он так старается, если и так все нормально было"?
Они всецело поддерживают. У них бизнес не идёт, цели проебываются и задачи не закрываются из-за того что предыдущее решение не работает (оно кстати лежит мертвым грузом).
Ayrat
А всё что нужно было - не оверинжинирить точки расширения там, где их на самом деле нет
Вот да. Я для хохмы посчитал, в старом коде 126 различных Provider и 33 Manager.
Shub
конвертнуться что ли в скалу? вон как там дела идут в гору
Ayrat
У меня пока 0 провайдеров и 0 менеджеров
Ayrat
И интерфейсов всего 2. И то, потому что скала в DU не умеет
Ayrat
конвертнуться что ли в скалу? вон как там дела идут в гору
Фшарп в джете, скорее всего, мертвая тема. Как ни прискорбно.
Shub
я тоже так считаю
Shub
возможно, это даже к лучшему
Vasily
Ну когда куча сильно дохуя умных собирается в одном месте, получается не очень
Ayrat
я тоже так считаю
В хобокене наша тима под руководством Вани Глущенко и Паши Соловья собирается. Топай к ним пока не поздно
Ayrat
Проект будет огонь, чем раньше заскочишь, тем больше профита
Vasily
Скала?
Ayrat
Скала?
Да хоть хаскель. там проект на горы промоушнов