Éminence grise
А фшарп все же без сборки мусора не заведешь.
Éminence grise
Ну ди уже есть 😊
Nikolay
xD
Hog
Colon-D
Hog
O'D-Colon
Éminence grise
Хорошо наверное, забирать будет 😊
Nikolay
Shrug Lang
Éminence grise
Меня кстати сегодня порадовало http://norvig.com/design-patterns/design-patterns.pdf
Nikolay
Romɑn
Если считать, что в генах ФП есть и гены ООП, а значит ООП тоже используется, то ок
Éminence grise
Ну есть еще путь от Гомера до человека.. GADT видимо 😊
gsomix
https://twitter.com/AzureDevOps/status/1039167117411508226
Nikolay
Я вот что подумал, если у нас приложение полностью иммутабельное, то никогда локов не возникнет?
Hog
Nikolay
А это от языка зависит?
Nikolay
Например, в C# readonly проперти будут же потокобезопасны?
Hog
Просто есть ещё CLR
Vladislav
Vladislav
нет
Hog
Если value type
Nikolay
Что ты скажешь на это, Илон Маск?
Éminence grise
Readonly безопасны везде.{jxtim потокобезовасных коллекций - System.Collection.Immutable
Hog
readonly <> immutable
Hog
Éminence grise
В сшарпе - равно.
Éminence grise
Если конечно не дергать через рефлекшн.
Ayrat
Под полностью иммутабельную модель памяти надо GC хитрый.
Я вот знаю в джаве есть гц который только аллоцирует а при OOM крашит JVM и по новой))
Hog
В сшарпе - равно.
для value. для reference - дополнительные телодвижения
.AsReaadonly и иже с ними
Vladislav
Ayrat
только аллоцирующий гц можно наверное даже как-то хитро заоптимайзить чтоб батчами сразу аллоцировал.
Или обжект пулинг использовать. На место старого объекта новый писать сразу.
Éminence grise
А ну да. Офигенный GС. Они сами пишут - для программируемых унитазов.
Ayrat
Ayrat
Надо ж мозг поломать
Éminence grise
я вот третий день мозг ломаю над CTM (Common Type Model). Даже внятную документацию не найти.
Ayrat
гугл что-то невнятное выдаёт
Ayrat
это что вообще?
Éminence grise
Это про модель типов runtime.
Nikolay
Гуглю какие-нибудь картинки про иммутабельность, задумался про иммутабельную лампочку, как это? Типа у тебя две лампочки, одна всегда горит, а вторая никогда не горит, и если ты хочешь включить лампочку, тебе нужно просто достать нужную? :D
Ayrat
а, это тайп система CLR?
Éminence grise
Прошу прощения Common Type System/
Romɑn
Ayrat
система типов CLR вообще любопытная. Она некоторым сишарпистам голову ломает.
"В интерфейсе можно объявлять статические поля? Что за херня?"
Éminence grise
Она намного гибче, чем все что есть в языках. Это я уже понял, но вот насколько...
Éminence grise
В басике интерфейс может содержать вложенные типы. В том числе и генерики.
Ayrat
Éminence grise
Атрибуты могут быть генериками.
Éminence grise
Ну это нам в фшарп вроде дали?
Éminence grise
Массивы - вообще отдельное подмножество..
Éminence grise
574 страницы. Ну попробую освоить 😊
Romɑn
Éminence grise
Дон хорошо в нее вкинул с генериками. Но сейчас сделал бы лучше 😊
Ayrat
Nikolay
Мб так мутабельность объяснить?
Romɑn
Nikolay
Fail
Romɑn
навесил ярлыки просто. Без объяснения почему это так.
Если это просто как итог, то да, но
Romɑn
этот мем не объясняет ничего)
Nikolay
Ну блин, конечно я не просто молчать буду)
Éminence grise
Их бы всех заставить поработать вместе над одним языком - Андреаса, Дона, Метью. Ну еще бы неплохо и Martin Odersky. Сейчас могли бы офигенный язык забабахать.
Romɑn
Romɑn
у тебя два разных типа пистолета.
А иммутабельный пистолет - никогда не стреляет. Т.к иначе изменяется внутреннее состояние - кол-во пуль)
Nikolay
Hog
Romɑn
Éminence grise
Не пистолет - функция. Он возвращает на выстрел функцию с меньшим количеством пуль. А тот у тебя все же может быть сохранен - и в нем пули не изменились. Так что стреляй сколько хочешь 😊
Romɑn
поэтому и появились объекты!
Nikolay
У меня рейлган, который подключён к розетке
Romɑn
Nikolay