Как минимум по бюрократическим причинам. В рамках C# 8.0 ведётся работа над некоторой подфичей Pattern Matching. Чтобы при разговорах о ней не размахивать руками в воздухе или не ссылаться на неё по номеру (Feature #5982), необходимо было придумать какое-то человеческое название. Конечному пользователю языка, если он на github.com/dotnet/csharplang не ходит и спецификации не читает, это название ненужно.
Представьте массив 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[..]);
хотя конечно в C# запись x[-1] лишена всякого смысла
Если речь только только про массивы, то да. Если про C# вообще, то нет. Смысл зависит от того, что есть x. Самописный индексатор можно делать всё что хочет. Даже без самописных индексаторов я собственными руками писал x[-1], где x был указателем.
За основу взял с++, добавил поддержку CUDA как вычислительной платформы, частиц много и центральный процессор явно не справится с такой нагрузкой в реальном времени
Ты недооцениваешь центральный процессор. Из любопытства делаю в Unity симуляцию жидкости — те же частицы с взаимодействиями между соседями. Старый 4-ядерный i5 тянет в реальном времени 10-50 тысяч частиц, в зависимости от их плотности и распределения в пространстве. Под реальным временем понимается 60 fps.
Под "перекосило форматирование" я имел ввиду X#: когда вставляешь из буфера или удаляешь кусок и код вокруг разъехался. Если разъехалось, значит точно есть косяк. Не туда вставил, не всё скопировал, лишнего скопировал, не всё удалил, удалил лишнее. Автоформат — это как дополнительный контроль ошибок, который выполняет IDE, а не ты руками и глазами.
Если речь про автоматические отступы в начале новой строки ― это фигня. Я свой код в разы больше редактирую, чем пишу с чистого листа.
Элементарное
if x < 0:
x = 0
n = n + 1
if n > 100:
w = 1
Если в конец или середину вставить несколько строк с каким-то своим отступом, современная IDE должна им отступ выправить? Конечно, чай не в блокноте пишем. А на какой? А на хз какой.
Да даже если пишем этот код с нуля и просто после w = 1 переходим на новую строку, нажать } ничем не сложнее, чем нажать Enter и Backspace для отмены одного уровня отступа.
Скобочки отлично работают. Закрыл скобку-две-три ― и всё, что было внутри них, автоматом само перенеслось и само выровнялось как надо, согласно логике. Обрамил блок скобочками, он бац ― сдвинулся вправо. Убрал скобочки ― сдвинулся влево. Вырезал кусок из одной функции, вставил в другую, он на новом месте сам выровнялся как надо. А если форматирование вдруг перекосило, то наличие ошибки в коде понятно сразу, а после того как будешь исправлять форматирование руками и пасьянс не сойдётся.
Когда Питон придумывали, такого почти полного автоматизма не было. А теперь Питон придумали и уже поздно.
"Ты же форматируешь код отступами?", спросил VlK. Конечно же я форматировал его. Точнее, за меня это делала спираченная Visual Studio. Она справлялась с этим чертовски хорошо. Я никогда не задумывался о форматировании и отступах — они появлялись в коде сами по себе и казались чем-то обыденным и привычным. Но крыть было нечем — код был всегда отформатирован отступами.
Вот и покрыл. В то время как космические корабли бороздят просторы вселенной, а код на условном X# можно писать практически в одну строку и он сам форматируется, в Питоне приходится всё форматировать руками, как деды форматировали.
По-моему, то же самое и с effect/affect, then/than, its/it's, your/you're. Нейтивы так ошибаются постоянно, а для меня это разные слова и выглядят по-разному.
В проект импортируется новый ассет. Например, текстура. Для неё генерируется GUID.
Потом эта текстура из проекта копируется в другой проект. Или в виде файла (вместе с meta-файлом, содержащим GUID), или через экспорт/импорт unitypackage.
Эти две копии в разных проектах живут своей жизнью, независимо подправляются и могут измениться до неузнаваемости.
Потом эти уже фактически разные текстуры пытаешься скопировать в новый третий проект, а у них GUID одинаковый.
отвечаю когда в процессе работы выдается пауза (чайная/кофейная) или просто ожидаю пока тесты пройдут.
Никто ж тебя не обязывает ходить в интернет кому-то отвечать. Это не работа, тебе просто хочется, ты так себя развлекаешь. Ничего плохого в этом ничего нет и не за что оправдываться.
Ну так выше же настаивают что тяжела стримерская доля и не то что должна, а просто обязана оплачиваться, и хорошо оплачиваться.
Где? Кто? Виртуально плюнь ему в рожу. Никто никому ничего не должен. Сумел человек собственным трудом и талантом собрать аудиторию, которая прямо или опосредованно обеспечивает ему хлеб с икорным маслом, ― ну и молодец. Почему бы не порадоваться? И пофиг, чем он занимается, частушки поёт или писульки строчит.
А кто не сумел, ну так и хрен с ним, ему никто не должен.
Далеко не вся.
Стримеры не требуют. Музыкальная индустрия делает это как-то неубедительно. Музыки почти на любой вкус навалом официально и бесплатно на радио и ютубах. Киношники требуют и разработчики игр.
Что же касается моей скромной персоны, то вовсе не обязательно что развлекаюсь.
Во-первых, человечество тоже никому не должно. Хочет и может ― развивается, хочет и может ― развлекается. И не факт, что это противоположные или перпендикулярные занятия.
Во-вторых, ты ведь прямо сейчас развлекаешься. Ты б иначе на Хабр, и тем более в комменты, не ходил. Тебе от этого хорошо, мне от этого хорошо, Хабру тоже хорошо. Кому плохо-то от развлечения? Человечество ― это мы.
По факту стриминг это вариант одноразовой развлекательной передачи и должно быть как хобби...
Твои слова: «Вот в том то и дело что никому не должно».
но это реально бессмысленно и не приносит никакой пользы обществу
Да вся индустрия развлечений бессмысленна. Стримеры ничем не отличаются. Что Пью-ди-пай, что Морган Фримен, что Петросян, что <вставьте фамилию любого артиста, любимого или не очень>. Способ заработка одинаковый ― торговля лицом. Польза тоже одинаковая ― развлечение публики.
Дальше не лучше. «Это не должно быть работой» ― кому должно?
Побренчать на гитаре во дворе — развлечение. Но в общем, писать музыку, исполнять музыку, петь — деятельность, требующая знаний, навыков и рабочих инструментов. Если результат кому-то нужен, этим можно зарабатывать, и люди зарабатывают.
Соорудить с ребёнком на даче скворечник ― развлечение. Собрать сотню скворечников, чтобы продать на какой-нибудь праздничной весенней ярмарке, ― работа. Ты тратишь свои силы и ресурсы, тебе за это платят. Это работа. У стримеров так же.
Я знал, что рано или поздно кто-то скажет это волшебное «попробуй». Я не дебил, чтобы всю свою жизнь играть в игры и тупеть день ото дня.
― Попробуй кофе XYZ.
― Я не дебил, чтобы всю свою жизнь пить кофе XYZ и тупеть день ото дня. То, что его пьют миллионы человек ежедневно, говорит только о том, что что-то не так вообще в мире. Это ошибка. Баг...
Плюс '?' и так уже используется для nullable value types: int vs int?
Как минимум по бюрократическим причинам. В рамках C# 8.0 ведётся работа над некоторой подфичей Pattern Matching. Чтобы при разговорах о ней не размахивать руками в воздухе или не ссылаться на неё по номеру (Feature #5982), необходимо было придумать какое-то человеческое название. Конечному пользователю языка, если он на github.com/dotnet/csharplang не ходит и спецификации не читает, это название ненужно.
Проверяю:
Проверяю:
Если речь только только про массивы, то да. Если про C# вообще, то нет. Смысл зависит от того, что есть x. Самописный индексатор можно делать всё что хочет. Даже без самописных индексаторов я собственными руками писал x[-1], где x был указателем.
Ты недооцениваешь центральный процессор. Из любопытства делаю в Unity симуляцию жидкости — те же частицы с взаимодействиями между соседями. Старый 4-ядерный i5 тянет в реальном времени 10-50 тысяч частиц, в зависимости от их плотности и распределения в пространстве. Под реальным временем понимается 60 fps.
И ещё два варианта:
Под "перекосило форматирование" я имел ввиду X#: когда вставляешь из буфера или удаляешь кусок и код вокруг разъехался. Если разъехалось, значит точно есть косяк. Не туда вставил, не всё скопировал, лишнего скопировал, не всё удалил, удалил лишнее. Автоформат — это как дополнительный контроль ошибок, который выполняет IDE, а не ты руками и глазами.
Если речь про автоматические отступы в начале новой строки ― это фигня. Я свой код в разы больше редактирую, чем пишу с чистого листа.
Элементарное
Если в конец или середину вставить несколько строк с каким-то своим отступом, современная IDE должна им отступ выправить? Конечно, чай не в блокноте пишем. А на какой? А на хз какой.
Да даже если пишем этот код с нуля и просто после w = 1 переходим на новую строку, нажать } ничем не сложнее, чем нажать Enter и Backspace для отмены одного уровня отступа.
Скобочки отлично работают. Закрыл скобку-две-три ― и всё, что было внутри них, автоматом само перенеслось и само выровнялось как надо, согласно логике. Обрамил блок скобочками, он бац ― сдвинулся вправо. Убрал скобочки ― сдвинулся влево. Вырезал кусок из одной функции, вставил в другую, он на новом месте сам выровнялся как надо. А если форматирование вдруг перекосило, то наличие ошибки в коде понятно сразу, а после того как будешь исправлять форматирование руками и пасьянс не сойдётся.
Когда Питон придумывали, такого почти полного автоматизма не было. А теперь Питон придумали и уже поздно.
Вот и покрыл. В то время как космические корабли бороздят просторы вселенной, а код на условном X# можно писать практически в одну строку и он сам форматируется, в Питоне приходится всё форматировать руками, как деды форматировали.
По-моему, то же самое и с effect/affect, then/than, its/it's, your/you're. Нейтивы так ошибаются постоянно, а для меня это разные слова и выглядят по-разному.
Может происходить по естественным причинам:
Никто ж тебя не обязывает ходить в интернет кому-то отвечать. Это не работа, тебе просто хочется, ты так себя развлекаешь. Ничего плохого в этом ничего нет и не за что оправдываться.
Где? Кто? Виртуально плюнь ему в рожу. Никто никому ничего не должен. Сумел человек собственным трудом и талантом собрать аудиторию, которая прямо или опосредованно обеспечивает ему хлеб с икорным маслом, ― ну и молодец. Почему бы не порадоваться? И пофиг, чем он занимается, частушки поёт или писульки строчит.
А кто не сумел, ну так и хрен с ним, ему никто не должен.
Далеко не вся.
Стримеры не требуют. Музыкальная индустрия делает это как-то неубедительно. Музыки почти на любой вкус навалом официально и бесплатно на радио и ютубах. Киношники требуют и разработчики игр.
Уж точно не работаешь, хотя мог бы. Я тоже.
Во-первых, человечество тоже никому не должно. Хочет и может ― развивается, хочет и может ― развлекается. И не факт, что это противоположные или перпендикулярные занятия.
Во-вторых, ты ведь прямо сейчас развлекаешься. Ты б иначе на Хабр, и тем более в комменты, не ходил. Тебе от этого хорошо, мне от этого хорошо, Хабру тоже хорошо. Кому плохо-то от развлечения? Человечество ― это мы.
Твои слова: «Вот в том то и дело что никому не должно».
Да вся индустрия развлечений бессмысленна. Стримеры ничем не отличаются. Что Пью-ди-пай, что Морган Фримен, что Петросян, что <вставьте фамилию любого артиста, любимого или не очень>. Способ заработка одинаковый ― торговля лицом. Польза тоже одинаковая ― развлечение публики.
Дальше не лучше. «Это не должно быть работой» ― кому должно?
Побренчать на гитаре во дворе — развлечение. Но в общем, писать музыку, исполнять музыку, петь — деятельность, требующая знаний, навыков и рабочих инструментов. Если результат кому-то нужен, этим можно зарабатывать, и люди зарабатывают.
Соорудить с ребёнком на даче скворечник ― развлечение. Собрать сотню скворечников, чтобы продать на какой-нибудь праздничной весенней ярмарке, ― работа. Ты тратишь свои силы и ресурсы, тебе за это платят. Это работа. У стримеров так же.
― Попробуй кофе XYZ.
― Я не дебил, чтобы всю свою жизнь пить кофе XYZ и тупеть день ото дня. То, что его пьют миллионы человек ежедневно, говорит только о том, что что-то не так вообще в мире. Это ошибка. Баг...