Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Misha Verbitsky ([info]tiphareth)
@ 2022-07-08 08:13:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Настроение: sick
Музыка:Caeatana - COMPRENDE
Entry tags:linux

Поеттеринг свалил из редхата в микрософт
Смешное
https://www.theregister.com/2022/07/07/lennart_poettering_red_hat_microsoft/
мразостный Поеттеринг свалил из редхата в микрософт.
Хрен редьки не слаще, стараниями Поеттеринга и
других таких же гадов редхат давно превратился в такое же
говнище, как и m$, и разносит эту тошнотворную заразу
по остальным линуксам. Да чтоб они сдохли вообще.

Привет



(Читать комментарии) - (Добавить комментарий)


(Анонимно)
2022-07-09 06:13 (ссылка)
Неплохой дотнет, к сожалению, привлек очень много быдлятины, почти как плохой жабоскрипт. И поскольку он теперь опенсорес, он неизбеждно скатится в сраное.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-09 08:01 (ссылка)
Не думаю, все мухи на python сидят.

Впрочем, у C# (как, впрочем, и у Java) есть чудовищный косяк - отсутствие dependent types. В C++ они есть, там шаблоны могут зависеть от констант, и там есть variadic templates; а в C# вот этот кошмар, и они жалуются (в духе gnome, "why do you want to do it", "8-dim tuple is enough for all") хвастаются, что из-за type erasure этого сделать нельзя (в принципе, это вранье, но идея понятна)

Когда уже сделают нормальный язык с зависимыми типами, который не слон типа C++ и не эксперимент типа Idris

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-09 09:37 (ссылка)
C++ это какая-то шутка - "template metaprogramming" это спонтанно обнаруженный (!) функциональный язык, наверное, самый хуёвый функциональный язык из всех существующих. При этом, они реально развивают язык, строя на нём фичи, пердолятся с этими темплейтам, и даже в итоге получается что-то терпимое, типа концептов (если не смотреть под капот)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-09 11:18 (ссылка)
типа тово. на самом деле понятно, turing completeness довольно легко заводится везде, если специально не следить, как тараканы (взять ту же "игру жизнь"). и они с этого конца пытаются эту дикость одомашнить.

под капотом у концептов как раз все пучком, это чисто компиляторная штука; перед этим были, да, type traits, как продолжение великой идеи, чтобы сообщения об ошибках занимали non-human-parsable мегабайты и полчаса времени на компиляцию, если тянуть буст.

концепты все это сворачивают, компилируем быстро, сообщения об ошибках внятные.

плюс они ещё ввели модули, теперь будет (в теории) компилироваться не так быстро, как pascal (у него специально очень простая грамматика), но сравнимо - когда они наконец хотя бы стандартную библиотеку, и потом boost, на них переведут.

плюс cling (интерпретатор C++) уже довольно пристойный.

но все равно язык чудовищно громоздкий, конечно.

с другой стороны, Java делают постепенно чудовищно громоздкой б.м. for free, без особых benefits.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-09 12:07 (ссылка)
Ну да, концепты это уже следующий этап.

В общем, им потребовалось почти 40 лет чтобы сделать немного вменяемый язык, лол

(Ответить) (Уровень выше)


(Анонимно)
2022-07-09 14:41 (ссылка)
>без особых benefits

лол блядь

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-10 08:20 (ссылка)
ну а как это сказать по-русски? "без особых выгод" звучит немного не про то. "ничего особо не приобретая" разве что

но нахрена, если есть слово benefit

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-10 14:02 (ссылка)
это ты ничего не приобретаешь, но тебе никто ничего и не должен

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-10 16:36 (ссылка)
эм. есть два производителя гаечных ключей. один производитель усложняет гаечные ключи, но в результате они легче откручивают гайки, показывают индикатором, насколько туго закручено, ходят в интернет и показывают тебе ролик про WD40, если считают нужным; а другой просто делает их все более хитровыебанной формы, не увеличивая особо функционала. так understand?

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-11 04:48 (ссылка)
>эм. есть два стула ...

всё, как всегда. ничего нового.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-11 20:21 (ссылка)
вам надо со "сделай сам"-анонимусом побеседовать

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-12 14:41 (ссылка)
я воздержусь, тебе нужнее

(Ответить) (Уровень выше)


(Анонимно)
2022-07-23 10:50 (ссылка)
ггг вонющи с хабра рассуждают за типы, спешите видеть ЛОЛ

вони, вы даже не представляете ггг. есть такая хуета - алгебраик тайпз, и юниверсал паттерн-матчинг (особенно по сумм-тайпам), плюс модули + тайп классы (которые есть иерархия абстрактных типов, как завещала Барбара Лискофф). умные люди все давно решили. на typeclasses и haskell 98 и ocmal modules, ok, был пик и конец золотого века, с началом неминуемого скатывания в сраное говно.

