Pull to refresh
34
0
Александр Кугушев @KAW

Lead Software Engineer

Send message

Но иногда он дает false negative результат. И в статье расписал как это решается

И в этом как раз смысл этой фичи - вместо того, чтобы не скомпилироваться при вызове метода Create, он не скомпилируется в самом методе

Я к тому что при вызове метода в compile time учитывается только сигнатура метода: параметры, возвращаемое значение, lifetimes (в том чисте заэлиженые), обобщения.

То что происходит внутри метода вызывающий код не волнует.

В этом и смысл: в обоих случаях "хороший" метод Create не использует аргумент-ссылку в возвращаемом значении.

Но компиляторы rust и c# "не залезают" в методы при вызове. Так что понять, будет ли в возвращаемом значении ссылка, которую мы передаем, можно только по сигнатуре метода.

И вот как модифицируется сигнатура метода, чтобы избежать false negative при вызове, описано в статье :)

Самое смешное, что не важно время, время всегда найдется. Главное чтобы были силы

Ну, мы много говорили :)

Было несколько заходов на геймдев с командой. Разругались на почве идей сразу:)

В этом то и проблема. Для меня, обычного человека, все выглядит так:

  • В лес я не хожу

  • Даже не знаю что такое steadycam

  • А вот довод с UI интересен. Но разве апдейты ОС не прилетят даже на старые модели?

  • Сьемка камерой в темноте может быть крутой опцией.... хм, но стоит ли оно тех денег? Или стоит остаться на текущем телефоне 2018 года

На мой скромный взгляд, Apple сами себе сделали подножку, поддерживая так долго старые модели. Мне, как пользователю, это дико нравится, но очень боюсь что топ менеджмент очень хочет "отменить" на столько долгую поддержку. Достаточно просто посмотреть сколько людей на улице ходят со старыми моделями iPhone и понять, что это просто .... "недополученная прибыль".

Кхм, а разве по моему дивану не видна степень моей аналитики?
А если серьезно, я просто я смотрю на "казуальных" людей, покупающих телефоны и именно у них в руках я вижу "раскладушки". Вот это реально привлекает, а не.... блин, а что там нового в iPhone 14?
Вторая мотивация уже от меня: я до сих пор не понял, зачем мне надо поменять телефон 2018 года на новинку... камера норм, игрушки тянет, батарейка жива... А вот раскладушку бы хотелось

Кхм, еще iPhone 13 люди называли "итерационным" релизом. И что тут? Еще меньше мотивации сменить свой XR на новинку. Я думаю Apple сильно потеряет на рынке телефонов когда Samsung доведут до ума свои складные телефоны.

Или оператор is null или is {}

Это да, потому и стоит смотреть и профилировать

Мне кажется Unity как гугл - любят забивать на проекты

Я бы поспорил у утверждением, что Unity для простых игр. Смотря что считать "простым": Pillars of Eternity написаны на Untiy.

Так же не соглашусь, что Unity "не для программистом": в отличие от Unreal Engine в Unity нет нативного визуального программирования, в отличие от GameMaker есть полноценный .Net со всеми возможностями "попрогать": от многопоточки до реактивного программирования.

А еще не соглашусь, что ECS в Untiy это только DOTS. На мой взгляд, DOTS - мертвый продукт, он еще не вырос, но уже выглядит противно. Я дико рекомендую LeoEcs как пример хорошего ECS фреймворка: он приятный, более функциональный и лучше интегрируется с системами Unity. Конечно, бесплатной векторизации мы не получим, но получим "бесплатные" оптимизации кеш миссов (для чего и нужен Data Oriented Programming). А SIMD можно и нативно использовать в тех местах, где он нужен: для массового pathfinding, обработки повреждений в больших сражениях и проч.

Отличная статья, спасибо

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

Эммм, а ничего что массив является ссылочным типом?

Джексон Данстан написал на данную тему эту и эту статью, где демонстрирует, насколько серьезно будет отличаться производительность, если создавать ту же логику вручную.

Эти статьи от 2015 и 2018 года со "старым" фреймворком и "старой" LINQ. Надо бы провести повторные замеры.

Классический пример этого - String.Format

Жалко что автор не потрудился сказать, что делать, когда нужно отобразить "Убито 42 монстра" в UI. А решение тут простое: 3 контрола TextMeshPro + кеширование строки по ключу int.

Бабло и экология гораздо лучше, чем просто бабло.

Почему-то считается, что если человек выступает "за все хорошее", то он должен быть нищебродом. Ведь гораздо лучше, когда человек и для окружающих делает "хорошо" (в данном случае, экологичнее), и себя не обижает.

LeoEcs это прям супер пример, показывающий как надо делать ECS фреймворк. Особенно в сравнении с Entitas и ОСОБЕННО с UnityECS

А про какие тонкости Вы говорите? С моей точки зрения в C# стало даже меньше способов отстрелить себе ногу, по сравнению с 5 версией.

  1. Пофиксили проблемы с лямбдами в цикле

  2. Добавили полноценную иммутабельность, не нужно костыли писать

  3. В основных фреймворках убрали привязки в событиям, так что исключили массу проблем

Из новых проблем я бы отметил только Tuples в коллекциях: они изменяемые структуры

Information

Rating
Does not participate
Date of birth
Registered
Activity