powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
25 сообщений из 290, страница 2 из 12
Будущее c#
    #39732962
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не "сплетня", а уже давно известная информация.
Первый раз, когда изменения не просто не полезны, а наоборот вредны.
Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами".
Впрочем, разработчиков никто не спрашивает - куда мы денемся?
Ешь что дают.
...
Рейтинг: 0 / 0
Будущее c#
    #39732989
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, чтобы не быть голословным пройдемся по "фичам":

Nullable reference types:

It stops you from putting null into ordinary reference types such as string – it makes those types non-nullable! It does so gently, with warnings, not errors. But on existing code there will be new warnings, so you have to opt in to using the feature (which you can do at the project, file or even source line level).

Прекрасно!
Я должен понять, где в проекте строки nullable, а где нет!
Причем это может даже быть установлено на even source line level!
Кому нужна эта псевдосовместимость?

Ranges and indices

Действительно, давайте усложним код!
Код: c#
1.
2.
Index i1 = 3;  // number 3 from beginning
Index i2 = ^4; // number 4 from end


Ведь ^4 - это так удобно и очевидно, не то что length-4;

Default implementations of interface members

Это самое любимое.
Действительно, ведь мы не можем наследоваться от нескольких классов.
Как же быть?
А давайте наследоваться от интерфейсов с реализацией!
И даже
Thus, if somebody doesn’t implement that member (perhaps because it wasn’t there yet when they wrote the code), they will just get the default implementation instead.
если вы забыли реализовать интерфейс, компилятор не выдаст ошибку, а подставит реализацию за вас!

Platform dependencies

Ну и на закуску.
Мы придумали .NET Standard, чтобы невизуальная часть была едина для вссех платформ, но
This means that the types required to use these features won’t be available when you target C# 8.0 to .NET Framework 4.8.
.NET Framework is going to see less innovation in the future, instead focusing on stability and reliability.
...
Рейтинг: 0 / 0
Будущее c#
    #39733003
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subhVosttпропущено...

На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения.
А как же реализацией метода в базовом классе?

Это другое. По сути это extension method, внедрённый в interface. Путать не нужно.
...
Рейтинг: 0 / 0
Будущее c#
    #39733005
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttУ ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.Я наружу не выставлял, но почему это плохо?

1. не сохраняется информация об именах полей кортежа, т.е. наружу по сути торчит (Item1, Item2)...
2. кортежи взаимозаменяемы по составу, т.е. типизация сильно ухудшается
...
Рейтинг: 0 / 0
Будущее c#
    #39733006
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxПервый раз, когда изменения не просто не полезны, а наоборот вредны.
Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами".

О чём речь? Какая куча проблем?
...
Рейтинг: 0 / 0
Будущее c#
    #39733010
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxИ, чтобы не быть голословным пройдемся по "фичам":

Nullable reference types:

It stops you from putting null into ordinary reference types such as string – it makes those types non-nullable! It does so gently, with warnings, not errors. But on existing code there will be new warnings, so you have to opt in to using the feature (which you can do at the project, file or even source line level).

Прекрасно!
Я должен понять, где в проекте строки nullable, а где нет!
Причем это может даже быть установлено на even source line level!
Кому нужна эта псевдосовместимость?

Мне нужна. Нужна любому профессиональному и адекватному разработчику.
Сейчас мы в контрактах расставляем [NotNull], [CanBeNull] и выглядит это по-уродски, но заявленная фича решает эту проблему.


AddxДействительно, давайте усложним код!
Код: c#
1.
2.
Index i1 = 3;  // number 3 from beginning
Index i2 = ^4; // number 4 from end



Ведь ^4 - это так удобно и очевидно, не то что length-4;

А где объективные аргументы? Ну мне, например, параллельно. Надо привыкнуть, а так должно быть удобно и полезно для более явно выраженных контрактов.


AddxНу и на закуску.
Мы придумали .NET Standard, чтобы невизуальная часть была едина для вссех платформ, но
This means that the types required to use these features won’t be available when you target C# 8.0 to .NET Framework 4.8.
.NET Framework is going to see less innovation in the future, instead focusing on stability and reliability.

ХЗ. Тут как раз, кому не нравятся нововведения, могут сидеть на том, что есть.
...
Рейтинг: 0 / 0
Будущее c#
    #39733029
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAddxИ, чтобы не быть голословным пройдемся по "фичам":

Nullable reference types:

It stops you from putting null into ordinary reference types such as string – it makes those types non-nullable! It does so gently, with warnings, not errors. But on existing code there will be new warnings, so you have to opt in to using the feature (which you can do at the project, file or even source line level).