единственная рельная инновация за последние 20 лет - эт в трансо-фурри русте, где ограничение на at most one mutable reference захуячено в static type system. сие есть неебательски важно, ибо оно сохраняет referential transparency, а из этого ваще все следует.

но вы подолжайте, вы реально доставляете.

(Ответить) (Уровень выше)


(Анонимно)
2022-07-09 12:11 (ссылка)
Туплес это говно вообще, но какой в с# type erasure? Или имеется ввиду, что из-за отсутствия type erasure система типов языка ограничена системой типов рантайма?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-09 13:15 (ссылка)
Не совсем говно, там у них есть полезный кейс сидеть внутри библиотеки закрыто, и однотипно реализовывать "одинаковые" операции для кортежей разной арности ("взять k-тый элемент" и подобное).

Имеется в виду, что я спутал с обсуждением аналогичной проблемы в java (где это, впрочем, тоже не должно быть особо релевантно - ну елы-палы, на ассемблере это написать можно, а вставить в java/c# нельзя).

В общем, подобных дискуссий туча:
https://blog.slaks.net/2015-06-16/code-snippets-variadic-generics-csharp/

Тут я, действительно, пишу о том, в чем нормально не разобрался (не понимаю, почему), но факт на лице

Переменное число параметров у обобщенного типа важно также для типов функций: F: X_1->X_2->...->X_n чтобы клеить из них функции высшего порядка (подставить первый аргумент, подставить последний аргумент, добавить аргумент лямбдой).

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-09 14:48 (ссылка)
Ну я так и подумал, что ты опять малофейничаешь, но аргумент, что типизация рантайма мешает языку иметь высшие типы, в общем валидный. F# с этим по уродски пытался разобраться. F* разобрался полностью. Но они никому не нужны.

"взять k-тый элемент" а какой тип у этой операции?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]sometimes
2022-07-10 08:17 (ссылка)
> "взять k-тый элемент" а какой тип у этой операции?

i -> Tuple<T_1, ..., T_i, ..., T_n> -> T_i.

определить только для compile-time constant i, рантайм-тип Tuple генерить on the fly любой сигнатуры. собственно, первое ограничение в C++ и действует, там нельзя написать size_t i := input(); auto x = get<i>(t). есть же Roslyn, неужели он не позволяет это сделать?

плюс в java вполне наличествует type erasure, а нормальных кортежей все равно нет (хотя в java идеологи не хотят даже pair в язык пускать, "why do you want to do it", но вряд ли с этим связано - там ещё есть совершенно чудовищный модуль https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html)

> высшие типы

ты, видимо, про higher kinded types, я про dependent (N -> *, в частности), но может это связано.

> Но они никому не нужны.

Подозреваю, это потому, что на F* писать убьешься. lambda и async/await (которые на самом деле delimited continuation и причапали в мейнстрим из функциональных языков, вероятно, не без посредства seaside - по кр мере в JS/node) тоже были "никому не нужны"; но вообще довольно очевидно, что за provable programming будущее, иначе самолеты, ракеты и банковские счета так и будут летать "иногда", и вопрос только в том, когда assistance и концепции мейнстримных языков до этого дорастут.

> малофейничаешь

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

An idioglossia (from the Ancient Greek ἴδιος ídios, 'own, personal, distinct' and γλῶσσα glôssa, 'tongue') is an idiosyncratic language invented and spoken by only one person.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-10 14:08 (ссылка)
его узус развился из защеканского детства - он таким образом проецирует и отрицает

(Ответить) (Уровень выше)


(Анонимно)
2022-07-10 17:03 (ссылка)
Окей. Ну функциональщина приходит в мейнстрим, когда становится нужна. Например, телефоны форсят асинк юи и асинк ио.

> будущее, иначе самолеты, ракеты и банковские счета так и будут летать "иногда"

Боюсь, в этом и состоит будущее, по крайней мере консюмерского софта. Great again он уже не станет.

> малофейничаешь идиоглоссии

Рад, что ты спросил. Ну придумал я это слово и оно мне нравится, я ржу каждый раз когда его пишу и особенно читаю. Ну еще интересно, зафорсится ли оно. Оно как бы подходит для тифаретника. Ради этого и пишу это вот все.
Вот знакомые из Сибири употребляют слово хуёвничать, смысл примерно похож.
А в семье мы вообще употребляем очень безумные слова, очень сильно зависимые от контекста, они помогают выразиться и понять намного точнее. Может потому что мы аспергеры.

Ладно, хватит малофейничать.

(Ответить) (Уровень выше) (Ветвь дискуссии)


(Анонимно)
2022-07-11 05:13 (ссылка)
а теперь, друзья, давайте похуёвничаем!

(Ответить) (Уровень выше)


(Анонимно)
2022-07-16 11:56 (ссылка)
F# же.

(Ответить) (Уровень выше)


(Читать комментарии) -