Re[5]: Сложность C# приближается к С++
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 31.01.22 11:34
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Очень маловероятно, чтобы в новом проекте, не отягощенном наследственностью, в бы выбрал в качестве основного языка C++.

Pzz>Так что на мой взгляд, это скорее C++ умер, а не C. Разлагатся он будет, конечно, еще очень долго.

Если посмотреть, то всякие производительные библиотеки постоянно начинают писать на плюсах и нормально пишут. Потом для них пишут обёртки на Питоне и отдают математикам и data scientist'ам. С++ под капотом очень многих современных разработок, которые потом крутятся в том числе и на кластерах под управлением уже упоминавшегося Питона, но не только. И Альтернатив для плюсов тут не видно, никто ни на чём другом их и не пишет. Хотя новые языки разрабатываются под это дело регулярно.
Re[7]: offtopic
От: Ночной Смотрящий Россия  
Дата: 31.01.22 11:47
Оценка: +2
Здравствуйте, Sinclair, Вы писали:

S>Позволяет сократить код типа


Сократить это так, побочный эффект. Главное это позволяет заменить statement на expression.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[10]: offtopic
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 31.01.22 12:41
Оценка: -1 :)
Здравствуйте, CreatorCray, Вы писали:


S>> А то, что с непривычки не удобно, так менять мышление надо.

CC>И опять напомню про Perl
Вот не надо сравнивать с перлом и регулярными выражениями!
Что тут непонятно? все прекрасно читается!

public int F() =>
   (A is B b) && (b.C is C)
  ? C.D ?? 1
  :FalseToNet ;
и солнце б утром не вставало, когда бы не было меня
Отредактировано 31.01.2022 12:42 Serginio1 . Предыдущая версия .
Re[4]: Сложность C# приближается к С++
От: yenik  
Дата: 31.01.22 12:44
Оценка:
S>>>Можно всю жизнь программировать на Шарпе и не знать про ключевое слово `yield`. И не просто программировать, а продуктивно.
Y>>Только если програмировать в одиночку. А иначе молодые и горячие коллеги непременно ознакомят со всеми новейшими свистками и звночками.

S>Не соглашусь.


S>Это не свисток и не звонок, это языковой функционал, нужный для… как бы его назвать… менее прикладного кода (более системного или более хелперного). Перефразируя старый фильм, в командах может быть два типа людей, мой друг: одни заряжают yield, другие пользуются foreach.


Значит, у нас разный опыт. Я давно уже не сталкивался с теми, кто не использует yield, притом во вполне прикладном коде.
Re[5]: Сложность C# приближается к С++
От: Privalov  
Дата: 31.01.22 13:41
Оценка:
Здравствуйте, yenik, Вы писали:

Y>Значит, у нас разный опыт. Я давно уже не сталкивался с теми, кто не использует yield, притом во вполне прикладном коде.


Как я понимаю, yield тут только в качестве примера. Слово такое.

Могу привести другой пример, правда, ретроградский и из Фортрана. В нем есто несколько типов GOTO: безусловный, вычисляемый, назначаемый. О двух последних я знаю только то, что они существуют. Сам, когда работал на Фортране, их не использовал никогда. В реальном коде видел, может, дважды за всю жизнь.
Подобные редко используемые вещи можно найти в любом языке. В шарпе тоже.

P.S. yield, бесусловно, вещь очень удобная.
Re[2]: Сложность C# приближается к С++
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 31.01.22 14:13
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Например, те же Expression Trees не поддерживают почти ничего из добавленного после C# 3.0.


Похоже, сейчас слишком много вещей двигается коммюнити. И шота эти коммюнити большей частью как капризные дети.
Re[3]: Сложность C# приближается к С++
От: vsb Казахстан  
Дата: 31.01.22 18:02
Оценка:
Здравствуйте, mrTwister, Вы писали:

vsb>>В Java тоже сложности накручивают потихоньку. Видимо это жизненный цикл любого языка. Я бы с удовольствием писал на Java 1.4-подобном языке. Считаю, что больше этого ничего не нужно.


T>Бери GO


Да, прикольный язык, если бы я сейчас начинал, возможно это был бы хороший совет, а так с 10 лет опыта на жаве уже сложно куда-то дёргаться. Хотя они там тоже шаблоны какие-то прикрутили и вроде как тоже кривовато, в общем подозреваю, что и Go не минет чаша сия, просто он пока слишком молодой.
Re[11]: offtopic
От: Философ Ад http://vk.com/id10256428
Дата: 31.01.22 18:28
Оценка:
Здравствуйте, Serginio1, Вы писали:

S> Вот не надо сравнивать с перлом и регулярными выражениями!

S> Что тут непонятно? все прекрасно читается!

Понятно всё, но читается не очень.
Всё сказанное выше — личное мнение, если не указано обратное.
Re[11]: offtopic
От: Ночной Смотрящий Россия  
Дата: 01.02.22 07:43
Оценка: +1
Здравствуйте, Serginio1, Вы писали:

S> Что тут непонятно? все прекрасно читается!


У тебя с такими безумными отступами и ненужными скобками — не очень. А так да.

public int F() =>
    A is B b && b.C is C
        ? C.D ?? 1
        : FalseToNet;
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[12]: offtopic
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.02.22 07:55
Оценка:
Здравствуйте, Философ, Вы писали:

Ф>Здравствуйте, Serginio1, Вы писали:


S>> Вот не надо сравнивать с перлом и регулярными выражениями!

S>> Что тут непонятно? все прекрасно читается!

Ф>Понятно всё, но читается не очень.

Ну что мне сказать стареешь. Элементарные вещи. Это как пришли замыкания в язык. Большинство по первости были категорически против.
Прошло время и все прекрасно их используют.
Но Проще конечно Pattrn matching вместо
public int F() =>
   (A is B b) && (b.C is C)
  ? C.D ?? 1
  :FalseToNet ;


напишем так
public int F() =>
 A swith
{
 B b when b.C is C => C.D ?? 1,
 _=>FalseToNet;
};


Так понятнее? Можно посмотреть эволюцию https://docs.microsoft.com/en-us/archive/msdn-magazine/2019/may/csharp-8-0-pattern-matching-in-csharp-8-0
и солнце б утром не вставало, когда бы не было меня
Отредактировано 01.02.2022 8:25 Serginio1 . Предыдущая версия . Еще …
Отредактировано 01.02.2022 8:13 Serginio1 . Предыдущая версия .
Re[4]: Сложность C# приближается к С++
От: Ночной Смотрящий Россия  
Дата: 01.02.22 08:11
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>а так с 10 лет опыта на жаве уже сложно куда-то дёргаться


... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[4]: Сложность C# приближается к С++
От: mrTwister Россия  
Дата: 01.02.22 08:17
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Да, прикольный язык, если бы я сейчас начинал, возможно это был бы хороший совет, а так с 10 лет опыта на жаве уже сложно куда-то дёргаться. Хотя они там тоже шаблоны какие-то прикрутили и вроде как тоже кривовато, в общем подозреваю, что и Go не минет чаша сия, просто он пока слишком молодой.


Go ценен не столько даже самим языком, сколько комьюнити, сформировавшим идиомы языка, в которых простота является основной ценностью. В Go все крутится вокруг простоты: стандартные библиотеки, 3-party библиотеки, и реальный production код. Просто для примера, это код http сервера на го:
package main
import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/hello", hello)
    http.ListenAndServe(":8090", nil)
}
func hello(w http.ResponseWriter, req *http.Request) {
    fmt.Fprintf(w, "hello\n")
}


В примере нет никаких тебе IoC контейнеров, фабрик, аннотаций, фреймворков. И там весь код такой: простой и прямолинейный. Все задачи принято решать в лоб, ценится максимально простое и прямолинейное решение.
лэт ми спик фром май харт
Отредактировано 01.02.2022 9:02 mrTwister . Предыдущая версия .
Re[4]: Сложность C# приближается к С++
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 01.02.22 08:18
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Да, прикольный язык, если бы я сейчас начинал, возможно это был бы хороший совет, а так с 10 лет опыта на жаве уже сложно куда-то дёргаться. Хотя они там тоже шаблоны какие-то прикрутили и вроде как тоже кривовато, в общем подозреваю, что и Go не минет чаша сия, просто он пока слишком молодой.

У меня 20 лет основной 1С был. Да немного на Delphi и C# программировал. Бросил 1С перешел на C# и не жалею.
Всегда можно параллельно что то изучать и в итоге сменить ориентацию (не половую)!
и солнце б утром не вставало, когда бы не было меня
Re[8]: Сложность C# приближается к С++
От: Shtole  
Дата: 01.02.22 08:57
Оценка: +4
Здравствуйте, CreatorCray, Вы писали:

Ф>>
Ф>>public int F() =>
Ф>>   (A is B b) && (b.C is C)?
Ф>>     C.D ??     1
Ф>>   :FalseToNet ;
Ф>>

CC>Один хрен выглядит как perl.
CC>Не надо так писать вообще.
CC>Если можно написать более просто читаемый код — надо писать более просто читаемо, машине же всё равно.