Прекрасно!
Я должен понять, где в проекте строки nullable, а где нет!
Причем это может даже быть установлено на even source line level!
Кому нужна эта псевдосовместимость?

Мне нужна. Нужна любому профессиональному и адекватному разработчику.
Сейчас мы в контрактах расставляем [NotNull], [CanBeNull] и выглядит это по-уродски, но заявленная фича решает эту проблему.


При чем тут контракты. Это небольшой частный случай.
Это будет везде! Это не фича, это трансформация языка.
SOLID, до свидания!

hVosttAddxДействительно, давайте усложним код!
Код: c#
1.
2.
Index i1 = 3;  // number 3 from beginning
Index i2 = ^4; // number 4 from end



Ведь ^4 - это так удобно и очевидно, не то что length-4;

А где объективные аргументы? Ну мне, например, параллельно. Надо привыкнуть, а так должно быть удобно и полезно для более явно выраженных контрактов.


Это фича на пустом месте. Это усложняет язык и синтаксис.
Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо.

hVosttAddxНу и на закуску.
Мы придумали .NET Standard, чтобы невизуальная часть была едина для всех платформ, но
This means that the types required to use these features won’t be available when you target C# 8.0 to .NET Framework 4.8.
.NET Framework is going to see less innovation in the future, instead focusing on stability and reliability.

ХЗ. Тут как раз, кому не нравятся нововведения, могут сидеть на том, что есть.
Речь идет о несовместимости платформ!
И еще.
Вы понимаете, что в большом проекте такого понятия "нравится-не нравится" нет?
Есть 30 разработчиков, каждый будет делать по-своему?
Да еще и legacy-код есть? И внешние библиотеки?
...
Рейтинг: 0 / 0
Будущее c#
    #39733049
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будущего нет, всё тлен, зачем дальше жить?
...
Рейтинг: 0 / 0
Будущее c#
    #39733053
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,
может для того, чтобы узнать зайдет ли WebAssembly?
...
Рейтинг: 0 / 0
Будущее c#
    #39733054
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и blazor тоже как частность
...
Рейтинг: 0 / 0
Будущее c#
    #39733059
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesбудущего нет, всё тлен, зачем дальше жить?

Надежда только на Skynet.
...
Рейтинг: 0 / 0
Будущее c#
    #39733068
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на чем будем писать софт для скайнета?
...
Рейтинг: 0 / 0
Будущее c#
    #39733069
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subна чем будем писать софт для скайнета?
на javascript конечно
...
Рейтинг: 0 / 0
Будущее c#
    #39733116
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxhVosttпропущено...


Мне нужна. Нужна любому профессиональному и адекватному разработчику.
Сейчас мы в контрактах расставляем [NotNull], [CanBeNull] и выглядит это по-уродски, но заявленная фича решает эту проблему.


При чем тут контракты. Это небольшой частный случай.
Это будет везде! Это не фича, это трансформация языка.
SOLID, до свидания!

Фичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID??

Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать?


AddxЭто фича на пустом месте. Это усложняет язык и синтаксис.
Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо.

Извини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям.


AddxРечь идет о несовместимости платформ!
И еще.
Вы понимаете, что в большом проекте такого понятия "нравится-не нравится" нет?
Есть 30 разработчиков, каждый будет делать по-своему?
Да еще и legacy-код есть? И внешние библиотеки?

По какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется.
...
Рейтинг: 0 / 0
Будущее c#
    #39733120
Фотография Denis.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?
я давным-давно
...
Рейтинг: 0 / 0
Будущее c#
    #39733121
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAddx...
SOLID, до свидания!

Фичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID??

Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать?


... классы открыты для расширения, но закрыты для модификации!
Это ключевой принцип.
Я не обязан знать что кто-то включил "фичу" во внешнем коде.
Делайте расширения языка, а не меняйте логику поведения.

hVosttAddxЭто фича на пустом месте. Это усложняет язык и синтаксис.
Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо.

Извини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям.


Я аргументировал свою позицию.
Я против усложнений языка, которые не приносят реальной пользы.
Дополнения
Код: c#
1.
?. и $"{}"

были полезны, ^4 - нет.
Разумеется, это ИМХО, но аргументы изложил.

hVosttПо какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется.

Фичи, построенные на расширениях к языку - это совсем другое.
Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами.
...
Рейтинг: 0 / 0
Будущее c#
    #39733145
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^4 полезно не только в массивах, но и для substring'а. даже в командном интерпретаторе BAT файлов можно без особого труда взять N символов с конца строки, в C# нужно больше писанины.
...
Рейтинг: 0 / 0
Будущее c#
    #39733190
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AddxhVosttФичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID??

Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать?


