• Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 3)
    0

    Я из тестов вижу, что для 1920x1080@60 смысл в апгрейде i7-2600k на что-то другое всё ещё под большим вопросом.

  • Эволюция самого популярного инструмента любого разработчика
    –3

    Можно ли как-нибудь так закрыть окно Output, чтобы оно больше никогда само не открывалось? Толку от него ноль. Надоедает периодически закрывать.

  • Что нового в C# 8?
    +1

    Вопрос:


    foreach (var i in 0..10) { }

    Это не работает, потому что у Range отсутствует энумератор. Его ещё не сделали или его не собираются делать?


    Можно спросить по-другому. Такой foreach компилятор мог бы заменить на for/do/while безо всяких энумераторов. Спецификация foreach может быть расширена на нативную поддержку Range. Компилятор ещё не умеет это делать или такой поддержки не было в планах?

  • Что нового в C# 8?
    0

    Эти VS и NET Core Preview до сих пор самых свежие из доступных. Разве что ещё nightly builds какие-нибудь есть.

  • Что нового в C# 8?
    +1

    Я про Яву слышал другое.

  • Что нового в C# 8?
    0

    Юзабельные представить можно, тем более что в NET они есть. Юзабельные и не нишевые ― не очень представляю. И не очень представляю мотивацию, зачем одним упираться делать такой же, но другой язык (плюс инструментарий, без которого он сразу никому не нужен), а другим его использовать вместо существующего мейнстримового C#. Если бы последний был уродцем, которого все просто терпят до появления альтернативы, то да. А так нет.


    Rider ― это ещё одна хорошая IDE для NET. [Глупая_аналогия]Открыть ещё одну конкурирующую булочную, думаю, сильно проще, чем конкурировать с самим хлебом.[/Глупая_аналогия]

  • Что нового в C# 8?
    –1

    Есть готовый синтаксис:


    int i1 = 10;
    int? i2 = null;

    ну и нечего изобретать велосипед:


    string s1 = "10";
    string? s2 = null;

    Кто учит язык и пока не знает, как это реализовано, тому и так нормально: суть похожая и внешне выглядит одинаково.


    Кто уже знает, что там под капотом, тому тоже нормально: суть похожая и внешне выглядит одинаково, а что под капотом, он и так знает.

  • Что нового в C# 8?
    +1

    Родному F# трудно играть на одном поле с C#. Всё взлетает, взлетает, никак не взлетит. Последний недостаточно плох, чтобы с него дёргаться. Котлин, на сколько я его себе представляю, это что-то а-ля C# или нечто среднее между C# и F#, лишь бы забыть про Яву.


    Котлин под дотнет мог бы быть способом перетащить людей с платформы Java на Net. Кому-то это надо?

  • Что нового в C# 8?
    0

    У меня реакция такая:


    • Nullable ― Ура! Наконец. Теперь ещё период всеобщей адаптации пережить и будет счастье.
    • Index & Range ― Кому-то реально не хватало? Ну ладно, пусть.
    • Default interface members ― whatever
    • Pattern matching ― За if (x is string s) большое спасибо, а для чего всё остальное?
    • Switch expressions ― Спасибо.
    • Async streams ― Может быть, когда-нибудь.
    • Using declaration ― Кое-где бы пригодились, а то иначе некрасиво.
    • Static local functions ― Предположим, кому-то это принципиально.
    • Disposable ref structs ― Кому-то точно это принципиально.
  • Что нового в C# 8?
    0

    Можно написать паттерн внутри паттерна внутри паттерна внутри паттерна… Выглядит, правда, адски, как ни форматируй.


    Можно назвать nested, можно назвать recursive ― примерно одинаково.


    var person = new Person
    {
        Name = new FullName
        {
            First = "Vasya",
            Last = "Pupkin",
        },
        Age = 42,
    };
    
    if (person is { Age: 42, Name: { First: var firstName, Last: "Pupkin" } })
    {
        Console.WriteLine(firstName);
    }
  • Жизнь на частицах 3D
    0

    За 1080 обидно. :)

  • Жизнь на частицах 3D
    0

    Насколько я понял, у тебя ведь не n-body задача, где все взаимодействуют со всеми, где бы они ни находились. Если n-body, то претензия снимается.


    Если у частиц есть какой-то предельный радиус, дальше которого они друг друга не «видят», то должно быть не от 700 до 3000 частиц, а на порядок больше и 60 fps безо всяких GPU. C GPU должны быть сотни тысяч и миллионы, т.к. задача параллелится.

  • Жизнь на частицах 3D
    +1

    [промахнулся]

  • Что нового в C# 8?
    0

    Плюс '?' и так уже используется для nullable value types: int vs int?

  • Что нового в C# 8?
    0
    Зачем для этого вообще отдельный термин?

    Как минимум по бюрократическим причинам. В рамках C# 8.0 ведётся работа над некоторой подфичей Pattern Matching. Чтобы при разговорах о ней не размахивать руками в воздухе или не ссылаться на неё по номеру (Feature #5982), необходимо было придумать какое-то человеческое название. Конечному пользователю языка, если он на github.com/dotnet/csharplang не ходит и спецификации не читает, это название ненужно.

  • Что нового в C# 8?
    0
    Microsoft Visual Studio Community 2019 Preview
    Version 16.2.0 Preview 1.0

    NET Core 3.0.100 Preview 5
  • Что нового в C# 8?
    0
    Представьте массив x = {1, 2, 3}. Если взять x[0..2] вы получите {1, 2}, а вот если взять x[..2] или например x[..], вы получите {1, 2, 3}.

    Проверяю:


    // Представьте массив x = {1, 2, 3}.
    var x = new[] { 1, 2, 3 };
    
    // Если взять x[0..2] вы получите {1, 2}
    Print(x[0..2]);
    
    // а вот если взять x[..2] или например x[..], вы получите {1, 2, 3}.
    Print(x[..2]);
    Print(x[..]);

    0)  1,2
    1)  1,2
    2)  1,2,3
  • Что нового в C# 8?
    0
    Встроенные типы, такие как массивы или строки, конечно же поддерживают индексер (operator this[]) для типа Index, так что смело можно писать
    var items = new[] { 1, 2, 3, 4, 5 };
    items[^2] = 33; // 1, 2, 33, 4, 5

    Проверяю:


    var items = new[] { 1, 2, 3, 4, 5 };
    Print(items);
    items[^2] = 33;
    Print(items);

    0)  1,2,3,4,5
    1)  1,2,3,33,5
  • Что нового в C# 8?
    +1
    хотя конечно в C# запись x[-1] лишена всякого смысла

    Если речь только только про массивы, то да. Если про C# вообще, то нет. Смысл зависит от того, что есть x. Самописный индексатор можно делать всё что хочет. Даже без самописных индексаторов я собственными руками писал x[-1], где x был указателем.

  • Жизнь на частицах 3D
    +1
    За основу взял с++, добавил поддержку CUDA как вычислительной платформы, частиц много и центральный процессор явно не справится с такой нагрузкой в реальном времени

    Ты недооцениваешь центральный процессор. Из любопытства делаю в Unity симуляцию жидкости — те же частицы с взаимодействиями между соседями. Старый 4-ядерный i5 тянет в реальном времени 10-50 тысяч частиц, в зависимости от их плотности и распределения в пространстве. Под реальным временем понимается 60 fps.

  • Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки
    0

    И ещё два варианта:


    1. Отступы не в два пробела, а 4 минимум. Я два пробела почти не воспринимаю, что они есть, что их нет.
    2. Block Structure Guides ― вертикальные полоски, которые связывают начало и конец блока (https://dailydotnettips.com/turning-onoff-structure-guide-lines-in-visual-studio-2017/)
  • Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки
    0

    Под "перекосило форматирование" я имел ввиду X#: когда вставляешь из буфера или удаляешь кусок и код вокруг разъехался. Если разъехалось, значит точно есть косяк. Не туда вставил, не всё скопировал, лишнего скопировал, не всё удалил, удалил лишнее. Автоформат — это как дополнительный контроль ошибок, который выполняет IDE, а не ты руками и глазами.

  • Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки
    0

    Если речь про автоматические отступы в начале новой строки ― это фигня. Я свой код в разы больше редактирую, чем пишу с чистого листа.


    Элементарное


    if x < 0:
        x = 0
        n = n + 1
        if n > 100:
            w = 1

    Если в конец или середину вставить несколько строк с каким-то своим отступом, современная IDE должна им отступ выправить? Конечно, чай не в блокноте пишем. А на какой? А на хз какой.


    Да даже если пишем этот код с нуля и просто после w = 1 переходим на новую строку, нажать } ничем не сложнее, чем нажать Enter и Backspace для отмены одного уровня отступа.

  • Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки
    +1

    Скобочки отлично работают. Закрыл скобку-две-три ― и всё, что было внутри них, автоматом само перенеслось и само выровнялось как надо, согласно логике. Обрамил блок скобочками, он бац ― сдвинулся вправо. Убрал скобочки ― сдвинулся влево. Вырезал кусок из одной функции, вставил в другую, он на новом месте сам выровнялся как надо. А если форматирование вдруг перекосило, то наличие ошибки в коде понятно сразу, а после того как будешь исправлять форматирование руками и пасьянс не сойдётся.


    Когда Питон придумывали, такого почти полного автоматизма не было. А теперь Питон придумали и уже поздно.

  • Знакомство с Python для камрадов, переросших «язык A vs. язык B» и другие предрассудки
    –1
    "Ты же форматируешь код отступами?", спросил VlK. Конечно же я форматировал его. Точнее, за меня это делала спираченная Visual Studio. Она справлялась с этим чертовски хорошо. Я никогда не задумывался о форматировании и отступах — они появлялись в коде сами по себе и казались чем-то обыденным и привычным. Но крыть было нечем — код был всегда отформатирован отступами.

    Вот и покрыл. В то время как космические корабли бороздят просторы вселенной, а код на условном X# можно писать практически в одну строку и он сам форматируется, в Питоне приходится всё форматировать руками, как деды форматировали.

  • Разбор: 23 популярные ошибки в письменном английском и как их избежать
    +1

    По-моему, то же самое и с effect/affect, then/than, its/it's, your/you're. Нейтивы так ошибаются постоянно, а для меня это разные слова и выглядят по-разному.

  • Unity Package Manager
    0

    Может происходить по естественным причинам:


    1. В проект импортируется новый ассет. Например, текстура. Для неё генерируется GUID.
    2. Потом эта текстура из проекта копируется в другой проект. Или в виде файла (вместе с meta-файлом, содержащим GUID), или через экспорт/импорт unitypackage.
    3. Эти две копии в разных проектах живут своей жизнью, независимо подправляются и могут измениться до неузнаваемости.
    4. Потом эти уже фактически разные текстуры пытаешься скопировать в новый третий проект, а у них GUID одинаковый.
  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    0
    отвечаю когда в процессе работы выдается пауза (чайная/кофейная) или просто ожидаю пока тесты пройдут.

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


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

    Где? Кто? Виртуально плюнь ему в рожу. Никто никому ничего не должен. Сумел человек собственным трудом и талантом собрать аудиторию, которая прямо или опосредованно обеспечивает ему хлеб с икорным маслом, ― ну и молодец. Почему бы не порадоваться? И пофиг, чем он занимается, частушки поёт или писульки строчит.


    А кто не сумел, ну так и хрен с ним, ему никто не должен.

  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    0
    А медиаиндустрия требует.

    Далеко не вся.
    Стримеры не требуют. Музыкальная индустрия делает это как-то неубедительно. Музыки почти на любой вкус навалом официально и бесплатно на радио и ютубах. Киношники требуют и разработчики игр.


    Что же касается моей скромной персоны, то вовсе не обязательно что развлекаюсь.

    Уж точно не работаешь, хотя мог бы. Я тоже.

  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    0

    Во-первых, человечество тоже никому не должно. Хочет и может ― развивается, хочет и может ― развлекается. И не факт, что это противоположные или перпендикулярные занятия.


    Во-вторых, ты ведь прямо сейчас развлекаешься. Ты б иначе на Хабр, и тем более в комменты, не ходил. Тебе от этого хорошо, мне от этого хорошо, Хабру тоже хорошо. Кому плохо-то от развлечения? Человечество ― это мы.

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

    Твои слова: «Вот в том то и дело что никому не должно».


    но это реально бессмысленно и не приносит никакой пользы обществу

    Да вся индустрия развлечений бессмысленна. Стримеры ничем не отличаются. Что Пью-ди-пай, что Морган Фримен, что Петросян, что <вставьте фамилию любого артиста, любимого или не очень>. Способ заработка одинаковый ― торговля лицом. Польза тоже одинаковая ― развлечение публики.

  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    +2

    Дальше не лучше. «Это не должно быть работой» ― кому должно?


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


    Соорудить с ребёнком на даче скворечник ― развлечение. Собрать сотню скворечников, чтобы продать на какой-нибудь праздничной весенней ярмарке, ― работа. Ты тратишь свои силы и ресурсы, тебе за это платят. Это работа. У стримеров так же.

  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    0
    Я знал, что рано или поздно кто-то скажет это волшебное «попробуй». Я не дебил, чтобы всю свою жизнь играть в игры и тупеть день ото дня.

    ― Попробуй кофе XYZ.
    ― Я не дебил, чтобы всю свою жизнь пить кофе XYZ и тупеть день ото дня. То, что его пьют миллионы человек ежедневно, говорит только о том, что что-то не так вообще в мире. Это ошибка. Баг...

  • Блеск и нищета: как цифровая революция сделала музыкантов беднее
    +2

    Игровые стримы смотрят по двум с половиной причинам:


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


    2. Развлекательная. Не ради конкретной игры, а ради стримера. Стример тут выступает в роли артиста развлекательного жанра. Есть любимые музыканты и любимые актёры, которые нравятся тем, как они поют или играют в кино. Со стримерами то же самое. И так же как музыканты и актёры, разные стримеры работают в разных жанрах и могут вообще не пересекаться по аудитории.


    3. Тоже развлекательная. Многосерийные стримы — это многосерийное кино. Их смотрят не только потому что актёры/стримеры хорош играют, но и потому что интересно, что будет дальше и чем всё закончится.



    — Если кратко, "кинуть бабло стримеру" фактически не отличается от "кинуть бабло музыканту" — оба артисты развлекательного жанра.

  • Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander
    0

    Ужас.

  • Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander
    0

    Думалку отключать вредно. Функция легко могла называться iswspace. Там есть намного более страшные имена и ничего.

  • Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander
    0

    Об этом и говорю. Чтобы видеть ошибку (не важно, кто в ней виноват), надо забыть или не знать стандартную библиотеку С, в которой сэкономили на слове white внутри isspace.

  • Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander
    +1

    Я не заметил бы ошибку, если бы функция назвалась iswhitespace. Но она называется так, как называется. ((c)==' ' || (c) == '\t') — примерно так я и представлял себе её реализацию. Авторы MC тоже.

  • Для тех, кто хочет поиграть в детектива: найди ошибку в функции из Midnight Commander
    –3

    В условии содержится логическая ошибка. На примере "пробела" она очевидна. Код уже неправильный, и рассматривать его поведение дальше на других наборах данных просто нет смысла. Сначала надо исправить.

  • Россияне на 20% чаще сталкиваются с оскорблениями в Интернете
    0

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


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