Здравствуйте, Jack128, Вы писали:
J> да дело не в скобках, а однобуквенных именах. Замени A,B,C,D на что нить типа Customer/Order/Price и всё нормально будет читаться.
Не будет. Будет нагромождение идентификаторов. Выкинуть элементы обеспечивающие семантическую связанность могут только оторванные от жизни утырки, которые кроме своих пятистрочников ничего больше не читали.
Здравствуйте, vsb, Вы писали:
vsb>Я считаю, что C де факто умер и заменён С++. Кто его там развивает, зачем, это вообще непонятно. По сути сейчас это какое-то достаточным произвольным образом взятое подмножество С++ (с кучкой несовместимостей, я в курсе, сути это не меняет).
А я вот, например, не вижу ниши, в которой выбор однозначно был бы в пользу C++, а ни какого-нибудь другого языка. А вот нишу для C вижу: всякое там внутриядерное программирование. В ядре редко встречаются хитрые алгоритмы и структуры данных, и в то же время, в ядре хочется очень точно понимать, что именно происходит.
Очень маловероятно, чтобы в новом проекте, не отягощенном наследственностью, в бы выбрал в качестве основного языка C++.
Так что на мой взгляд, это скорее C++ умер, а не C. Разлагатся он будет, конечно, еще очень долго.
Здравствуйте, Shmj, Вы писали:
S>Заметили ли вы, что C# уже не тот. Конечно, еще не догнал старшего собрата, но уже дофига концепций, которые вам могут показаться очевидными, но вот начинающим с нуля — доставят.
Сам язык простой. Еще проще процесс компиляции. Это его плюсы.
Большинство нововведений косметические. легко выводятся из базовых случаев.
Взять хотя бы новую фишку field в свойствах.
нет ничего сложного. новичок ее скорее всего не будет использовать.
S>Просто смотрю С++ и уже не кажется таким уж сложным, т.к. в C# навязано множество концепций, которые тоже не просты.
В плюсах плюсов только два S>Лет через 15 будет тот же вавилон, имхо.
S>Как то все по одному сценарию идет.
Было бы неплохо, т.к. современные плюсы кажись попроще чем те что были в начале нулевых.
Здравствуйте, Serginio1, Вы писали:
S> Ну в принципе то читабельно. Это с непривычки. S>Но таких конструкций можно и на любом языке S> Конечно скобочки проставить лучше
прочитать можно всё что угодно. Я одно время бинари в hex-редакторе раглядывал. Только это не быстро.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Shtole, Вы писали:
S>Например, типичный программист не пишет алгоритмы и контейнеры, а пользуется ими. Можно всю жизнь программировать на Шарпе и не знать про ключевое слово `yield`. И не просто программировать, а продуктивно.
Даже не представляю как это возможно.
Всё сказанное выше — личное мнение, если не указано обратное.
Здравствуйте, Философ, Вы писали:
Ф>Здравствуйте, Serginio1, Вы писали:
Ф>>>прочитать можно всё что угодно. Я одно время бинари в hex-редакторе раглядывал. Только это не быстро. S>> Ну это разные вещи. Давай разберем
Ф>Если ты думаешь, что я это не разобрал, ты заблуждаешься — я умею читать код. Только я отличаю хорошо читаемый код от нечитабельного.
Ф>Чтобы там улучшить читабельность, там надо как минимум не писать в одну строку:
Ф>
Ф>public int F() =>
Ф> (A is B b) && (b.C is C)?
Ф> C.D ?? 1
Ф> :FalseToNet ;
Ф>
Ф>Чтение и правка такого кода порождает ошибки. Поубивал бы!
Ну я говорю, что код нужно правильно форматировать. Проблема в итоге не в операторах! Не в усложнении языка.
А вот по форматированию лучше уже вырабатывать стандарты. Мне так больше нравится
public int F() =>
(A is B b) && (b.C is C)
? C.D ?? 1
:FalseToNet ;
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, Философ, Вы писали:
S>>Например, типичный программист не пишет алгоритмы и контейнеры, а пользуется ими. Можно всю жизнь программировать на Шарпе и не знать про ключевое слово `yield`. И не просто программировать, а продуктивно.
Ф>Даже не представляю как это возможно.
Это полбеды. Беда, когда не представляют люди из комитета по стандартизации.
Здравствуйте, Философ, Вы писали:
Ф>Чтобы там улучшить читабельность, там надо как минимум не писать в одну строку:
Ф>
Ф>public int F() =>
Ф> (A is B b) && (b.C is C)?
Ф> C.D ?? 1
Ф> :FalseToNet ;
Ф>
Один хрен выглядит как perl.
Не надо так писать вообще.
Если можно написать более просто читаемый код — надо писать более просто читаемо, машине же всё равно.
Ф>Чтение и правка такого кода порождает ошибки. Поубивал бы!
Верно.
Здравствуйте, vsb, Вы писали:
vsb>В Java тоже сложности накручивают потихоньку. Видимо это жизненный цикл любого языка. Я бы с удовольствием писал на Java 1.4-подобном языке. Считаю, что больше этого ничего не нужно.
Здравствуйте, Serginio1, Вы писали:
S>читаемост только увеличивается.
Дык нет жеж
S> А то, что с непривычки не удобно, так менять мышление надо.
И опять напомню про Perl
Здравствуйте, yenik, Вы писали:
S>>Можно всю жизнь программировать на Шарпе и не знать про ключевое слово `yield`. И не просто программировать, а продуктивно. Y>Только если програмировать в одиночку. А иначе молодые и горячие коллеги непременно ознакомят со всеми новейшими свистками и звночками.
Не соглашусь.
Это не свисток и не звонок, это языковой функционал, нужный для… как бы его назвать… менее прикладного кода (более системного или более хелперного). Перефразируя старый фильм, в командах может быть два типа людей, мой друг: одни заряжают yield, другие пользуются foreach.
Здравствуйте, CreatorCray, Вы писали: S>>читаемост только увеличивается. CC>Дык нет жеж
Увеличивается. Это — вполне органичная конструкция, значительно лучше, чем всякие "?.".
Так и читается: if (animal is Elephant e) e.Trumpet() => "если животное — это слон е, то пусть е протрубит"
Уйдемте отсюда, Румата! У вас слишком богатые погреба.