Ну вот я. Нет, не смотрел ни одного фильма и уж тем более не читал ни одного комикса, в РФ - они мягко говоря не сильно популярны. Ну да, видел трейлеры, чел в маске с эльфийскими ушами бил людей. Я правильно понял, что этих вводных достаточно, чтоб понять герой чел или нет
Бред какой то. Я понимаю если б там строение ленточных червей спрашивали, это хотя бы в школьную программу входит, причем обосновывается именно тем, что у ребенка должен быть широкий кругозор.
А тут выясняется, что нужно комиксы DC (именно DC, Марвел в пролёте) знать, чтоб программером устроится..
Пока текущая цена далека от цены исполнения опциона, Борис спокоен:
Так с чего цена то пошла вверх ?? Вот условно изначально цена акции была 5 баксов, народ с редита напокупал опционов на право купить эти акции по 6 баксов. Борис начнет паниковать только если цена акции реально превысит 6 баксов, но с чего ей расти то ??
тогда вы должны будете признать, что даже ссылки и указатели в C++ не являются zero-cost.
Хм, а как ссылки и указатели мешают оптимизации если я их не использую?
Я вообще не понял про zero cost. Я всегда думал, что это про то, что если в языке есть какая то фича, но ты ей НЕ пользуешься, то наличие этой фичи — никак не влияет на твою программу.
Ну например в C++ виртуальные методы — zero cost, не используешь их, не платишь за косвенность вызова. А исключения — не zero. Компилятор должен сильно поприседать, чтоб понять, что тут исключений нет и try finally делать ненужно
А тут явно вызвали функцию fork(), понятно, что это уже не zero cost и пофиг что она конкретно делает.
Упоминание в одной статье Oculus Rift/Go и ковид в одной статье вызывает смех.
И вот во этот пассаж "Технология VR занимает 43% в игровом секторе" тоже непонятен. Не, лично я считаю что VR — неизбежное будущее гейминга, но до 43% — ему еще расти и расти.
Если под гибкостью имеется в виду необходимость следовать НЕЯВНЫМ контрактам, то такая гибкость — нафиг не нужна. А нужна возможность извне указать, что один тип совместим с другим типом. Мэдс что то такое для шарпа тут https://youtu.be/WBos6gH-Opk?t=2757 описывает.
Непроходимо глючные IDE и компилятор. Ребят, 10 лет как появились лямбды, в значения захваченные переменные при отладке так и не показываются — это что? Выкатили inline variable c выводом типов, но забыли, что managed-type нужно файнализировать? Один и тот же код под Win64 выдает "[dcc64 Hint] Variable '' is declared but never used in ''", а под Win32 такого хинта нет?
Неконсистентность, непоследовательность языка. Почему дженереки не работают для свободных функций, где тайп хелперы для джененик типов/интерфейсов, что за метания со способами управления памятью, zero/one based strings и т.д. Такое очущение, что ребята не знают куда идти. Сбоку фичу прикрутили и ладно.
Как можно было сделать лямбды на подсчете ссылок и при этом не дать возможность явно указывать список захватываемых переменных? В результате одно неверное движение, получаем взаимные ссылки и мемлик.
Одна из базовых абстракций во всех языках — последовательность данных, итераторы. Взяли, тупо скопировали из .NET. Только из-за различий в системе типов, в дельфи иерархия IEnumerable/IEnumerable даже подстановку Лисков проваливает. Уж не говоря о том, что из-за багов компилятора эти интерфейсы даже реализовать нельзя нормально. :facepalm:
И так везде. Не, на времена Delphi5 — это был нормальный язык. Но сейчас он сильно устарел с одной стороны, а попытки его подтянуть до современного уровня больше похожи на костыли.
если про lhs + rhs ничего не известно на момент парсинга decltype(lhs + rhs) — то это совершенно не проблема. Проблема возникает, если такие переменные объявлены выше по коду.
Хм, может я чего то не понял, чтоб поменять индейность массива чисел на little endian платформе достаточно for(var i = 0; i < arr.Length; i++) arr[i] = IPAddress.HostToNetworkOrder(arr[i]);
Да Maybe = Nullable. Но монада — это не maybe. Наоборот maybe — это монада.
Для шарпщика проще объяснить через линк. Пусть у нас есть дженерик тип X[T] (например IEnumerable или Nullable или Task.
реализуем для всех типов экстеншен метод SelectMany. теперь мы можем писать:
var result =
from x in X() // внезапно query syntax — это аналог do натации в хаскеле
from y in Y()
select x + y;
а проблема в том что мы не можем абстрагировать этот код от типов IEnumerable/Task/Nullable. В хаскеле можно, поэтому там дин и тот же код работает и со списками и с асинхронными знаниями и тд. в шарпе для тасков у нас будет своя функция Sum(), а для нулаблов своя.
Осталось только понять как отличить черный квадрат Малевича от черного квадрата Midjourney :-))
Ну вот я. Нет, не смотрел ни одного фильма и уж тем более не читал ни одного комикса, в РФ - они мягко говоря не сильно популярны. Ну да, видел трейлеры, чел в маске с эльфийскими ушами бил людей. Я правильно понял, что этих вводных достаточно, чтоб понять герой чел или нет
Бред какой то. Я понимаю если б там строение ленточных червей спрашивали, это хотя бы в школьную программу входит, причем обосновывается именно тем, что у ребенка должен быть широкий кругозор.
А тут выясняется, что нужно комиксы DC (именно DC, Марвел в пролёте) знать, чтоб программером устроится..
Вульгарная латынь же. Тоже ничего вульгарного, но выражение используется..
Я еще 8 лет назад посмотрел:
Чтоб этот тест был корректным нужно в плюсах использовать unordered_map
del
Откуда спрос? Спрос (со стороны Бориса) возникнет только в случае, если цена станет > 6 баксов. Текущая цена — 5баксов. Значит спроса нет.
Не понял один момент:
Так с чего цена то пошла вверх ?? Вот условно изначально цена акции была 5 баксов, народ с редита напокупал опционов на право купить эти акции по 6 баксов. Борис начнет паниковать только если цена акции реально превысит 6 баксов, но с чего ей расти то ??
Под x86 zero cost?
Я вообще не понял про zero cost. Я всегда думал, что это про то, что если в языке есть какая то фича, но ты ей НЕ пользуешься, то наличие этой фичи — никак не влияет на твою программу.
Ну например в C++ виртуальные методы — zero cost, не используешь их, не платишь за косвенность вызова. А исключения — не zero. Компилятор должен сильно поприседать, чтоб понять, что тут исключений нет и try finally делать ненужно
А тут явно вызвали функцию fork(), понятно, что это уже не zero cost и пофиг что она конкретно делает.
Ну по тому как фраза сформулирована — этого не скажешь. Ощущение кривого перевода старой статьи с современными добавлениями.
Упоминание в одной статье Oculus Rift/Go и ковид в одной статье вызывает смех.
И вот во этот пассаж "Технология VR занимает 43% в игровом секторе" тоже непонятен. Не, лично я считаю что VR — неизбежное будущее гейминга, но до 43% — ему еще расти и расти.
Значит ты не пользуешься смартфоном. Просто мобильником.
Если под гибкостью имеется в виду необходимость следовать НЕЯВНЫМ контрактам, то такая гибкость — нафиг не нужна. А нужна возможность извне указать, что один тип совместим с другим типом. Мэдс что то такое для шарпа тут https://youtu.be/WBos6gH-Opk?t=2757 описывает.
Непроходимо глючные IDE и компилятор. Ребят, 10 лет как появились лямбды, в значения захваченные переменные при отладке так и не показываются — это что? Выкатили inline variable c выводом типов, но забыли, что managed-type нужно файнализировать? Один и тот же код под Win64 выдает "[dcc64 Hint] Variable '' is declared but never used in ''", а под Win32 такого хинта нет?
Неконсистентность, непоследовательность языка. Почему дженереки не работают для свободных функций, где тайп хелперы для джененик типов/интерфейсов, что за метания со способами управления памятью, zero/one based strings и т.д. Такое очущение, что ребята не знают куда идти. Сбоку фичу прикрутили и ладно.
Как можно было сделать лямбды на подсчете ссылок и при этом не дать возможность явно указывать список захватываемых переменных? В результате одно неверное движение, получаем взаимные ссылки и мемлик.
Одна из базовых абстракций во всех языках — последовательность данных, итераторы. Взяли, тупо скопировали из .NET. Только из-за различий в системе типов, в дельфи иерархия IEnumerable/IEnumerable даже подстановку Лисков проваливает. Уж не говоря о том, что из-за багов компилятора эти интерфейсы даже реализовать нельзя нормально. :facepalm:
И так везде. Не, на времена Delphi5 — это был нормальный язык. Но сейчас он сильно устарел с одной стороны, а попытки его подтянуть до современного уровня больше похожи на костыли.
если про lhs + rhs ничего не известно на момент парсинга decltype(lhs + rhs) — то это совершенно не проблема. Проблема возникает, если такие переменные объявлены выше по коду.
Какой тип результата по твоему должен быть у функции ??
Вот, мой любимый баг в .Net Core github.com/dotnet/corefx/issues/31557
ReadAsync из файла в 8 раз медленнее Read
Для шарпщика проще объяснить через линк. Пусть у нас есть дженерик тип X[T] (например IEnumerable или Nullable или Task.
реализуем для всех типов экстеншен метод SelectMany. теперь мы можем писать:
var result =
from x in X() // внезапно query syntax — это аналог do натации в хаскеле
from y in Y()
select x + y;
а проблема в том что мы не можем абстрагировать этот код от типов IEnumerable/Task/Nullable. В хаскеле можно, поэтому там дин и тот же код работает и со списками и с асинхронными знаниями и тд. в шарпе для тасков у нас будет своя функция Sum(), а для нулаблов своя.