Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c# / 25 сообщений из 290, страница 1 из 12
13.11.2018, 20:17
    #39732699
mikron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
есть такая сплетня

Давайте обсудим?
IMHO первое впечатление - вектор движения ошибочный.
Такое впечатление что им платять за каждую новую свистоперделку,
И народ успешно идёт к годовой премии.
Из лаконичного языка получится свалка фитч, что читается уже с трудом.
...
Рейтинг: 0 / 0
13.11.2018, 21:04
    #39732712
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
mikron,

нет никакого движения, не то что вектора :)
...
Рейтинг: 0 / 0
13.11.2018, 23:26
    #39732743
mikron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
ViPRos,

Вектор может быть нулевым, но по отношению к сабжу очевидно не объективно.
У меня нет ни тяги к новым плюшкам ни потребности в них, и как следствие - опыта.
Но вот ЭТО вызывает недоумение:
Код: c#
1.
2.
3.
4.
5.
6.
7.
async IAsyncEnumerable<int> GetBigResultsAsync()
{
    await foreach (var result in GetResultsAsync())
    {
        if (result > 20) yield return result; 
    }
}


Мне уже не понятно - что тут ждём ( или что здесь IAwaitable) ?
IMHO 70% разработчиков тоже не поймут, но напишут код который только машины могут читать.
...
Рейтинг: 0 / 0
13.11.2018, 23:59
    #39732757
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
mikron,

Все эти неочевидные вещи появляются из решаемых задач, меня сейчас такие задачи не интересуют и потому я не могу оценить - насколько вся это фигня важна, что бы встроить их в язык или фреймворк.
По мне сами async, await хреновые вещи в C#, неправильные, и их развитие никому ничего не даст (они будут использованы только в тех задачах, где в них и появилась надобность).
...
Рейтинг: 0 / 0
14.11.2018, 00:14
    #39732765
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
mikron,

обычно добавляют далеко не всё.
действительно не очень понятно, но думаю, что асинхронно возвращается IEnumerator<T>
...
Рейтинг: 0 / 0
14.11.2018, 10:00
    #39732833
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
Пора валить на жабу скрипт?
...
Рейтинг: 0 / 0
14.11.2018, 10:03
    #39732835
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
vb_subПора валить на жабу скрипт?
на Go
...
Рейтинг: 0 / 0
14.11.2018, 10:36
    #39732850
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
Что-то каждая новая обнова шарпа кроме гипергликемии не вызывает. Как будто у архитекторов языка уже закончились идеи в каком направлении идти или они думают, что уже находятся на финишной прямой, когда менять уже ничего не нужно.
...
Рейтинг: 0 / 0
14.11.2018, 10:41
    #39732853
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
...
Рейтинг: 0 / 0
14.11.2018, 10:49
    #39732858
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
mikronТакое впечатление что им платять за каждую новую свистоперделку,

Например?

Как по мне, Nullable reference types самая ожидаемая фича из покон веков. Её ценность можно выразить даже деньгами, не потраченными на фиксы и простои. Я не знаю, почему столько лет потребовалось.

Асинхронные потоки это свистоперделки? Серьёзно??? Ну я даже не знаю, ребят.

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

Улучшенный паттерн-матчинг, тож свистоперделки?

Выражения в switch давно напрашивались, учитывая, что они уже в других местах давно внедрены.

ИМХО только это

Target-typed new-expressions

выглядит как вред.


mikronИз лаконичного языка получится свалка фитч, что читается уже с трудом.

Target-typed new-expressions

Только этот пункт могу отнести к ухудшению читаемости.


mikronИ народ успешно идёт к годовой премии.

Ну это из разряда зеленей-трава. Лично я вижу ожидаемые давно фичи, и которые сам давным-давно жду.
...
Рейтинг: 0 / 0
14.11.2018, 10:51
    #39732859
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
hVostt,
дефолтную реализацию интерфейса тоже ждешь?
...
Рейтинг: 0 / 0
14.11.2018, 10:51
    #39732860
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
Petro123vb_sub,
https://habr.com/post/346214/

Да, на бомбалейло в комментариях любо посмотреть.

