Hog
И это у меня ещё индусов нет :)
Hog
Shub
Shub
Shub
это руина брамфатуры, пытавшаяся слиться с нашим затомисом
Hog
Гуй в лучших программистских традициях
Hog
Спасибо за новые слова
Shub
неее, там гуй так, сбоку
Shub
но т.к. это низший инфракосмос, я его очень успешно законтрил перлом, причем в одиночку
Shub
в общем, я про APL писал. APL выпал из популярности не в последнюю очередь из-за WYSIWYG
Shub
совершенно бесполезный тренд оказался, по ходу, от большинства визуальных средств получилось больше убытков
Shub
и наш виток спирали как раз уводит пользователя от этой темы, а ведет как раз к предыдущей концепции - заполни форму значениями, а представление мы сгенерим сами
Shub
я когда-то очень давно пытался донести эту мысль, на меня смотрели как на помешанного: мол, как это так без Ворда? а кто же пробелами текст форматировать будет? нельзя же чтобы текст пробелами не форматировался
Ilya
Hog
А как же го?
Я не знаю, как оно. Может там же, где и Дарт?
Romɑn
Shub
GNU APL 100% тру
Shub
есть куча литературы
Shub
современная версия - J, но для него туториалы так себе
Romɑn
К наследник J
Shub
К - коммерческий
Shub
и он вроде с Q сильно интегрируется. у кого хватило денег на лицуху - очень хвалят
Shub
а J - это все тот же Иверсон, только попытка сделать язык на ANSI codepage
Hog
Как вы нашли друг друга! Аж завидно :)
Hog
@neftedollar - я иглифу уже послал эту картинку
Hog
Hog
Вот нашел визитку местного апл энтузиаста :)
Shub
К в общем-то широко известен, очень популярен в финтехе. но он по слухам мало похож на АПЛ и J
Anonymous
Hog
И там очень дохера всего было и из «гуя» триггерились внешние процессы.
Anonymous
Dr. Friedrich
Dr. Friedrich
На уровне F# примерно
Dr. Friedrich
Ну то есть в сравнении с Java/C# — откровенно грустно смотреть.
Dr. Friedrich
Плюс, стандартная либа там тоже не очень хорошо пахнет.
Dr. Friedrich
Ну, например, представьте себе, у них в 2k19 году до сих пор нету конструкции use, и даже функции аналогичной нашему using тоже нету. Приходится писать содомию типа val x = try source.read() finally source.close()
Как хотите, но мне кажется, что это прям просто смешно.
Ilya
Ну вот. Была у фшарперов легенда, что где-то там на скале есть рай фпшников, а потом пришёл фонневер и всё испортил.
Dr. Friedrich
Зато миксины зачотнейшие
Dr. Friedrich
Этой фичи мне сильно не хватает в остальных современных ООП-языках. В этом смысле Scala меня испортила, можно сказать.
Dr. Friedrich
Dr. Friedrich
Я-то скорее прагматик, за чистотой парадигмы никогда не гнался.
Dr. Friedrich
Бывает, я запариваюсь чистотой других вещей (ну, например, гигиены, связанной с тулингом). Но на парадигмы лично мне по большей части начхать.
Dr. Friedrich
Dr. Friedrich
Кстати, знает кто .нет либу для дифов по объектам?
Вот у меня два объекта одинаковой структуры.
И мне нужно понять какая часть у одного объекта изменилась относительно другого.
Типа
getChanges obj1 obj3
//Changes are
1. Глянь либу DeepEqual, она умеет сравнивать объекты в глубину, и там есть опции для того, чтобы учитывать приватные/интёрнал поля, и всё такое.
2. Если тебе для тестов, то я недавно вполне успешно начал юзать ApprovalTests.Net.
Смотри, смысл в том, что твои тесты готовят какие-то объекты, а потом их сериализуют в жисон (или во что хошь) и сохраняют в файлы на диске. Эталонный набор тестовых файлов ты сохраняешь в репозиторий, а во время тестов просто делаешь сравнение файлов.
Это очень удобно потому, что дифф результатов тестов сводится к обычному гитовому диффу. При таком подходе крайне удобно понимать, почему тесты фейлятся. И можно сравнивать большие наборы комплексных объектов.
И для этого не нужно портянки кода писать — ты можешь запустить тесты в специальном режиме и сгенерировать начальный набор эталонных данных, или перегенерировать уже имеющиеся (если вдруг ожидаемые результаты тестов поменялись).
Dr. Friedrich
Соре, я с прошлых выходных ещё не весь телеграм разгрёб, поэтому немножко буду некропостить :)
Ayrat
Мы юзааем api-diff либу. Она генерит файл Аля fsi. Дальше по этому файлу гоняются тесты - проверяют что все по спеке. Можно снимать дифы между разными версиями
Dr. Friedrich
Андрей
nix вообще god send
А что ты с ним делаешь. Я как-то тоже Никс пробовал ставить, так он мне весь ссд чём-то засрал - снес нафиг так и не распробовав
Dr. Friedrich
Dr. Friedrich
Вот это точно правда
Dr. Friedrich
Dr. Friedrich
Сразу и менеджер пакетов, и менеджер окружений (типа virtualenv), и среда сборки — и всё в одном флаконе
Dr. Friedrich
Прям вот блин ровно то, что изначально и нужно было
Dr. Friedrich
Идеологически правильно сделанная вещь.
Dr. Friedrich
С практической точки зрения у меня есть вопросы к этому их бинарному патчеру, вот где затея в высшей степени сомнительная
Dr. Friedrich
Но блин идеология, как оно всё интегрирует друг с другом — это прекрасно.
Romɑn
Dr. Friedrich
В приличном редакторе это бы выглядело так.
Dr. Friedrich
Дотти должен стать худее, да.
Андрей
или мартин прислушается к дегусю и выпроводит оопшников на котлины. с другой стороны тулинг не так уж и сильно нужен как в c#. скоуп изменений почти всегда ограничивается отдельной функцией, которую или выкинуть или параметр добавить и делов
Dr. Friedrich
Dr. Friedrich
Но на самом деле надеюсь, что он не станет никого выгонять, а продолжит делать годный ФП/ООП язык.
Андрей
Ну, например, представьте себе, у них в 2k19 году до сих пор нету конструкции use, и даже функции аналогичной нашему using тоже нету. Приходится писать содомию типа val x = try source.read() finally source.close()
Как хотите, но мне кажется, что это прям просто смешно.
меня тоже повеселило что use нет в стдлибе, но есть парочка недобиблиотечек, которые и тащить то смешно, потомучто using пишется в полторы строки, и сам определяешь - просто освободить ресурс, или изер вернуть, или еще что
Dr. Friedrich
Dr. Friedrich
К тому же ты можешь сам решить, что вернуть — вдруг ты хочешь, чтобы оператор сложения ещё и в два раза результат увеличивал!
Dr. Friedrich
(нет блин, я не хочу, просто дайте мне сложение. и дайте мне юзинг)
Андрей
Dr. Friedrich
Ну то есть с поинтом я согласен, но это и получается смерть от тысячи порезов. Одного нету, другого, третьего — глядь — а у тебя уже файл Utils.scala на две тыщи строк.
Dr. Friedrich
За это ли мы боролись?
Dr. Friedrich
Dr. Friedrich
Их же нужно под каждую минорную версию скалы пересобирать
Dr. Friedrich
Поэтому сразу после релиза, и в течение N месяцев/лет после релиза очередной версии ты можешь не найти нужной сборки той же scala-arm.
Андрей
paket на них нехватает, чтоб пофайлово депендить )