R>>>Вышел релиз .NET 5.0
T>>э-эх, теперь заживём!
T>>к уже имеющимся багам добавят новые! T>>ещё бы знать: зачем...
K>Ну, сиди на .NET FW 1.0, там новых багов нет
зачем же такие крайности ?! даже 3.5 или 4.6.1 на порядки стабильнее той херни, которую сейчас пишет даже не сам майкрософт, а какие-то гики на порнохабе гитхабе в свободное от работы время
Здравствуйте, VladCore, Вы писали:
VC>за здравие. тот же system.text.json в разы быстрее в 5м.
Не, ну JSON — это корень всех технологий! Ща всё брошу и буду портировать с шила на мыло — ведь занятий больше нет.
К слову, system.text.json — это позорный копипаст с другой библиотеки, где вся скорость выжималась.... избеганием юникода! Т.е. они там нахачили унутрях, чем это обернётся — одному богу известно, но зато всё быстро! Два вопроса: зачем так позориться — почему бы просто не взять эту самую стороннюю либу. и 2-е: зачем было изобретать настолько дебильный юникод, что вместе с "универсальной кодировкой" (к слову, один только я знаю ТРИ РАЗНЫХ юникодных кодирования) мы получили ушлёпошную производительность! Изобретатели липовые...
PS
А позорный клоун со своим минусом может продолжать тратить время на кору — поверь, ни от твоей Коры, ни от твоего минуса мне ни тепло, ни холодно — задрочись хоть своими НЕАРГУМЕНТИРОВАННЫМИ оценками.
Здравствуйте, takTak, Вы писали:
T>зачем же такие крайности ?! даже 3.5 или 4.6.1 на порядки стабильнее той херни, которую сейчас пишет даже не сам майкрософт, а какие-то гики на порнохабе гитхабе в свободное от работы время
Именно так! FW существует 18 лет(!!), а Кора едва окуклилась, не упустив возможность насосать сотни багов (в одном только рантайме зарегано ШЕСТЬ ТЫСЯЧ открытых тикетов!).
При этом все эти годы MS концентрировалась конкретно на FW, а последние годы прыгала как студент с венды на все платформы, пытаясь "побырому" зарелизить свою Кору. И даже тут зафэйлилась, поскипав свои же технологии (remoting, app.domains), а ключевые типа WPF (казалось бы, куда уж абстрактнее от платформы, чем декларативный UI!) оказались.... снова WINDOWS ONLY!! му-хахахаха!! (напару с WinForms)
Небольшой, но показательный случай, что такое Core и кто его пилит: казалось бы, обычный, визуальный баг WPF Core. Визуальный, Карл! Т.е. видимый всем, от разрабов до конечных юзеров. Что M$ делает в ответ? Читаем, держим пуканы на льду:
I have detected that for the last 35 days, this issue didn't have much product team activity and a very small amount of new votes or comments. Based on this, its severity, and affected area, it’s my experience that this issue is very unlikely to be fixed.
Ну то есть то, что компанию ткнули мордой в явный фэйл их же собственной либы — это ничё, "это фантастика, сынок!" (ц) Ведь нужно, чтобы за этот баг топили авторитеты, поднялась сходка, вышли демонстранты — "Нет засилью линий! Даёшь круги и овалы!". Это так теперь работают "танцоры"?! Спасибо, ТАКОЙ Core нам не нужен — хавайте сами!
K>>I have detected that for the last 35 days, this issue didn't have much product team activity
K>>... Ведь нужно, чтобы за этот баг топили авторитеты, поднялась сходка, вышли демонстранты
S_S>Наверное, пока некому фиксить — все ушли на фронт — писать WinUI. Они его для этого и пишут, чтобы поскорее объявить WPF — obsolete,deprecated.
у меня почему-то такое чувство, что программистов, которые пишут что-то новое в майкрософте- единицы, которых можно пересчитать на пальцах
так что есть очень большиe сомнения, что они смогут родить какой-то там новый ui framework
они и для своего блэзора ничего приличного в плане готовых контролов не смогли навять, даже на мало-мальскую blazor reference implementation людей собрать не смогли, чего там ещё ожидать ?
Здравствуйте, Silver_S, Вы писали:
S_S>Наверное, пока некому фиксить — все ушли на фронт — писать WinUI. Они его для этого и пишут, чтобы поскорее объявить WPF — obsolete,deprecated.
Естественно! Кроссплатформа дотнета это убийца виндос, конечно они не торопятся топить ее.
тем более что идет смена формации цивилизационной. возможно скоро ПК совсем нужны не будут. зачем же раньше времени терять деньги от ОС?
Например, на почте россии ритэейл программа написана на wpf + devexpress там все наглужо прибито к винде. а нам лапшу вешают про импорт.
40 тысяч отделений! в каждом от 3 до 10 пк в среднем. можно 5 взять. ого-го.
В коре все сделано хорошо однако(самый кайф что наконец, можно просто скопировать на тачку без всякой инсталяции которая помню в классике иногда слетала и плохо лечилась), кроме маленького нюанса даже релизный билд селф-контэйнер привет мир стартует на глаз заметно медленнее чем старые добрые NW экзешники.
Трудно это принять, когда скрипт CL стартует вместе с интерпетатором заметно шустрее.
А уж если использовать F# InterActive то и говорить не о чем. Тормоз в купе с вс кодэ(хотя лучше редактора не видел по удобству, емакс не считается — он сложен в изучении и настройке).
Здравствуйте, yenik, Вы писали:
Y>У меня недоступены фичи C# 9.
Они сомнительны, взять хотя бы
public record Person
{
private int age;
public void Inc () => age++;
}
class Program
{
static void Main(string[] args)
{
var person = new Person();
WriteLine(person.GetHashCode());
person.Inc();
WriteLine(person.GetHashCode());
}
}
запись меня свой хэш!!! и это при том что даже ввели новый оператор with для копирования.
А зачем, если запись прекрасно мутируется, а значит этим будут пользоваться?
А раз нельзя полагаться на равенство по значению, то нафиг оно надо?
Здравствуйте, varenikAA, Вы писали:
AA>запись меня свой хэш!!! AA>А зачем, если запись прекрасно мутируется, а значит этим будут пользоваться?
запись мутируется, если в ее реализации есть такая возможность, либо через рефлекшен. Не у всех записей есть возможность их мутировать (по умолчанию ее нет, надо явно делать).
AA>А раз нельзя полагаться на равенство по значению, то нафиг оно надо? >полагаться на равенство по значению можно при условии, что запись не мутируется.
чтобы, например, поддержать работы старых де-сериализаторов, которые полагались на мутабельность классов/структур.
>и это при том что даже ввели новый оператор with для копирования.
это нужно если определением recordа владеете не вы (если он определен, например, в библиотеке или в сторонней сборке)
что клево с записями, так это нормальный автоматически вычисляемый хешкод и Equals
Здравствуйте, varenikAA, Вы писали:
AA>запись меня свой хэш!!! и это при том что даже ввели новый оператор with для копирования. AA>А зачем, если запись прекрасно мутируется, а значит этим будут пользоваться? AA>А раз нельзя полагаться на равенство по значению, то нафиг оно надо?
Так это основная фича записей, сравнение идет по значению.
var person = new Person();
var person2 = new Person();
display(person == person2);
// True
person.Inc();
person2.Inc();
display(person == person2);
// True
Если такое поведение не нужно (хотя тогда зачем нужны записи?), всегда можно переписать GetHashCode и Equals.
Здравствуйте, amironov79, Вы писали:
A>Если такое поведение не нужно (хотя тогда зачем нужны записи?), всегда можно переписать GetHashCode и Equals.
Я понимаю вашу логику, но запись из названия это нечто неизменное. после создания хеш не должен меняться.
Если верить определению: Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений[en] различных типов.
Запись в отличии от объекта может содержать, только поля, но не может содержать методы, а так же все поля записи публичные ну и инитонли конечно же.
Здравствуйте, varenikAA, Вы писали:
AA>Я понимаю вашу логику, но запись из названия это нечто неизменное. после создания хеш не должен меняться.
Не должен меняться, если значение не меняется.
AA>Если верить определению: Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений[en] различных типов. AA>Запись в отличии от объекта может содержать, только поля, но не может содержать методы, а так же все поля записи публичные ну и инитонли конечно же.