Здравствуйте, netch80, Вы писали:
N>1. От кода Торвальдса в Git почти ничего не осталось.
Тем более
N>2. Вполне там нормальный код как для C.
Я про архитектурное исполнение.
Гит это суровая мешанина из шелла и сишного кода. За такое надо долго и тщательно бить тапком.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>Тем не менее, в его словах есть доля правды, особенно если за C++ берутся новички.
С++ никогда не позиционировался как язык для новичков.
Пусти долбоклюя к современному CNC станку и у него получится не блестящий engine block из цельного куска металла а раздолбанная заготовка и куча поломаных фрез.
Так и с любым мощным инструментом.
S>
S>void some_func(std::string v) {
S> std::cout << std::format( "I just call to say: {}", v ) << std::endl;
S>}
S>some_func("Hello, World!");
S>
Это пример хренового кода в принципе.
S>Но это требует "впустую продолбать год(ы) на изучение кишочков этих С++ стандартов".
Если кому то надо годы чтоб понять такие простые вещи — пусть сидит в языках с памперсами а С++ оставит для взрослых
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, netch80, Вы писали:
N>Но он вначале посрался со всеми авторами компиляторов, так что слушать не будут, а теперь никто и не захочет туда идти.
А это в его стиле. Он сначала всех херами обкладывает а потом удивляется почему его никто не любит.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Артём, Вы писали:
Аё>Нет Крейтор, это пример, почему крестики- ужасный язык.
Нет, Артёмка, на любом языке при желании можно написать отвратительно. Особенно на жабаскрипте, где всё для этого заботливо заготовлено.
Так на плюсах промышленный код никто не пишет.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>Тёмчик, а ведь ты не сможешь внятно рассказать почему этот пример плох. Не говоря уже про вывод об ужасности языка.
Потому, что отправить текст в функцию, и автора Крейтор уже загнобил. Поэтому ужасный язык. Правильный язык- когда делает, что от него ожидается, а не разбрасывает грабли пачками.
Вроде Максим неоднократно на это указывал, про бесцельно потраченные годы на изучение кишочков.
Здравствуйте, Артём, Вы писали:
S>>Тёмчик, а ведь ты не сможешь внятно рассказать почему этот пример плох. Не говоря уже про вывод об ужасности языка.
Аё>Потому, что отправить текст в функцию
И что в этом плохого? Может функции как раз копия текста и нужна?
Аё>Правильный язык- когда делает, что от него ожидается, а не разбрасывает грабли пачками.
Где ты здесь грабли нашел?
Аё>Вроде Максим неоднократно на это указывал, про бесцельно потраченные годы на изучение кишочков.
А "Максим" -- это кто? И зачем верить тому, кто тратил годы бесцельно?
Здравствуйте, Артём, Вы писали:
S>>Тёмчик, а ведь ты не сможешь внятно рассказать почему этот пример плох. Не говоря уже про вывод об ужасности языка.
Аё>Потому, что отправить текст в функцию, и автора Крейтор уже загнобил. Поэтому ужасный язык.
А по русски можно написать?
Аё>Правильный язык- когда делает, что от него ожидается, а не разбрасывает грабли пачками.
Здравствуйте, Marty, Вы писали:
Аё>>Потому, что отправить текст в функцию, и автора Крейтор уже загнобил. Поэтому ужасный язык. M>А по русски можно написать?
Чтоб Артёмка да что либо написал внятно? Да не, глупости какие!
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>И что в этом плохого? Может функции как раз копия текста и нужна?
Ага. Язык-то ведь супер быстрый, нужно замедлить.
S>Где ты здесь грабли нашел?
Я уже давно не занимаюсь кишочками C++, ну вот тот же конструктор с деструктором и выделением в хипе- на ровном месте.
Аё>>Вроде Максим неоднократно на это указывал, про бесцельно потраченные годы на изучение кишочков.
S>А "Максим" -- это кто? И зачем верить тому, кто тратил годы бесцельно?
Я и не верю тебе.
Здравствуйте, so5team, Вы писали:
Аё>>Потому, что отправить текст в функцию S>И что в этом плохого? Может функции как раз копия текста и нужна?
Это не то чтоб плохо, но неудобство в том, что передаётся "const char[]", а функция принимает "string", и компилятор сам разбирается а не нужен ли там new для массива char внутри string. Я вот не поручусь на 100% что new там не будет в данном примере (функция то принимает не "const string"). Это затрудняет чтение настолько, что в этих всяких go и rust типы надо руками приводить даже там, где си не требовал — так этот автоматизм людей достал.
Здравствуйте, Артём, Вы писали:
S>>И что в этом плохого? Может функции как раз копия текста и нужна? Аё>Ага. Язык-то ведь супер быстрый, нужно замедлить.
Тёмчик, еще раз: может быть функции нужна именно копия текста для локальной модификации. Прочитай это вдумчиво и попробуй еще раз.
Пока низачет.
S>>Где ты здесь грабли нашел? Аё>Я уже давно не занимаюсь кишочками C++, ну вот тот же конструктор с деструктором и выделением в хипе- на ровном месте.
И? Где здесь грабли?
Может быть ты и в Java боксинг граблями считаешь?
Аё>>>Вроде Максим неоднократно на это указывал, про бесцельно потраченные годы на изучение кишочков.
S>>А "Максим" -- это кто? И зачем верить тому, кто тратил годы бесцельно? Аё>Я и не верю тебе.
Здравствуйте, aik, Вы писали:
Аё>>>Потому, что отправить текст в функцию S>>И что в этом плохого? Может функции как раз копия текста и нужна?
aik>Это не то чтоб плохо, но неудобство в том, что передаётся "const char[]", а функция принимает "string", и компилятор сам разбирается а не нужен ли там new для массива char внутри string.
Теперь пробуем довести до логического завершения: что здесь плохого? Особенно если функции именно копия текста и нужна.
Здравствуйте, Артём, Вы писали:
SD>>Дизайн языка с нуля был бы куда более цельным. И менее сложным. А значит, более производительным в плане скорости разработки.
Аё>Тут мы приходим к Go- офигенскому языку от автора C,
Враки. Керниган не автор C, он позже примазался сбоку.
Аё> который не захотел тратить годы на разбирание кишочков C++, и при этом с офигенскими фичами как duck typing interface
Который в нерегулируемом автоматическом виде (а не в явных implements xxx) приносит больше вреда, чем пользы.
В более новых зверях (как Rust) эту глупость не повторяют.
Аё> и CSP. жаба с крестиками тихо плачет в сторонке.
Жаба с крестиками продолжают сохранять свои ниши.
Go отъел клиентов в основном от Python с компанией. Сами авторы Go признавались, что это неожиданно, они ожидали основного перетока как раз от C++.
Здравствуйте, CreatorCray, Вы писали:
N>>1. От кода Торвальдса в Git почти ничего не осталось. CC>Тем более
Нет. В этом случае сделать правильный прототип было важнее.
Вначале там вообще логика верхнего уровня была неподъёмной для обывателя. Только с ~2007 её перевели в привычные понятия.
N>>2. Вполне там нормальный код как для C. CC>Я про архитектурное исполнение. CC>Гит это суровая мешанина из шелла и сишного кода. За такое надо долго и тщательно бить тапком.
Если кому-то это проблема для винды, то пусть перепишет шелловый слой, это банально.
Я же никогда не видел, чтобы это было недостатком.
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Артём, Вы писали:
Аё>>Нет Крейтор, это пример, почему крестики- ужасный язык. CC>Нет, Артёмка, на любом языке при желании можно написать отвратительно. Особенно на жабаскрипте, где всё для этого заботливо заготовлено. CC>Так на плюсах промышленный код никто не пишет.
Честно говоря, на C/C++, где имеешь совершенно законно
uint8_t x = 255;
x++;
cout << x;
и оно отвечает "0" — лучше только в относительном смысле (концентрация граблей меньше), но не в абсолютном (они всё равно есть и бьют из-за угла).
И насчёт "промышленного" кода — я уже ловил плюхи на этом (а недавно тут была роскошная дискуссия
Здравствуйте, Артём, Вы писали:
S>>Тёмчик, а ведь ты не сможешь внятно рассказать почему этот пример плох. Не говоря уже про вывод об ужасности языка.
Аё>Потому, что отправить текст в функцию, и автора Крейтор уже загнобил.
Что лучше огурцы банка ложкой майонеза?
Аё> Поэтому ужасный язык. Правильный язык- когда делает, что от него ожидается, а не разбрасывает грабли пачками. Аё>Вроде Максим неоднократно на это указывал, про бесцельно потраченные годы на изучение кишочков.
Мне тут очень не нравится приписывание своей позиции тому, кто уже не сможет ответить.
Здравствуйте, SkyDance, Вы писали:
N>>Ты серьёзно всё, что в нём видишь, это "функциональщина"?
SD>Я серьезно вижу это как один из сложнейших моментов перехода для "сеньор-девелоперов" что провели годы изучая C++, Java или C#. Переходить между C++/Java очень просто. Переходить между Haskell/OCaml/Idris, посложнее, но лишь немногим. Тогда как переходить между C++ и Haskell — это... не для слабых! Поэтому я и выделил два класса, императивные и функциональные. Дальше можно до хрипоты спорить и изобретать разные концепции, но это уже будут детали.
Вот в том и дело, что насколько "базовые" наиболее близкие к императивщине функциональные языки типа LISP или Erlang отличаются от C++, насколько же топ type-driven семейства отличается от них. Не "детали", совсем не "детали".
Поэтому, взяв условного плюсовика-сеньора, надо сначала обучить его LISPу (ну или Erlang, причём не Elixir!), а потом уже вести к Haskell. Ну альтернативно можно зашлифовать TypeScriptʼом как примером императивщины с сильным type-driven.
SD>Касаемо Idris, type-driven лично я бы рекомендовал на Haskell, хотя бы в силу реальной применимости данного языка в production. Код на Idris я в production не видел. Если кто-то может подсказать, где он реально используется (а значит, имеет практический смысл его изучить подробнее), буду благодарен.
Почитай юзера 0xd34df00d на хабре.
Haskell же в этом мире давно оценивается как "накидали и смешали столько разного, что уже не выпутаться".
N>>"Зачастую" — это 3% или 5% случаев? SD>Ха. Зачастую — это как бы не 95% случаев. Когда "я знал только Python, поэтому DropBox/Instagram/... на нем и написан". Не так-то просто найти менее подходящий для бэкенда язык
С начальным выбором — согласен. Но чтобы его сохранять десятилетиями — уже нет (статистически).
N>>Цитирую: SD>>>> Так что все языки высокооплачиваемы
SD>Фигурная резьба по цитатам, само собой, приведет к такому эффекту.
Всего лишь прямое цитирование без всякой резьбы
SD> Суть моего посыла в том, что надо искать не C++ или Idris, а задачи — и выбирать инструмент, который под эти задачи подходит. Даже если это PHP. Разве что насчет Perl я не уверен SD>Можно заменить цитату на "все языки низкооплачиваемы", суть та же — платят не за язык, а за решение задач. Решать задачи HFT можно не только на С++, равно как и не только HFT можно делать на С++.
В таком варианте — понятно.
Но это всё идеализация, которая перестаёт быть валидной, когда видишь подход "мы не можем перейти с GCC5 на GCC7, потому что сломаются 100500 сборочных скриптов, а их лечение не в плане, установленном сверху". Утрирую, но тут как обычно основные сложности с продавливанием к сколь-нибудь разумному балансу всех любителей крайних подходов.
N>>Сложности задач, а не языка. SD>Неа, в данном случае, именно сложность языка как инструмента. Возникшая из-за кучи legacy и organic growth. Дизайн языка с нуля был бы куда более цельным. И менее сложным. А значит, более производительным в плане скорости разработки.
Ну вот гугл собрался выпускать очередного убийцу C++, которых уже десяток.
Ждём-ждём...
Здравствуйте, netch80, Вы писали:
N>uint8_t x = 255; x++; N>и оно отвечает "0" — лучше только в относительном смысле (концентрация граблей меньше), но не в абсолютном (они всё равно есть и бьют из-за угла).
Неа, совершенно не сравнимо.
Ты тут при декларации типа задал какое поведение ты от него ожидаешь.
N>недавно тут была роскошная дискуссия
для значений которые принципиально не могут иметь знак готов лично "выводить в чисто поле, ставить мордой к стенке и пускать пулю в лоб" (tm)
N>Надо пропагандировать подход C# в этом, он выглядит самым разумным.
Это какой именно?
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока