• Линус Торвальдс одобрил замену части терминов в коде Linux на нейтральные названия
    +1

    Вот именно. А две религии между собой не сочетаются. (Хотя есть исключения. Я спрашивал у Церкви Сатаны (которая ла-веевская), можно ли к ним присоединиться не порывая с пастафарианством. Сказали, что можно без проблем.)

  • systemd десять лет спустя. Историческая и техническая ретроспектива
    +2

    Можно быть хейтером чего-то и в то же время успешно пользоваться этим профессионально.

  • Магические сигнатуры методов в C#
    –2

    Это слишком категорично. DbContext в Entity Framework является IDisposable, но прекрасно работает и без единого вызова Dispose. Да и бывает так, что Dispose попросту негде звать.

  • Магические сигнатуры методов в C#
    +1

    Банальный foreach забыли.


    А вот using почему-то прибит к IDisposable.

  • Студия Лебедева год использовала нейросеть, выдавая ее за реального дизайнера
    0

    Случаются, если очень долго не пользовался vim. Не из-за путаницы режимов, а из-за того что отвыкаешь от того что есть какие-то режимы и нельзя просто начать печатать. Абсолютно симметрично когда долго пользуюсь vim, то во всяких IDE начинаю автоматически переключать режимы, что влечёт появление лишних символов.

  • 5 современных альтернатив старым инструментам командной строки Linux
    –2

    Странно, что звёздочка не входит в "и т. п."

  • 5 современных альтернатив старым инструментам командной строки Linux
    –3

    Вы правы, хотя это странно.

  • 5 современных альтернатив старым инструментам командной строки Linux
    –6
    нужно написать такую команду find:
    $ find . -iname "*.md"

    Неправильная команда-то. Одинарные кавычки нужны.

  • Почему функциональное программирование такое сложное
    0

    Вариант с помощью conduit годится?

  • Почему функциональное программирование такое сложное
    0

    Самое важное забыли: для методов должны выполняться определённые свойства.

  • Студия Лебедева год использовала нейросеть, выдавая ее за реального дизайнера
    0
    А есть достоверные сведения, что они не запутываются?

    Есть как минимум anecdotal evidence. Не запутываемся мы.


    И как там режим обозначается? Может курсором, на который все смотрят или как‐то иначе?

    Там кажется что-то появляется внизу экрана, но я не уверен. Наверно это доказывает, что я туда смотрю. Просто разные режимы соответствуют разной деятельности. Печатаешь — значит в режиме insert. Думаешь — значит в режиме normal. Ну и очень важный фактор — немодальный переключатель в режим normal (клавиша Escape). Таким образом можно легко и недумая периодически форсировать синхронизацию режима в голове и режима в редакторе нажатем Escape.

  • Студия Лебедева год использовала нейросеть, выдавая ее за реального дизайнера
    +1

    Изначально у них было всякие размеры, включая полноразмерный. Но видимо продажи были не очень.

  • Как x86_x64 адресует память
    0
    Важно не существование компиляторов, совместимых со стандартом, но возможность и разумность создания таковых.

    Cогласен. И с точки зрения возможности вы правы, возможно создать для Win16 компилятор с sizeof(size_t) != sizeof(void *). Но вот насчёт разумности я не уверен. Огромное число кода написано исходя из предположеня что указатели можно запихивать в size_t. И в отличие от написания кода с UB, написание на C++ кода непереносимого, но работающего, — древняя и святая традиция. Поэтому, возможно, всё же разумно считать, что всегда sizeof(size_t) == sizeof(void *) и делать гипотетический компилятор для Win16 так, чтобы это выполнялось.

  • Как x86_x64 адресует память
    +1
    Возьмите Win16

    Разве для Win16 существуют компиляторы, удовлетворяющие стандарту? Если нет, нельзя его "брать" в качестве релевантного примера.

  • Две ошибки Эйнштейна
    0

    Вот волновая функция в Боме в точности та же, что в многомировой интерпретации. В копенгагене — там да, другая — соответвующая т. н. эффективной бомовской волновой функции.


    Да, "обычная КМ" это такое несколько расплытое понятие, но в контексте противопоставления бомовской механике, я считаю, достаточно адекватное.

  • Две ошибки Эйнштейна
    +1
    Я попросил объяснить, почему вы думаете, что в бомовской интерпретации проблема измерения не решается, но ответа в вашем комменатрии не нашел.

    Потому что бомовская интерпретация не содержит ничего, чего не содержалось бы в обычной квантовой механике. Если в ней решается проблема измерения — значит она точно так же решается и не прибегая к бомовской интерпретации. Если она без бомовской интерпретации не решается — значит она и в бомовской интерпретации не решается.


    Все интерпретации — 100% обычная КМ, в этом и суть.

    Правильно, поэтому ни одна интерпретация не может решить проблему измерения.


    Волновая функция тоже формирует реальность (т.к. она задает свойства частиц).

    Не совсем. Она является частью реальности, но всё же макромир формируется именно частицами.


    Я не понимаю, что вы имеете в виду тут под «квантовым потенциалом».

    Это из бомовской механики. Есть две эквивалентных формулировки — когда частицы не взаимодействуют между собой и когда взаимодействуют обычным классическим образом. Вот во второй формулировке движение частиц управляется обычной ньютоновской механикой со специальной добавкой к потенциальной энергии. Это добавка к потенциальной энергии называется квантовым потенциалом и определяется волновой функцией.


    Но это ваше личное предпочтение.

    Нет, это справедливо для каждого наблюдателя. Для него другие наблюдатели эффективно не существуют, так как он с ними не взаимодействует. Поэтому на самом деле только волновая функция и важна, а частицы вообще не играют никакой роли:


    Bohmian trajectory is more a metaphysical construction than an aspect of physical reality.

    .


    Она решает проблему измерения

    Ну как она по-вашему её решает? Если вы изложите идею этого решения, я вам смогу указать на проблему конкретно. В общем я сказал: в ней просто нет ничего, чего не было бы в обычной квантовой механике.

  • Две ошибки Эйнштейна
    0

    Потому что бомовская механика — это абсолютно, 100% обычная квантовая механика со всеми её проблемами + сложная инструкция по рисованию красивых бессмысленных картинок.


    the physical reality of Bohmian particle trajectories was challenged by Englert et al. [5]. They asserted that the Bohm trajectory of a particle in a bubble chamber does not necessarily coincide with the track of bubbles it produces. Although they did not carry out a calculation to directly support this particular assertion, they gave detailed calculations for some other situations in which a particular type of detector can be triggered without the trajectory of the particle passing through it. Their conclusion was that Bohmian trajectory is more a metaphysical construction than an aspect of physical reality.

    Сама эта цитата из статьи Bohmian mechanics and consistent histories RB Griffiths — Physics Letters A, 1999 — Elsevier, а ссылка [5] в ней — это B. G. Englert, M. O. Scully, G. Sussmann and H. Walther, Z. Naturforsch. 47a (1992) 1175.


    Бомовская механика произвольно декларирует, что одно из представлений (в собственно механике это координатное представление, в обощении на КТП сложнее) выделено — в нём живут частицы, живёт "реальность". Но в динамике никакого подтверждения этому не находится: можно превосходным образом построить бомовскую механику для любого представления и она будет ничуть не хуже.


    Далее, декларируется, что чатицы формируют реальность, а волновая функция — нет. Однако подтверждения этому также не находится. Напротив, оказывается, что "квантовый потенциал" столь чудовищно силён, что полностью отменяет эффекты классического взаимодействия между частицами и теория может быть переформулирована как теория невзаимодействующих частиц, на которые влияет волновая функция. При этом сами частицы на волновую функцию никак не влияют. Получаются, что если я разговариваю с вами, то я от реального вас (состоящего из частиц) вообще не получаю никакой информации! То есть я разговариваю не с вами, а с неким вашим "волновым двойником". Так с какой стати я должен считать "реальными" те частицы, из которых вы состоите, если я вообще не знаю, живы ли "реальный" вы (ср. ситуацию в цитате выше). Мне гораздо резоннее считать, что, наоборот, волновая функция представляет реальность, а частицы — нет.


    Это не значит, что бомовская механика бесполезна. Она только совершенно неудовлетворительна как кандидат на решение каких-либо проблем квантовой мезаники. Но её бывает полезно использовать — так же как и любую интерпретацию — для проведения рассуждений, поскольку известно, что она эквивалентна "обычной" квантовой механике.

  • Почему функциональное программирование такое сложное
    +1
    Но если предположить, что он будет работать вечно?

    Вообще, что-то может и получится. А может и нет. Например, гарантировать получение даже значения искомой функции в нуле нельзя. То есть можно например считать, что пары "10" и "11" кодируют двоичные цифры 0 и 1 значения функции для очередного значения аргумента, а пары "00" и "01" означают конец очередного числа. Но тогда на последовательности из одних нулей мы всё равно навечно зависнем в ожидании.


    Но тезис Чёрча (который определяет понятие вычислимости) это, по-видимому, всё же не отменяет. Хотя надо будет поискать, что по этому вопросу умные люди пишут.


    P. S. А если прямо вот представить, что реально вечность прошла и мы получили всю последовательность целиком, то там тогда такие гадости полезут из нестандартных моделей арифметики, что всякие остатки интуиции придётся выбросить окончательно.

  • Почему функциональное программирование такое сложное
    0
    При использовании «бесконечной ленты» он может, очевидно, реализовать любую функцию

    Вот совсем не очевидно. Когда в дело вступают бесконечные множества, а особенно множества более чем счётные, то приходится быть очень аккуратным — интуиция часто подводит.


    Всех возможных результатов RDRAND — конечное число. В лучшем случае счётное. А функций из целых чисел в целые — континуум. Тут нужен генератор случайных действительных чисел, а такой штуки по-всей видимости существовать не может.

  • Почему функциональное программирование такое сложное
    0
    функций Int → Int счётно бесконечное количество

    Вообще их больше, но если вы имеете в виду те, которые можно запрограммировать, — тогда, конечно, счётное.

  • О смерти двойной загрузки и о единстве Windows и Linux
    +2
    для работы с текстами мне нужен был Microsoft Office

    Что это за тесты такие, для которых нужен бухгалтерский инструментарий? Для работы с нарративными текстами нужен хороший текстовый редактор c поддержкой Markdown. Для работы с техническими — LaTeX и товарищи. Office как будто бы не при делах?

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +4
    1. Тем что Option можно не использовать. То есть, хотя в некоторых случаях у вас будет написан .unwrap() вместо разыменования нулевого указателя, но в остальных-то случаях у вас просто не будет никакого Option, никакого .unwrap() и никакой возможности получить панику.


    2. Тем, что все потенциально некорректные места явно обозначены программистом.


  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    Я не так сказал.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +2

    Кстати, есть ещё такое когнитивное искажение, когда непривычное, новое воспринимается как объективно плохое. Его преодоление требует определённых усилий. Я бы поставил на то, что вы, phtaran, находитесь под влиянием этого психологического эффекта.

  • Владельцам «Ведьмака 3» раздадут бесплатные копии с других платформ через GOG
    0

    Да.

  • Владельцам «Ведьмака 3» раздадут бесплатные копии с других платформ через GOG
    0

    Дело в том, что само наличие такой карты влияет на остальные аспекты. Проще говоря, разработчики закладывались на её наличие. Отключение уже не поможет.

  • Владельцам «Ведьмака 3» раздадут бесплатные копии с других платформ через GOG
    0
    Игра очень хорошая, если не сказать отличная.

    Не сказать. В игре есть карта со значками, она всё портит.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +3

    Я бы не сказал, что в Go живут без этого нормально. Как-то живут, но не нормально. Например, эмулируют тип-сумму с помощью типа-произведения для возврата результата либо ошибки. В Rust из-за политики строгой типизации в сочетании с минимальным оверхэдом такой трюк просто невозможен.


    Linux на Си, а в Си есть юнионы, то есть те же АТД, но без строгой типизации, без безопасности и с undefined behavior, который Линус отказывается исправлять.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +5
    Так что, нужно впилить их ВСЕ?

    Все не надо. Но мы, блин, говорим, о фиче, на которой построено в соответствующей экосиситеме всё. И всерьёз ставите вопрос о её необходимости. Ну это вообще как?

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +2
    Кто будет сидеть и проектировать эти АТД если надо сделать побыстрее и вообще на вчера?

    Хотелось бы увидеть развёрнуто, как АДТ тормозят разработку и мешают сделать побыстрее. Наоборот, когда они есть — их пишешь и не задумываешься, а когда нет — каждый раз когда нужен АТД, приходится что-то изобретать, писать бойлерплэйт, терять время.


    Null-safety можно сделать без АТД, но принципиально иной подход. Надо взвешивать плюсы и минусы и выбирать, и это было сделано, и был выбран подход на основе АТД. И при этом подходе АТД — элемент совершенно необходимый, и мановением руки его выкинуть ну никак не получится.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    Ну может вы всё таки приведёте конкретный пример "лишней фичи" в Rust? АТД не годится — помимо уже сказанного, это ещё и база для Option, а на Option работает null-safety.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    +1
    Может если бы там были эти защитные штуки + минимум необходимого — я бы и пользовался. Но есть же просто вагон всего — тут тебе и паттерн матчинг, и алгебраические типы, и тд и тп.

    Лихо вы выкинули из необходимого фичу (паттерн-матчинг и АТД — это две стороны одной фичи), которая
    а) является безопасным заменителем union, а последние в каком-то виде однозначно необходимы,
    б) органично соответвует идеологии: АТД позволяют гибко управлять мощностью типа данных и, тем самым, избавляться от представимых но невалидных значений,
    в) является тем, что всё равно так или иначе приходится эмулировать там, где её нет (C#, C++),
    г) является основой для всей стандартной библиотеки.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    Это ещё долго ждать и может даже вечно. Её и в nightly пока скорее нет, чем есть.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    На safe Rust проблематично даже эффективно создать константу типа NonZeroU8. Поэтому есть unsafe:


    unsafe { NonZeroU8::new_unchecked(7) }`

    Это органичная часть языка.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0
    дефолтовый инстанс, что не всегда желательно

    В Rust — в отличие от Haskell — нет приоритета инстансов. Иначе говоря, если у вас есть "дефолтный" инстанс — значит никакого другого "недефолтного" быть уже не может, компилятор не даст.

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    Это точно полный и окончательный фикс? Я не вижу как он может предовратить имплементацию DerefMut, перемещающую self куда-нибудь. Или, например, меняющую местами две части self, которые отдаются в норме только через Pin (structured pinning это называется, кажется).

  • Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем
    0

    Тем не менее, получается, что "благодаря" Pin сочетание safe Rust + standard library может приводить к BC. И это закрыли без фикса: https://github.com/rust-lang/rust/issues/66544

  • Две ошибки Эйнштейна
    0
    Они позволяют решить проблему измерения

    Если вы про пилот-волну, то она на самом деле не особо позволяет решить проблему измерения. Максимум — немного запутать дело так, что на первый взгляд проблема кажется решённой.


    А что касается нелокальных скрытых параметров, то волновая функция в известном смысле таким параметром и является.

  • Почему функциональное программирование такое сложное
    0

    То что Optional нарушает монадные законы — это ясно. Что это, по-идее, плохо — тоже (я сам дважды имел неприятности из-за отсутствия ассоциативности там, где априори она ожидалась — с другими недомонадами, не с Optional).


    Неясно, реально ли это мешает пользоваться Optional. Выглядит так, что конкретно в этом случае нарушение монадных законов не приводит к реальным проблемам.

  • Почему функциональное программирование такое сложное
    0

    По первой ссылке пишется явно корявый код (про который по второй ссылке говорится, что он "should never have existed"), а потом демонстрируется, что к нему трудно прикрутить Optional. Вот только к нему что угодно трудно прикрутить, ибо он коряв изначально.


    По второй ссылке демонстрируются реальные проблемы, но они никак не связаны с нарушением монадных законов.