Ф>>Чтение и правка такого кода порождает ошибки. Поубивал бы!

CC>Верно.

Долго думал, откуда у меня странное ощущение, что я одновременно согласен и не согласен.

Потом понял. Мне кажется, рассматривая псевдокод, можно доказать всё, что угодно: и что так нельзя писать, и что можно, и что нужно. Особенно такой, где заглавная A это инстанс, заглавная B — тип, а заглавная C — одновременно тип и свойство.

Ведите слонов
Автор: Sinclair
Дата: 31.01.22
!
Do you want to develop an app?
Re[5]: Сложность C# приближается к С++
От: vaa  
Дата: 02.02.22 01:48
Оценка:
Здравствуйте, mrTwister, Вы писали:


T>Go ценен не столько даже самим языком, сколько комьюнити, сформировавшим идиомы языка, в которых простота является основной ценностью. В Go все крутится вокруг простоты: стандартные библиотеки, 3-party библиотеки, и реальный production код. Просто для примера, это код http сервера на го:

T>
T>package main
T>import (
T>    "fmt"
T>    "net/http"
T>)

T>func main() {
T>    http.HandleFunc("/hello", hello)
T>    http.ListenAndServe(":8090", nil)
T>}
T>func hello(w http.ResponseWriter, req *http.Request) {
T>    fmt.Fprintf(w, "hello\n")
T>}
T>


T>В примере нет никаких тебе IoC контейнеров, фабрик, аннотаций, фреймворков. И там весь код такой: простой и прямолинейный. Все задачи принято решать в лоб, ценится максимально простое и прямолинейное решение.


var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();


Вроде тоже неплохо, при этом кучу вещей(сертификат, пароль, привязки...) можно задать 3-я способами (env, cli, appsettings.json)
На практике за простотой может скрываться примитивность(т.е. банальное отсутствие кучи возможностей, доступных из коробки в других каркасах и библиотеках).
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[9]: Сложность C# приближается к С++
От: _NN_ www.nemerleweb.com
Дата: 02.02.22 06:47
Оценка: :)
Здравствуйте, Shtole, Вы писали:
.

S>Долго думал, откуда у меня странное ощущение, что я одновременно согласен и не согласен.


S>Потом понял. Мне кажется, рассматривая псевдокод, можно доказать всё, что угодно: и что так нельзя писать, и что можно, и что нужно. Особенно такой, где заглавная A это инстанс, заглавная B — тип, а заглавная C — одновременно тип и свойство.


Никогда бы не подумал, что этот пример кода вызовёт такую дискуссию
Конечно, не стоит писать в таком стиле как вы заметили
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[10]: Сложность C# приближается к С++
От: Shtole  
Дата: 02.02.22 07:01
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Никогда бы не подумал, что этот пример кода вызовёт такую дискуссию


А нам чем не заниматься, лишь бы не делом
Do you want to develop an app?
Re[6]: Сложность C# приближается к С++
От: amironov79  
Дата: 03.02.22 05:15
Оценка: :)
Здравствуйте, vaa, Вы писали:

vaa>
vaa>var builder = WebApplication.CreateBuilder(args);
vaa>var app = builder.Build();

vaa>app.MapGet("/", () => "Hello World!");

vaa>app.Run();
vaa>


vaa>Вроде тоже неплохо, при этом кучу вещей(сертификат, пароль, привязки...) можно задать 3-я способами (env, cli, appsettings.json)

vaa>На практике за простотой может скрываться примитивность(т.е. банальное отсутствие кучи возможностей, доступных из коробки в других каркасах и библиотеках).

А теперь собери это дело в контейнеры. С go можно уложиться в 6-7 Мб, с .net понадобится 100-200.
Re[7]: Сложность C# приближается к С++
От: vaa  
Дата: 03.02.22 06:20
Оценка:
Здравствуйте, amironov79, Вы писали:

A>А теперь собери это дело в контейнеры. С go можно уложиться в 6-7 Мб, с .net понадобится 100-200.


не смешите меня! 100Мб в наши дни это ни о чем. Если конечно вы хостеру за каждый байт не платите.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[8]: Сложность C# приближается к С++
От: amironov79  
Дата: 03.02.22 07:37
Оценка: :)
Здравствуйте, vaa, Вы писали:

vaa>не смешите меня! 100Мб в наши дни это ни о чем. Если конечно вы хостеру за каждый байт не платите.


В целом согласен. В наши дни и гигабайты ни о чем, надо же куда-то ресурсы утилизировать.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.