... классы открыты для расширения, но закрыты для модификации!
Это ключевой принцип.
Я не обязан знать что кто-то включил "фичу" во внешнем коде.
Делайте расширения языка, а не меняйте логику поведения.

Всё равно не вижу никакой корреляции.
Фичи внезапным образом не меняют контракты, независимо включены они или нет.


AddxhVosttИзвини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям.


Я аргументировал свою позицию.
Я против усложнений языка, которые не приносят реальной пользы.
Дополнения
Код: c#
1.
?. и $"{}"


были полезны, ^4 - нет.
Разумеется, это ИМХО, но аргументы изложил.

Как ты оцениваешь "реальную" пользу? Критерии оценки?


AddxhVosttПо какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется.

Фичи, построенные на расширениях к языку - это совсем другое.
Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами.

Я так до сих пор не понял, что с чем не сочетается?

.NET Standard это не профичи языка вообще
...
Рейтинг: 0 / 0
Будущее c#
    #39733223
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, вот в 7.0 наконец-то добавили локальные методы, которые были еще кажется в Delphi 5. Большое спасибо. И switch заметно разнообразили. Это хорошо.

И вот так я сначала думал, что будет не очень, а потом оказалось, что как раз наоборот:

Код: c#
1.
var str = $"Test - {p.Field1} and {p.Field2}";



AddxЭто фича на пустом месте. Это усложняет язык и синтаксис.
Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо.

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

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

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

Addx.NET Framework is going to see less innovation in the future, instead focusing on stability and reliability.

и они там взяли паузу, чтобы сесть, осмотреться и отдышаться.
...
Рейтинг: 0 / 0
Будущее c#
    #39733226
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_nautilus_Пока, что действительно раздражает, так это неугомонное стремление побольше впихнуть в одну строчку - плотность кода возрастает.
Эх ... жалко что MS убило FoxPro. Пишу после него на C# и ностальгирую о том что экран кода там можно было одной строкой написать. Тут C# еще расти и расти.
...
Рейтинг: 0 / 0
Будущее c#
    #39733233
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Доводят технологию до почти идеальной, спохватываются, убивают и начинают с нуля - опять начинается - а есть там лукап или трилист,..., а есть рекорд или дикшинари,..., как с БД? ,... :(
...
Рейтинг: 0 / 0
Будущее c#
    #39733235
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tэкран кода там можно было одной строкой написать.

Например?
...
Рейтинг: 0 / 0
Будущее c#
    #39733236
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно обсуждать и осуждать отдельные нововедения.

Но поинт в другом.
...
Рейтинг: 0 / 0
Будущее c#
    #39733242
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttAddxДействительно, давайте усложним код!
Код: c#
1.
2.
Index i1 = 3;  // number 3 from beginning
Index i2 = ^4; // number 4 from end



Ведь ^4 - это так удобно и очевидно, не то что length-4;

А где объективные аргументы? Ну мне, например, параллельно. Надо привыкнуть, а так должно быть удобно и полезно для более явно выраженных контрактов.

Я пока сомненваюсь. Вот в этом примере i1 < i2 ? Или i1 == i2 ?
...
Рейтинг: 0 / 0
Будущее c#
    #39733248
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Всё равно не вижу никакой корреляции.
Фичи внезапным образом не меняют контракты, независимо включены они или нет.


Еще как.

void f(string s)

Я ожидаю string = null
Внезапно, кто-то включил "фичу", и уже передать ее нельзя.
Удобно, правда?

hVosttAddxпропущено...


Я аргументировал свою позицию.
Я против усложнений языка, которые не приносят реальной пользы.
Дополнения
Код: c#
1.
?. и $"{}"


были полезны, ^4 - нет.
Разумеется, это ИМХО, но аргументы изложил.

Как ты оцениваешь "реальную" пользу? Критерии оценки?


Не буду настаивать, это мое мнение. Если мои аргументы не кажутся убедительными (по индексам), это не критично.

hVosttAddxпропущено...


Фичи, построенные на расширениях к языку - это совсем другое.
Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами.

Я так до сих пор не понял, что с чем не сочетается?


nullable-типы и дефолтная реализация интерфейсов отправляют совместимость лесом.

hVostt.NET Standard это не профичи языка вообще

Это про совместимость.
Если у нас принципиальные различия в синтаксисе, о какой совместимости можно вести речь?
...
Рейтинг: 0 / 0
25 сообщений из 290, страница 2 из 12
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]