|
Будущее c#
|
|||
---|---|---|---|
#18+
Это не "сплетня", а уже давно известная информация. Первый раз, когда изменения не просто не полезны, а наоборот вредны. Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами". Впрочем, разработчиков никто не спрашивает - куда мы денемся? Ешь что дают. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 13:15 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
И, чтобы не быть голословным пройдемся по "фичам": 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.
Ведь ^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. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 13:44 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
vb_subhVosttпропущено... На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения. А как же реализацией метода в базовом классе? Это другое. По сути это extension method, внедрённый в interface. Путать не нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 14:10 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Shocker.ProhVosttУ ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.Я наружу не выставлял, но почему это плохо? 1. не сохраняется информация об именах полей кортежа, т.е. наружу по сути торчит (Item1, Item2)... 2. кортежи взаимозаменяемы по составу, т.е. типизация сильно ухудшается ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 14:11 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxПервый раз, когда изменения не просто не полезны, а наоборот вредны. Порождается куча проблем, которые почему-то разработчики языка называют "полезными фичами". О чём речь? Какая куча проблем? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 14:11 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
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.
Ведь ^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. ХЗ. Тут как раз, кому не нравятся нововведения, могут сидеть на том, что есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 14:15 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
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.
Ведь ^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-код есть? И внешние библиотеки? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 14:37 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
будущего нет, всё тлен, зачем дальше жить? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:04 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Roman Mejtes, может для того, чтобы узнать зайдет ли WebAssembly? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:10 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
и blazor тоже как частность ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:12 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Roman Mejtesбудущего нет, всё тлен, зачем дальше жить? Надежда только на Skynet. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:20 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
на чем будем писать софт для скайнета? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:31 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
vb_subна чем будем писать софт для скайнета? на javascript конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 15:35 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxhVosttпропущено... Мне нужна. Нужна любому профессиональному и адекватному разработчику. Сейчас мы в контрактах расставляем [NotNull], [CanBeNull] и выглядит это по-уродски, но заявленная фича решает эту проблему. При чем тут контракты. Это небольшой частный случай. Это будет везде! Это не фича, это трансформация языка. SOLID, до свидания! Фичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID?? Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать? AddxЭто фича на пустом месте. Это усложняет язык и синтаксис. Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо. Извини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям. AddxРечь идет о несовместимости платформ! И еще. Вы понимаете, что в большом проекте такого понятия "нравится-не нравится" нет? Есть 30 разработчиков, каждый будет делать по-своему? Да еще и legacy-код есть? И внешние библиотеки? По какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 16:52 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
vb_subhVostt, дефолтную реализацию интерфейса тоже ждешь? я давным-давно ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 17:06 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
hVosttAddx... SOLID, до свидания! Фичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID?? Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать? ... классы открыты для расширения, но закрыты для модификации! Это ключевой принцип. Я не обязан знать что кто-то включил "фичу" во внешнем коде. Делайте расширения языка, а не меняйте логику поведения. hVosttAddxЭто фича на пустом месте. Это усложняет язык и синтаксис. Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо. Извини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям. Я аргументировал свою позицию. Я против усложнений языка, которые не приносят реальной пользы. Дополнения Код: c# 1.
были полезны, ^4 - нет. Разумеется, это ИМХО, но аргументы изложил. hVosttПо какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется. Фичи, построенные на расширениях к языку - это совсем другое. Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 17:10 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
^4 полезно не только в массивах, но и для substring'а. даже в командном интерпретаторе BAT файлов можно без особого труда взять N символов с конца строки, в C# нужно больше писанины. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 17:51 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
AddxhVosttФичи языка включаются и выключаются, <LangVersion>, при чём тут SOLID?? Предлагаешь заморозить язык? В чём твой посыл? Забить и ничего не делать? ... классы открыты для расширения, но закрыты для модификации! Это ключевой принцип. Я не обязан знать что кто-то включил "фичу" во внешнем коде. Делайте расширения языка, а не меняйте логику поведения. Всё равно не вижу никакой корреляции. Фичи внезапным образом не меняют контракты, независимо включены они или нет. AddxhVosttИзвини, но это не объективно. Кроме известной человеческой инертности и нетерпимости к изменениям. Я аргументировал свою позицию. Я против усложнений языка, которые не приносят реальной пользы. Дополнения Код: c# 1.
были полезны, ^4 - нет. Разумеется, это ИМХО, но аргументы изложил. Как ты оцениваешь "реальную" пользу? Критерии оценки? AddxhVosttПо какому "своему"? Фичи 7.1 до сих пор не везде используются, и никто не жалуется. Фичи, построенные на расширениях к языку - это совсем другое. Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами. Я так до сих пор не понял, что с чем не сочетается? .NET Standard это не профичи языка вообще ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 18:53 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Не знаю, вот в 7.0 наконец-то добавили локальные методы, которые были еще кажется в Delphi 5. Большое спасибо. И switch заметно разнообразили. Это хорошо. И вот так я сначала думал, что будет не очень, а потом оказалось, что как раз наоборот: Код: c# 1.
AddxЭто фича на пустом месте. Это усложняет язык и синтаксис. Можно еще добавить ^^, ^?!, !_! - вообще будет нечитаемо. Может быть да, может быть нет. Надо смотреть как оно на практике будет глазами восприниматься. Пока, что действительно раздражает, так это неугомонное стремление побольше впихнуть в одну строчку - плотность кода возрастает. Но, учитывая, что с 6.0 уже вышло порядочно добавлений, хотелось бы, чтобы вот это заявление оказалось правдой Addx.NET Framework is going to see less innovation in the future, instead focusing on stability and reliability. и они там взяли паузу, чтобы сесть, осмотреться и отдышаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 20:20 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
_nautilus_Пока, что действительно раздражает, так это неугомонное стремление побольше впихнуть в одну строчку - плотность кода возрастает. Эх ... жалко что MS убило FoxPro. Пишу после него на C# и ностальгирую о том что экран кода там можно было одной строкой написать. Тут C# еще расти и расти. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 20:33 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Dima T, Доводят технологию до почти идеальной, спохватываются, убивают и начинают с нуля - опять начинается - а есть там лукап или трилист,..., а есть рекорд или дикшинари,..., как с БД? ,... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 20:52 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Dima Tэкран кода там можно было одной строкой написать. Например? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 21:15 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
Можно обсуждать и осуждать отдельные нововедения. Но поинт в другом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 21:17 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
hVosttAddxДействительно, давайте усложним код! Код: c# 1. 2.
Ведь ^4 - это так удобно и очевидно, не то что length-4; А где объективные аргументы? Ну мне, например, параллельно. Надо привыкнуть, а так должно быть удобно и полезно для более явно выраженных контрактов. Я пока сомненваюсь. Вот в этом примере i1 < i2 ? Или i1 == i2 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 21:32 |
|
Будущее c#
|
|||
---|---|---|---|
#18+
hVostt Всё равно не вижу никакой корреляции. Фичи внезапным образом не меняют контракты, независимо включены они или нет. Еще как. void f(string s) Я ожидаю string = null Внезапно, кто-то включил "фичу", и уже передать ее нельзя. Удобно, правда? hVosttAddxпропущено... Я аргументировал свою позицию. Я против усложнений языка, которые не приносят реальной пользы. Дополнения Код: c# 1.
были полезны, ^4 - нет. Разумеется, это ИМХО, но аргументы изложил. Как ты оцениваешь "реальную" пользу? Критерии оценки? Не буду настаивать, это мое мнение. Если мои аргументы не кажутся убедительными (по индексам), это не критично. hVosttAddxпропущено... Фичи, построенные на расширениях к языку - это совсем другое. Код на 6, 7 и 7.1 прекрасно сочетается без всяких танцев с бубнами. Я так до сих пор не понял, что с чем не сочетается? nullable-типы и дефолтная реализация интерфейсов отправляют совместимость лесом. hVostt.NET Standard это не профичи языка вообще Это про совместимость. Если у нас принципиальные различия в синтаксисе, о какой совместимости можно вести речь? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2018, 22:02 |
|
|
start [/forum/topic.php?fid=20&msg=39733190&tid=1399114]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 284ms |
total: | 424ms |
0 / 0 |