Сообщение Re[7]: [Ann, C#6] Состояние для VS2015 preview от 25.11.2014 19:42
Изменено 25.11.2014 19:43 agat50
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, agat50, Вы писали:
A>>http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504697-block-code-as-value-another-syntax-for-semicolon
A>>Ага, хорошо бы.
S>А нафига? Ну, кроме как "в других языках есть"?
S>Не, серьёзно, зачем портить язык, добавляя 100500й способ сделать то же самое, только на пару символов короче? Не, для write-only кода, который никогда читать не будут, а сразу выбросят и перепишут, оно может и удобно.
S>Для нормального человека в чём кайф ловить разницу между
S>
Нафиг, согласен.
S>?
A>> Ну возвращать последнее выражение видимо уже невозможно, поведение сильно поменяет. А так конечно локальных функций нормальных не хватает иногда.
S>
S>?
И это писать в каждом таком применении (а там может быть совсем не инт а что-то монстрообразное). Ну если пример с if чисто чтобы был для описания, то ситуация вида создал переменную, создал ресурс, записал в переменную, закрыл ресурс — ну просто на каждом шагу. Приходится постоянно писать отдельно объявление и присвоение из-за областей видимости. В объявлении соотвественно хрен напишеш var. Хорошо ещё решарпеп помогает быстро var менять на точный класс.
vs
Мне очевидно что первое короче не на "два символа".
S>Здравствуйте, agat50, Вы писали:
A>>http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504697-block-code-as-value-another-syntax-for-semicolon
A>>Ага, хорошо бы.
S>А нафига? Ну, кроме как "в других языках есть"?
S>Не, серьёзно, зачем портить язык, добавляя 100500й способ сделать то же самое, только на пару символов короче? Не, для write-only кода, который никогда читать не будут, а сразу выбросят и перепишут, оно может и удобно.
S>Для нормального человека в чём кайф ловить разницу между
S>
S>public int F(int a) =>
S>(
S> Console.WriteLine(a);
S> a + 1
S>)
S>// и
S>public int F(int a)
S>{
S> Console.WriteLine(a);
S> return a + 1;
S>}
S>
Нафиг, согласен.
S>?
A>> Ну возвращать последнее выражение видимо уже невозможно, поведение сильно поменяет. А так конечно локальных функций нормальных не хватает иногда.
S>
S>Func<int, int> x = i => { ... };
S>
S>?
И это писать в каждом таком применении (а там может быть совсем не инт а что-то монстрообразное). Ну если пример с if чисто чтобы был для описания, то ситуация вида создал переменную, создал ресурс, записал в переменную, закрыл ресурс — ну просто на каждом шагу. Приходится постоянно писать отдельно объявление и присвоение из-за областей видимости. В объявлении соотвественно хрен напишеш var. Хорошо ещё решарпеп помогает быстро var менять на точный класс.
int a =
lock(dataInstance)
{
return dataInstance.Member1;
};
vs
int a = (Func<int>)(() => {lock(dataInstance)
{
return dataInstance.Member1;
};})();
Мне очевидно что первое короче не на "два символа".
Re[7]: [Ann, C#6] Состояние для VS2015 preview
Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, agat50, Вы писали:
A>>http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504697-block-code-as-value-another-syntax-for-semicolon
A>>Ага, хорошо бы.
S>А нафига? Ну, кроме как "в других языках есть"?
S>Не, серьёзно, зачем портить язык, добавляя 100500й способ сделать то же самое, только на пару символов короче? Не, для write-only кода, который никогда читать не будут, а сразу выбросят и перепишут, оно может и удобно.
S>Для нормального человека в чём кайф ловить разницу между
S>
Нафиг, согласен.
S>?
A>> Ну возвращать последнее выражение видимо уже невозможно, поведение сильно поменяет. А так конечно локальных функций нормальных не хватает иногда.
S>
S>?
И это писать в каждом таком применении (а там может быть совсем не инт а что-то монстрообразное). Ну если пример с if чисто чтобы был для описания, то ситуация вида создал переменную, создал ресурс, записал в переменную, закрыл ресурс, работаешь с переменной дальше — ну просто на каждом шагу. Приходится постоянно писать отдельно объявление и присвоение из-за областей видимости. В объявлении соотвественно хрен напишеш var. Хорошо ещё решарпеп помогает быстро var менять на точный класс.
vs
Мне очевидно что первое короче не на "два символа".
S>Здравствуйте, agat50, Вы писали:
A>>http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/6504697-block-code-as-value-another-syntax-for-semicolon
A>>Ага, хорошо бы.
S>А нафига? Ну, кроме как "в других языках есть"?
S>Не, серьёзно, зачем портить язык, добавляя 100500й способ сделать то же самое, только на пару символов короче? Не, для write-only кода, который никогда читать не будут, а сразу выбросят и перепишут, оно может и удобно.
S>Для нормального человека в чём кайф ловить разницу между
S>
S>public int F(int a) =>
S>(
S> Console.WriteLine(a);
S> a + 1
S>)
S>// и
S>public int F(int a)
S>{
S> Console.WriteLine(a);
S> return a + 1;
S>}
S>
Нафиг, согласен.
S>?
A>> Ну возвращать последнее выражение видимо уже невозможно, поведение сильно поменяет. А так конечно локальных функций нормальных не хватает иногда.
S>
S>Func<int, int> x = i => { ... };
S>
S>?
И это писать в каждом таком применении (а там может быть совсем не инт а что-то монстрообразное). Ну если пример с if чисто чтобы был для описания, то ситуация вида создал переменную, создал ресурс, записал в переменную, закрыл ресурс, работаешь с переменной дальше — ну просто на каждом шагу. Приходится постоянно писать отдельно объявление и присвоение из-за областей видимости. В объявлении соотвественно хрен напишеш var. Хорошо ещё решарпеп помогает быстро var менять на точный класс.
int a =
lock(dataInstance)
{
return dataInstance.Member1;
};
vs
int a = (Func<int>)(
() => {
lock(dataInstance)
{
return dataInstance.Member1;
};
})();
Мне очевидно что первое короче не на "два символа".