НИ ПОРТИТЕ НАШ ЕЗЫК!!
...
Рейтинг: 0 / 0
14.11.2018, 11:06
    #39732878
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
hVosttКак по мне, Nullable reference types самая ожидаемая фича из покон веков.Не, знаю, может кто-то и застрял во временах 5.0, но лично я с момента перехода на 7.0 ValueTuple использую постоянно и непрерывно, и даже перевел на него кое-какие библиотечные функции. И Nullable reference types жду с нетерпением, ибо это решит просто огромную массу отложенных проблем, переведя их на момент компиляции.
...
Рейтинг: 0 / 0
14.11.2018, 12:22
    #39732924
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
>ViPRos, вчера, 23:59 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21733671][21733671]
>...По мне сами async, await хреновые вещи в C#, неправильные,...
<Не могу с Вами согласится.
Что в них плохого?
К примеру, мне надо надергать из базы данных выборки извещений разных форматов и построить из них список сущностей:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
          - - - 
          else { //-- Крайний срез существует
            //-- Загружаем параметры крайнего среза 
            lst_Entity = null; lst_Entity = new List<row_Entity>();
            psp[0] = new object[2] { "x_datesre", dt_srez_old };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Sel", wsp.sp_Sel, psp, RowToEntity));
            if (wsp.wspErr != null) goto mp1;

            //-- Загружаем извещения б... после крайнего среза в уже имеющийся список сущностей
            object[][] psp2 = new object[3][];
            psp2[0] = new object[2] { "x_dt_srez_new", dt_srez_new };
            psp2[1] = new object[2] { "x_dt_srez_old", dt_srez_old };
            psp2[2] = new object[2] { "x_format", "12" };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Dop", wsp.sp_Sel, psp2, RowToFormat12));
            if (wsp.wspErr != null) goto mp1;

            //-- Загружаем извещения п... после крайнего среза в уже имеющийся список сущностей
            psp2[2] = new object[2] { "x_format", "11" };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_Dop", wsp.sp_Sel, psp2, RowToFormat11));
            if (wsp.wspErr != null) goto mp1;

            //-- Цикл формирования списка pk ТБ и обработки извещений р... после крайнего среза в уже имеющийся список сущностей
            StringBuilder sb = new StringBuilder();
            foreach (row_Entity xrow in lst_Entity) sb.Append(xrow.pk + ",");
            int astr = (sb.ToString()).Length;
            psp2[0] = new object[2] { "x_pk", sb.ToString() };
            psp2[1] = new object[2] { "x_dt_srez_new", dt_srez_new };
            psp2[2] = new object[2] { "x_dt_srez_old", dt_srez_old };
            await Task.Run(() => wsp.Entity_SP("NCUYAO_GIS.Srez_RN", wsp.sp_Sel, psp2, RowToRN));
            if (wsp.wspErr != null) goto mp1;
          }
        }
        //-- Покажем список сущностей
        if (lst_Entity != null) {
          //-- Сортируем список
          lst_Entity = lst_Entity.OrderBy(x => x.baz).ThenByDescending(x => x.rn).ThenBy(x => x.namvrr).ThenBy(x => x.pk).ToList();
          oc_Entity = new ObservableCollection<row_Entity>(lst_Entity);
        - - -
...
Рейтинг: 0 / 0
14.11.2018, 12:27
    #39732930
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
ВМоисеевК примеру, вопрос без простыни кода можешь задать?
...
Рейтинг: 0 / 0
14.11.2018, 12:28
    #39732932
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
ВМоисеев,
Твой код вообще для шарп третьей версии.
...
Рейтинг: 0 / 0
14.11.2018, 12:37
    #39732937
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
vb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?

На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения.
...
Рейтинг: 0 / 0
14.11.2018, 12:38
    #39732938
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
>Petro123, сегодня, 12:28 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21734030] [21734030]
>Твой код вообще для шарп третьей версии.
<Мне было важно показать, что весь код располагается в одном методе. С BackgroundWorker-ом так не получается. Нарушается линейность кода. Код беру из работающих приложений.
...
Рейтинг: 0 / 0
14.11.2018, 12:38
    #39732940
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
Shocker.ProНе, знаю, может кто-то и застрял во временах 5.0, но лично я с момента перехода на 7.0 ValueTuple использую постоянно и непрерывно, и даже перевел на него кое-какие библиотечные функции. И Nullable reference types жду с нетерпением, ибо это решит просто огромную массу отложенных проблем, переведя их на момент компиляции.

У ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.
...
Рейтинг: 0 / 0
14.11.2018, 12:40
    #39732941
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
ВМоисеев
Код: c#
1.
if (wsp.wspErr != null) goto mp1;



ээх.. глаза закровоточили, развидеть )
...
Рейтинг: 0 / 0
14.11.2018, 12:44
    #39732944
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
ВМоисеевНарушается линейность кода. goto помогает в линейности))))).
Не пиши простыни сюда.
...
Рейтинг: 0 / 0
14.11.2018, 12:45
    #39732945
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
hVosttВМоисеев
Код: c#
1.
if (wsp.wspErr != null) goto mp1;




ээх.. глаза закровоточили, развидеть )этот оператор еще работает?
...
Рейтинг: 0 / 0
14.11.2018, 12:50
    #39732949
vb_sub
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
hVosttvb_subhVostt,
дефолтную реализацию интерфейса тоже ждешь?
На самом деле, действительно полезная фича. На сегодняшний день решается только с помощью методов расширения.
А как же реализацией метода в базовом классе?
...
Рейтинг: 0 / 0
14.11.2018, 12:56
    #39732956
ВМоисеев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
>hVostt, сегодня, 12:40 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1305305&msg=21734047][21734047]

>ээх.. глаза закровоточили, развидеть )
<Проморгаешь, какие твои годы.
Хотя использую и такой вариант:
Код: c#
1.
if (wsp.wspErr != null) { MessageBox.Show(wsp.wspErr, caption_Entity, MessageBoxButton.OK); return; }

и такой:
Код: c#
1.
if (wsp.wspErr != null) { throw new Exception(wsp.wspErr);}
...
Рейтинг: 0 / 0
14.11.2018, 13:12
    #39732961
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Будущее c#
hVosttУ ValueTuple один бич. Его начинают выставлять наружу, в интерфейсы. Я с этим категорически не согласен, так делать нельзя. А так да, ValueTuple для внутренней реализации очень и очень даже удобный инструмент, и эффективный к тому же.Я наружу не выставлял, но почему это плохо?
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Будущее c# / 25 сообщений из 290, страница 1 из 12
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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