The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Microsoft открыл код WPF, Windows Forms и WinUI, opennews (?), 04-Дек-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


37. "Microsoft открыл код WPF, Windows Forms и WinUI"  +1 +/
Сообщение от Аноним (7), 05-Дек-18, 00:21 
По моему они в c#8 решили на всех стульях сразу усидеть.

Добавили дефолтные имплементации методов интерфейса. А абстрактные классы зачем? Чтобы вводить в заблуждение?

Добавили явную нуллабельность. Здорово, конечно, но на лицо путаница. То есть Nullable-типы это структуры, значение которых не может быть null априори, но null им всё-таки присвоить можно.
В то же время non-nullable reference типы это классы, которые в своём устройстве допускают хранение null, но null туда положить нельзя.

Зачем так всё усложнять? Зачем впихивать в язык всё, что позволяет реализовать дотнет? Или это как dynamic типы, использование которых я не видел ни разу? Или это как sql-подобные методы расширения IEnumerable? Тоже ооочень редко вижу, что кто-то их использует.

Добавили свитч-выражение. Я не против, но это вроде из функциональной концепции?

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

Ответить | Правка | Наверх | Cообщить модератору

41. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Анонимemail (16), 05-Дек-18, 01:10 
1) "дефолтные имплементации методов интерфейса"
эти идиота куски, Халсберг и Гослинг, сначала запретили множественное наследование,
а потом их "последователи" придумали костыльный велосипед.
2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?
3) После 6.0 они как-бы намекают - все в F# :-D
Ответить | Правка | Наверх | Cообщить модератору

61. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от хотел спросить (?), 05-Дек-18, 04:39 
> Добавили дефолтные имплементации методов интерфейса. А абстрактные классы зачем? Чтобы вводить в заблуждение?
> 1) "дефолтные имплементации методов интерфейса"
> эти идиота куски, Халсберг и Гослинг, сначала запретили множественное наследование,

Абстрактные классы могут содержать виртуальную реализацию.
Интерфейсы только дефолтовую. Таким образом получаем Mixin из коробки.
Реализация метода в интерфейсе не позволит иметь статические методы и обращаться к ним.
Или декларивровать переменные (хранить состояние).

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

--

> То есть Nullable-типы это структуры, значение которых не может быть null априори, но null им всё-таки присвоить можно.
> В то же время non-nullable reference типы это классы, которые в своём устройстве допускают хранение null, но null туда положить нельзя.
> 2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?

А вот это не торт совсем. По идее структуры должны быть изначально быть нулл.

Что означает отсутствие значения. Но так исторички сложилось и появился Nullable<T>

non-nullable reference - можно положить туда... будут ворнинги выдаваться, в некоторых случаях, а если настроить компилятор, то ошибки вместо ворнингов.

все делается для обратной совместиомсти

> 3) После 6.0 они как-бы намекают - все в F# :-D

Врядли скорее перетащат лучшие плюшки в C#.

Ответить | Правка | Наверх | Cообщить модератору

220. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Аноним (219), 05-Дек-18, 21:34 
> 2) Notnull это хорошо. Это очень хорошо. И вы не путаете "int?" c "int"?

Тут не за инт вопрос, с ним всё просто.

struct Employee {}
class Employee2 {}

Employee? e = new Employee();
e = null;  // Можно, но на самом деле это не null
            
Employee2 e2 = new Employee2();
e2 = null; // Нельзя, хотя по идее можно

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

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

240. "Microsoft открыл код WPF, Windows Forms и WinUI"  +1 +/
Сообщение от Анонимemail (16), 06-Дек-18, 02:25 
"Как бы структура имеет свойства класса, а класс имеет свойства структуры"
Вы сделали мой вечер таким сравнением ref & value типов! :)
Вы наверное ещё новвоведения 7.x не осознали.
Все эти ref, in, ref readonly, readonly struct, ref struct, return ref которые стараются стереть различия.
Ответить | Правка | Наверх | Cообщить модератору

119. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Попугай Кеша (?), 05-Дек-18, 11:25 
"Не следует множить сущее без необходимости"

В MS об этом не знают

Ответить | Правка | К родителю #37 | Наверх | Cообщить модератору

154. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Andrey Mitrofanov (?), 05-Дек-18, 14:11 
> "Не следует множить сущее без необходимости"
> В MS об этом не знают

Приписываете диавольскую сущность простому незнанию?  :-?

Ответить | Правка | Наверх | Cообщить модератору

157. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Попугай Кеша (?), 05-Дек-18, 14:21 
Да нет, надеюсь, что причина в глупости, а не в злом умысле. Надеюсь...
Ответить | Правка | Наверх | Cообщить модератору

165. "Microsoft открыл код WPF, Windows Forms и WinUI"  +/
Сообщение от Andrey Mitrofanov (?), 05-Дек-18, 15:33 
> Да нет, надеюсь, что причина в глупости, а не в злом умысле.
> Надеюсь...

Я ж про сущность-природу написал, не про умысел.

Сочетание диавольщины, незнания и глупости[, и даже неумысла] допускаю, да

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру