1.2, Alex (??), 09:43, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +93 +/– |
К C++40 многие разработчики уже не заметят как плавно стали brainfuckerами.
Язык уже настолько мутировал что для не посвящённого программиста из других языков будет выглядеть все как случайный набор символов...
| |
|
2.6, anonimm (?), 09:49, 07/09/2020 [^] [^^] [^^^] [ответить]
| +5 +/– |
Уже давно проводятся конкурсы по написанию максимально непонятного кода на c и c++, любителям стрелять себе в ногу не нужно ждать ещё 20 лет.
С другой стороны, почти на любом ЯП можно написать хорошо читаемый код.
| |
|
|
4.29, Аноним (-), 10:43, 07/09/2020 [^] [^^] [^^^] [ответить]
| +7 +/– |
>Си/Си++
Скажи ему пусть определится или Си или Си плюс-плюс.
| |
4.128, Lex (??), 15:01, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну кстати Романов - неплохой тип, хотя сайт кнчн тот ещё.
По настоящему желание отпадало, когда вместо проги семак-другой-третий требовалось рисовать всевозможные диаграммы и барахло вроде Пролога..
| |
4.362, iPony129412 (?), 08:01, 11/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> у нас вот такой в НГТУ сайт был и остается по сей день
Не ври.
cs.nstu.ru перенаправляет на avtf.nstu.ru
Что ты как-то смог в недрах сайта откопать архаичную "пасхалку" не значит, что "сайт остается по сей день"
| |
|
5.364, m.makhno (ok), 08:41, 11/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
не знаю, откуда ты ходишь по сети, но с Нск с нескольких провайдеров ссылка открывается так, как я написал
| |
|
|
|
6.366, iPony129412 (?), 10:43, 11/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> я просто примеры кода показать...
Ну так то же АВТФ - там что-то уровня ПТУ.
А академическое это ан приматов - там тебе за чуть что не так, так сразу по башке томиком Кнута дадут.
Ещё и компилятор заставят писать, что бы знал, как происходит, а не так писал калякал...
| |
|
|
|
3.373, Жилин (?), 10:33, 12/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не надо присовокуплять Си к этой @#$%$^. Си умно спроектированный лаконичный и очень прагматичный язык.
| |
|
2.14, asdasd (?), 10:09, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Для "непосвященного" тарабарщиной будут выглядеть только особая магия на template'ах (где смесь изи SFINAE и прочего constexpr). Все остальное интуитивно понятно.
| |
|
3.18, Аноним (18), 10:23, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
При том SFINAE тарабарщина с C++20 заменяется Концептами, которые более читаемые. Так что все конструкции C++ должны быть понятны программисту другого высокоуровнего языка программирования (в отличие от большинства конструкций некоторых эзотерических языков).
| |
|
4.150, Аноним (150), 17:10, 07/09/2020 [^] [^^] [^^^] [ответить]
| +12 +/– |
Представления комитета C++:
> SFINAE тарабарщина с C++20 заменяется Концептами, которые более читаемые
Реальность: к тарабарщине SFINAE добавляется ещё и тарабарщина концептов.
| |
4.380, Neon (??), 02:05, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Одна тарабарщина заменилась другой. Мало нужной для прикладных программистов. Разработчики стандарта стали делать стандарт чисто для себя
| |
|
3.122, Аноним (122), 14:36, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Прекращена поддержка большинства операций с переменными, объявленными с ключевым словом volatile, в том числе запрещены операции "++" и "--" со стандартными типами
и это?
| |
|
2.80, CAE (ok), 12:21, 07/09/2020 [^] [^^] [^^^] [ответить]
| +12 +/– |
При этом по-прежнему ругать за это принято perl :)
Хотя он, объективности ради, в среднем уже давно понятнее современного C++
| |
2.262, Аноним (262), 11:03, 08/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это справедливо для любого языка, для которого разрабы боятся сломать совместимость и послать на йух всех пользователей устаревших несовместимых версий, объявив их недолюдьми. В питоне тоже теперь стремаются, после того как выянилось, что макакам лень мигрировать код, они лучше старое говно по типу python 2 жрать будут, даже сейчас, когда 2 официально объявлен мёртвым, у очень многих проектов есть требования совместимости с python 2. Так что питона 4 не будет, и его постигнет участь всего остального стабильного говномейнстрима. А жаль.
| |
2.284, trdd (?), 16:38, 08/09/2020 [^] [^^] [^^^] [ответить]
| –5 +/– |
Харэ ныть. Если не осилятор сиди и ржавей дальше вместе с Rust. У нормальных людей всё красиво логично и понятно. А все конструкции тебя никто использовать вообще не заставляет.
Твой рас вообще читать не возможно.
| |
2.379, Neon (??), 02:04, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Язык настолько мутировал, что он не особо радует даже С++ стандарта 11 и 17. Всё дальше от прикладных программистов, какой то междусобойчик для разработчиков стандартов.
| |
2.387, Neon (??), 02:19, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
В этом куске говна до сих пор нормально не сделаны индексы для многомерных динамических массивов. Чтобы без извращений. Сколько стандартов, но до сих пор не удосужились.
| |
|
|
2.59, Аноним (59), 11:46, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Пока на них основная масса либ перейдет, уже C++32 выйдет :(
| |
|
1.4, eee (??), 09:46, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +36 +/– |
мляяяяя, хочу обратно в 1989 год, когда плюсы были простым и понятным языком
| |
|
2.5, Аноним (5), 09:48, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не обязательно так далеко, достаточно просто в до-C++11 времена.
| |
|
3.9, anonimm (?), 09:53, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Что вам мешает писать код, ограничиваясь старыми возможностями? А многие из нововведений c++-профессионалы долго ждали.
| |
|
|
|
|
7.204, bOOster (ok), 21:25, 07/09/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
С шарп компилируемый язык!? Издеваешься чтоли? То что является кодом для виртуальной машины - компиляцией называться не может. Это интерпретатор.
Для тех кто в танке.
| |
|
|
9.249, bOOster (ok), 07:43, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | Что чушь, а не компиляция Включение в состав приложения виртуальной машины в пр... большой текст свёрнут, показать | |
|
8.279, Аноним (279), 15:00, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | В танке тут ты Любые ООП языки не компилируются в машинных код Нету в компьюте... большой текст свёрнут, показать | |
|
9.285, bOOster (ok), 17:04, 08/09/2020 [^] [^^] [^^^] [ответить] | –2 +/– | gt оверквотинг удален Ты прав относительно JAVA, C шарп А вот относительно C... большой текст свёрнут, показать | |
|
10.309, Аноним (279), 00:21, 09/09/2020 [^] [^^] [^^^] [ответить] | +/– | Мосье теоретик, как я посмотрю То что вам большинство компиляторов кроме cla... большой текст свёрнут, показать | |
|
|
|
|
6.212, Sw00p aka Jerom (?), 21:51, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> В компилируемом языке?
не буду холиварить на эту тему, задам вопрос иначе, язык в котором есть рантайм, динамическая типизация возможна или нет?
| |
|
|
4.50, Аноним (50), 11:29, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Иногда код надо еще и читать, и уже читаемый код может быть написан с применением "нововведений"
| |
|
5.89, Аноним (87), 12:42, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
"Новведения" позволяют избегать накруток этих "нововведений" сверху-сбоку языка самими программистами.
| |
|
6.120, Аноним (50), 14:16, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Из-за чего язык становится непростым и непонятным, об этом было исходное сообщение
| |
|
|
|
|
2.7, мимокрок (?), 09:51, 07/09/2020 [^] [^^] [^^^] [ответить]
| +9 +/– |
Возвращаться в 89 не надо, ведь и сегодня ещё есть ламповая сишечка
| |
|
|
4.131, Какер (?), 15:05, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну, там ООП на уровне C++, только синтаксис корявее. Другое дело, что в C++ ООП не сказать что образцовое :)
| |
|
|
|
7.361, n242name (?), 05:19, 11/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> В народе поговаривают что в Objective-C, но не прижился
Это у того, у которого неймспейсы втюхали в имена классов?
Пойду проблююсь...
| |
|
6.306, Аноним (306), 23:06, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> где ООП образцовое?
Очевидно, что в праматери всех и вся - Smalltalk.
| |
|
|
|
|
|
3.23, Аноним (18), 10:32, 07/09/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Действительно, в нём же всё очень понятно и на него огромное количество вакансий </sarcasm>
| |
|
2.30, ДмитрийСССР (?), 10:48, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
А если допустим писать на С++11, то можно ли будет собрать софт под современные ОС? И можно ли будет собрать софт на С++11 под современную ОС через лет 10?
| |
|
3.60, Аноним (59), 11:49, 07/09/2020 [^] [^^] [^^^] [ответить]
| –4 +/– |
Лучше минимум 14. Уже не все либы поддерживают C++ ниже 14. Плюс 14 более вкусные лямбды
В идеале - минимум 17, как Qt 6
| |
|
4.73, Michael Shigorin (ok), 12:04, 07/09/2020 [^] [^^] [^^^] [ответить]
| +12 +/– |
Правило опытного админа: "не тяни в рот каждую новую блестяшку".
Правило зелёного разработчика: "ой, блестяшечки!!1".
Как вы мне дороги...
| |
|
5.82, Аноним (82), 12:28, 07/09/2020 [^] [^^] [^^^] [ответить]
| +12 +/– |
> Правило опытного админа: "не тяни в рот каждую новую блестяшку".
> Правило зелёного разработчика: "ой, блестяшечки!!1".
> Как вы мне дороги...
Именно поэтому, Михаил, ваша команда и притянула новую блестяшку (systemd) в свой дистрибутив, дефолтом, хотя прежний вариант очень хорошо работал, причём как притянули?!... освежите пожалуйста в памяти!
И судя по тому, какое сейчас положение вещей, то воз будет ехать по заданной колее, "Just as planned".
Вы нам тоже дороги, хотя вот, за державу обидно!
| |
5.142, Аноним (59), 15:43, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Правило опытного разработчика: "блестяшки желательно с аппетитом рассасывать, изучать, тестировать и постепенно внедрять, если достаточно притягательно блестит"
На текущий момент блестяшка - C++20. С ним надо аккуратно, есть пока даже не до конца реализован.
А вот C++17 - уже актуальный для использования стандарт, меньше 14 не имеет смысла в новых/актуальных проектах, и во многих юзкейсах просто неудобно.
| |
|
6.152, Аноним (150), 17:15, 07/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Осторожнее, у него сейчас начнёт подгорать, ведь его любимый lcc до сих пор не научился C++17.
| |
|
|
|
9.216, llolik (ok), 22:16, 07/09/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Ну ржать-то можешь сколь угодно, но тем не менее работа идёт и код компилируется... текст свёрнут, показать | |
|
|
|
|
|
|
3.69, Аноним (69), 11:58, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Можно и С++ 98 использовать и да оно соберется... Но зачем ?.
Есть даже специальные библиотеки, которые переносят новые возможности стандартной библиотеки на старые стандарты языка.
| |
3.110, Аноним (87), 13:10, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
>И можно ли будет собрать софт на С++11 под современную ОС через лет 10?
Если не выкинут опцию -std=c++11 или -std=gnu++11.
| |
3.153, Аноним (153), 17:17, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> если допустим писать на С++11, то можно ли будет собрать софт под современные ОС?
avxsynth под debian-buster не собирался (нужны патчи), а в ubuntu-xenial норм. Как раз какие-то конструкции стали запрещены.
| |
3.208, Poulch (?), 21:30, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
трактуется как ошибка. и переписать сложный build/mаkefile большого проекта та еще задача... те тупо свежий gcc не соберет ничего из времен ну допустим gcc 2.95 без танцев с бубном.
| |
|
2.67, Аноним (69), 11:56, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да, да. Без работы с пмятью, статического анализа, итераторов, стандартных колекций, модулей и вообще без всего. ДЛя этого есть С.
Для с++ нужно прочитать 2-3 книги и посидесть с примерами... иначе да... все "сложнанипанятна" так-то многие старые вещи стараются не использовать, например с-шные масивы - они конечно есть, но std::array<> лучше (с концептами - еще лучше).
Мне не хватает только метаклассов, но они еще сырые, надеемся на 23-й год. Такое кол-во хаков и макросов с автогенераторами можно будет объявить легаси... ух.
| |
|
3.124, Аноним (122), 14:41, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
В C RAII нет. Вот был бы язык как C только с RAII, а так призодится с C++ мучиться :-)
| |
|
|
5.259, DerRoteBaron (ok), 10:35, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Видимо, невозможность это сделать красиво и читаемо по стандарту и нежелание использовать гнутые расширения
| |
|
|
|
2.146, Аноним (146), 16:05, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
>мляяяяя, хочу обратно в 1989 год, когда плюсы были простым и понятным языком
Плюсы никогда не были простым и понятным языком.
| |
2.334, Аноним (334), 19:40, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Чушь полнейшая, плюсы до стандарта 11 года(или 0х) - вообще неюзабельны.
| |
|
|
2.20, Аноним (18), 10:25, 07/09/2020 [^] [^^] [^^^] [ответить]
| +4 +/– |
Эту концепцию должен применять и разработчик ПО, никто её за вас не применит
| |
|
1.11, Онаним (?), 09:56, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Спейсшип добавили наконец, лол.
А так да, множество расширений, которые уже активно использовались, наконец-то стандарт.
| |
|
2.70, Аноним (69), 12:00, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вагон дыр закрывают в шаблонах. Теперь в правильно написанный шаблон нельзя запихнуть то что в нем не должно быть - компилятор не даст.
| |
|
3.205, bOOster (ok), 21:27, 07/09/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ну теперь любители прихать куда-либо что-либо недолжное в нем быть - взвоют.. Сишники, где вы??
| |
|
2.388, Neon (??), 02:19, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Шаблоны, вообще, зло. Write only. Спустя некоторое время даже сам автор перестает понимать, что делается в его шаблоне.)))
| |
|
1.16, Аноним (18), 10:16, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +8 +/– |
Ура! Улучшили язык, на котором написана треть повседневного софта
Мои поздравления всем C++никам! Вы молодцы, на вас всё держится
| |
|
|
|
4.291, Odalist (?), 19:52, 08/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> нет, спасибо, на хаскеле не надо.
Хорошо, тогда я буду продолжать радовать всех прогами на С++.
| |
|
|
2.316, Аноним (150), 11:31, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Вы молодцы, на вас всё держится
Надо говорить «вы все красавцы!»
| |
|
1.17, Аноним (17), 10:21, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
В с++ каждый фреймворк все ещё изобретает строки или спустя 20 лет все же перешли на std::string?
| |
|
2.63, Аноним (59), 11:51, 07/09/2020 [^] [^^] [^^^] [ответить]
| +7 +/– |
После 11 плюсов многие компании отказались от кастомных строк в пользу std::string
Но тот же QString всё ещё удобнее и функциональнее
| |
2.173, Аноним (-), 19:04, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
std::string - это боль C++ и один из самых худших дизайнов класса (детали смотри у Саттера).
А сами по себе "строки" - это тоже боль и тормоза и зоопарк видов строк (без разницы в каком языке).
Поэтому - неудивительно что "изобретали". Что сейчас - не знаю.
| |
|
3.243, Аноним (17), 07:11, 08/09/2020 [^] [^^] [^^^] [ответить]
| –3 +/– |
Изобретатели потому что почти 20 лет лет небыло строк никаких, только массивы из символов, а потом переходить не хотели.
Ни в java, ни в js, ни даже в Паскале проблем со строками небыло.
| |
3.382, Neon (??), 02:08, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
std вся сплошная боль по сравнению со стандартными библиотеками любых других современных языков. Бред наркомана.
| |
|
2.293, Аноним (289), 20:02, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
строки уже constexpr, а ты их всё ещё изобретаешь. *бать ты застрял в прошлом, братюнь.
| |
2.294, Аноним (294), 20:44, 08/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Сейчас нет необходимости, это было во времена C++98/03. Теперь разве что свои аллокаторы иногда изобретают.
| |
2.338, СССР (?), 23:28, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
в чем плохо создать свой класс обертка и дополнить его своими методами ?
| |
2.389, Neon (??), 02:20, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
В С++ до сих пор индексы нормально записываемые не изобрели для многомерных динамических массивов. Чтоб без извращений
| |
|
|
|
|
4.237, draw1 (?), 03:14, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Например, чтоб "бить по рукам" оптимизатор в хитрых низкоуровневых моментах. Иногда надо чтоб код делал ровно то что написано. Буквально. Без сюрпризов и самодеятельности (а в ассемблер уходить лень ради какой-то мелочи, да и переносимость хочется).
Может для аналогичного теперь есть какая-нибудь очередная новая синтаксическая конструкция...
| |
|
5.263, Webmonkey (?), 11:18, 08/09/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
>"бить по рукам" оптимизатор в хитрых низкоуровневых моментах
UB-driven development?
| |
|
4.347, Аноним (347), 03:49, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот есть у нас простенький микроконтроллер, на нем куча разных прерываний вылезает, во всех переменные могут поменяться, а без volatile - компилятор, который вообще не знает про прерывания, так соптимизирует что из переменной будет читаться одно и тоже.
| |
4.351, Аноним (351), 06:25, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Для того чтобы сказать компилятору что это область памяти (переменная) особенная и может измениться в любой момент и она тебе (компилятору) не подконтрольна, так что не нужно производить над ней оптимизации. Так же, компилятор, на некоторых платформах, вставляет instruction fans (компилятор - не перемешивай порядок операций над этой областью) и cpu fans (процессор - выполняй инструкции в том порядке в котором они написаны, а не перемешивай в угоду производительности ибо есть side эффекты). Применяется когда ты работаешь с регистрами CPU, внешними устройствами, многопоточность (google: Scott Meyers Singleton, как самая известная мне иллюстрация проблемы) и другой "особенной" памятью.
| |
|
3.255, anonymous (??), 09:50, 08/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Его не выкинули, просто теперь вместо 'PORTA &= 0xF0' нужно писать 'PORTA = PORTA & 0xF0', где PORTA это '#define PORTA (*(volatile uint8_t*)(0xBEEF))'.
Смысл этого изменения в том, что некоторые люди думали что операции над volatile атомарные, и пытались использовать его вместо std::atomic, с соответствующим результатом.
А теперь явно видно, что запись и чтение volatile это разные операции.
| |
|
4.346, Аноним (-), 03:28, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Взял и утрамбовал бифа. Люди думали - слабовато, надо так - человечество считало что volatile - это atimic, но потом я прочитал ман пагу и всех спас..
| |
|
3.296, Аноним (296), 20:51, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Не выкинули, но настоятельно советуют его использовать только по назначению - при прямой работе с хардварью. Что правильно - для всяких там синхронизаций надо использовать средства стандартные библиотеки, а не ручками спинлоки крутить.
| |
|
|
1.26, Grunman (ok), 10:38, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Особую пикантность новости придает то, что модули, которые все так ждали, ни одним из перечисленных компиляторов не поддерживаются.
| |
|
2.113, Аноним (87), 13:26, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Может формально какими-то и поддерживаются, только толку пока мало. STL-то пока совсем не в модулях.
| |
|
1.28, Аноним (-), 10:39, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Любого кто скажет что язык Си является подмножеством языка Си плюс-плюс - сразу бить в морду.
| |
|
2.104, К (?), 13:01, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
мамин суп покушали уже? Боец вы наш интернетовский.
| |
2.330, Ordu (ok), 16:51, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Язык Си является подмножеством языка C++.
Я сказал, а теперь ударь меня, детка.
| |
2.383, Neon (??), 02:10, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
А что нет ? Вполне можно программировать в гибридном стиле, на этаком суржике из С++ и С.))) Любить printf и прочее)))
| |
|
|
|
|
|
5.169, Lex (??), 18:33, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Нее, Obj-C круче
.. и, кроме шуток, код выглядит ощутимо приятней и документированней( когда глаза привыкнут к тому обилию квадратных скобок кнчн )
| |
|
|
7.175, Lex (??), 19:07, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ничем
[[[но поначалу] бывает ] непривычно:[такое обилие:их ]]
Хотя в целом и концепция с передачей сообщений там была весьма интересна
| |
|
6.232, НяшМяш (ok), 02:04, 08/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нее, Obj-C круче
После появления свифта забыл как страшный сон к счастью. Юзаю только если что-нибудь плюсовое надо обернуть.
> код выглядит ощутимо приятней и документированней
Это заслуга многословной стандартной библиотеки, что не стали в три символа упихивать всякие std_make_shared_unique_ptr.
| |
|
7.252, Lex (??), 08:33, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | У свифта, насколько помню, поддержка норм работы с т н статическими либами обычн... большой текст свёрнут, показать | |
|
|
|
|
|
|
1.33, Аноним (33), 10:54, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Когда за синтаксисом кода не видно логики программы, это плохо. Всё дальше уходят от ключевой особенности Си - простоты. Хотя, как уже намекнул коллега выше, никто не мешает не пользоваться.
| |
|
2.35, Аноним (18), 10:56, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Хорошо что в C++ это не так, как в вашем любимом языке. С каждым релизом становится всё проще писать C++ код
| |
|
3.41, Tita_M (ok), 11:13, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
>С каждым релизом становится всё проще писать C++ код
This is what c++ programmers actually believe!
| |
|
4.46, Аноним (18), 11:27, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
То ли дело любой другой язык програмирования:
public static void NotNull < T > (T argument,
[CallerArgumentExpression("argument")] string argumentExpression = null)
where T: class {
if (argument == null) throw new ArgumentNullException(paramName: argumentExpression);
}
| |
|
5.51, Dzen Python (ok), 11:31, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Уж явно читаемей, чем код на джаве, который позиционируется как копроративный язык для самых маленьких.
Для полного познания дзена рекомендую открыть любой коммунити код у гугла или джет-брейнс.
| |
|
6.92, h65eyh5 (?), 12:46, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
>джаве, который позиционируется как копроративный язык для самых маленьких
С Go спутали.
| |
|
5.77, Аноним (18), 12:17, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
public static void NotNull < T > (T argument,
[CallerArgumentExpression("argument")] string argumentExpression = null)
where T: class {
if (argument == null) throw new ArgumentNullException(paramName: argumentExpression);
}
Это вообще что за язык ^
Swift?
| |
5.228, anonimous (?), 01:22, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
generic function Min<T>(const A, B: T): T;
begin
if A < B then Result := A else Result := B;
end;
| |
|
|
3.155, Аноним (150), 17:21, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> С каждым релизом становится всё проще писать C++ код
…и всё сложнее — понимать его.
| |
|
2.38, Аноним (38), 11:04, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
> никто не мешает не пользоваться
мешать-то не мешает, но если в 2020 писать код на С++98 или С++03 (последние стандарты, с которыми я имел дело), смотреть будут странно.
И опять же всю эту мутотень один хрен изучать, потому что какой-нибудь Вася Пупкин будет-таки пихать 17 или даже 20 стандарт. Я вот в одном коде увидел эти лямбды и нихрена не понял, что там написано.
Как же хорошо, что я давно соскочил с этого монстра...
| |
|
3.45, Аноним (18), 11:25, 07/09/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Зато в ругих языках лямбды предельно просто понять, и их синтаксис загуглить </sarcasm>
| |
|
|
|
6.233, НяшМяш (ok), 02:06, 08/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> мои любимые в .net: (x, y) => x + y
Главное всегда уточнять, а то подумают что ты JSник (1 в 1 такой же синтаксис)
| |
|
7.280, Lex (??), 15:26, 08/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> 1 в 1 такой же синтаксис
Вы не понимаете! Это - другое !!111
| |
|
|
|
4.48, Аноним (38), 11:28, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Зараза, отправился случайно.
fun(Arg) ->
some code
end
Все просто и понятно.
| |
|
5.65, Аноним (59), 11:54, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Почему "даже"?) Вообще, C++20 всё больше мотивирует изучать Хруст
| |
|
6.72, Аноним (38), 12:03, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну так я так и сделал. Посмотрел на стандарт С++17 (а там 2000 страниц) и решил, что ну его нафиг. Вспомнил еще все заморочки ООП с паттернами и прочей хренотой и решил, что лучше уж я выучу Rust, который оказался очень даже неплохим языком. И даже местами похож на Erlang.
| |
|
7.278, iLex (ok), 14:47, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Это лишь потому, что Rust пока не успел развиться. Но с каждым релизом туда будут досыпать и досыпать синтаксического сахара и прочих наворотов, так что Rust-2030 тоже обзаведётся 2000-страничной краткой спецификацией, без которой там вообще хрен что поймёшь.
| |
7.352, Аноним (351), 06:53, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну давай начнем с того, что сам язык (С++20) описан на 475 страницах, а остальное - stl и cstdlib. У С# - 531 а сколько страниц описания у .NET мне страшно представить. У Intel - Software Developer Manuals на 5к страниц и что дальше? Пожалуйста, воздержись от написания бреда и откровенной х...ерунды в интернетах о С/C++, так рождаются странные слухи и бестолковые легенды об этом языке, которые не отражают реальное положение дел.
| |
7.359, anonimous (?), 18:50, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
В Oberon-family языках с объемами стандартов все хорошо.
> Разработка семейства языков ALGOL — Pascal — Modula-2 — Oberon — Oberon-2 — Component Pascal отмечена редукцией сложности синтаксиса языка. Полный синтаксис языка Оберон-2 описан всего в 33 предложениях по расширенной форме Бэкуса — Наура | |
|
|
|
4.56, Аноним (38), 11:36, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
но вот это же вот: [=]() { return n; }
это пипец. У меня первый вопрос был: "А что это за = в квадратных скобках и нафига оно нужно?"
| |
|
5.126, Аноним (122), 14:52, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
У лямбды ключего свойство — область видимости переменных внутри. Очевидно что символ равно какое-то отношение к этому имеет.
| |
|
6.139, Аноним (139), 15:29, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
не всем это очевидно. В языках с "более простым и понятным" синтаксисом может не быть возможности управлять областью видимости переменных, а значит те, кто на них пишут уже привыкли не думать об этом
| |
|
7.151, 128293 (?), 17:11, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Языки с "более простым и понятным" синтаксисом минимум в несколько раз тормознее плюсов
| |
|
|
5.295, Аноним (294), 20:51, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
>У меня первый вопрос был: "А что это за = в квадратных скобках и нафига оно нужно?"
Захват по значению. [&] - захват по ссылке.
| |
|
4.57, Аноним (38), 11:43, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
В лиспе тоже просто: (lambda (arg) body).
Других языков не знаю.
Ну и нахрена такие сложности в плюсах?
| |
|
|
6.71, Аноним (38), 12:01, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
А теперь представьте, что последний раз вы писали на плюсах, когда там еще этой пакости не было. И тут вам попался вот такой код:
return {
[](take_atom) -> result<taken_atom, bool> {
return {taken_atom_v, false};
},
[=](put_atom) {
if (self->current_sender() == user)
self->become(available_chopstick(self));
},
};
и поскольку это не ваш основной язык, вам лень гуглить, лезть в талмуд Страуструпа (который тоже надо нагуглить).
Нафига вот эти [] и [=]? Почему бы не сделать кейворд lambda, как в Лиспе, или fun, как в Erlang, или как в Расте: let add_one_v2 = |x: u32| -> u32 { x + 1 };?
Нет, надо такое, чтоб позаковыристей, чтоб враг не догадался.
| |
|
7.88, Аноним (69), 12:39, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
выше если что, ссылка на справкупо лямбдам лямбд с примерами использования, открыл ее - прочитал и уже все понятней стало.
| |
|
|
9.101, Аноним (69), 13:01, 07/09/2020 [^] [^^] [^^^] [ответить] | –1 +/– | А на чем мне написать кросплатформеную десктопную программу требующую кучу ресур... текст свёрнут, показать | |
|
|
|
|
13.281, Lex (??), 15:37, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | React-Native -Но этот для мобил есчто К слову, у яблока не так давно с xamar... текст свёрнут, показать | |
|
14.288, коржик (?), 19:22, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | Посмотрел немного на React-Native Есть у меня ощущение, что он не очень-то и на... большой текст свёрнут, показать | |
|
15.314, Lex (??), 10:15, 09/09/2020 [^] [^^] [^^^] [ответить] | +/– | Он и некоторые другие довольно похожи на Xamarin Основная разница у RN в том, ч... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
7.91, имя_ (?), 12:44, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
в общем согласен, с наскоку можно не понять. Но есть пара уточнений:
> талмуд Страуструпа
я имел в виду его последний дайджест по языку - там всего 200 с чем-то страниц, по большей части просто разжевывание старого с советами по применению нового, а не искусство программирования на >1000
>в Расте: let add_one_v2 = |x: u32| -> u32 { x + 1 }
признаюсь, если бы не в контексте лямбд, я бы не сразу понял эту запись (|bla-bla| чем-то похоже на руби)
| |
|
8.95, Аноним (38), 12:50, 07/09/2020 [^] [^^] [^^^] [ответить] | +/– | именно поэтому я привел более простые примеры из Эрланга и Лиспа Почему в С н... текст свёрнут, показать | |
|
9.98, Аноним (69), 12:59, 07/09/2020 [^] [^^] [^^^] [ответить] | +2 +/– | РУЧНОЕ УПРАВЛЕНИЕ ПАМЯТЬЮ ССЫЛКИ И УКАЗАТЕЛИ, ИЗБЕГАНИЕ КОПИРОВАНИЯ Вы сравнивае... текст свёрнут, показать | |
|
|
7.93, Аноним (139), 12:46, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> А теперь представьте, что последний раз вы писали на плюсах, когда там еще этой пакости не было.
а если вы ни на чем, не писали, то ни на чем писать и не начнете, ведь вам лень гуглить.
Вот приходится иногда ковыряться и в джаве, и в жс, и в питоне, и в еще нескольких языках и ни один из них не мой основной. Чем C++ в этом варианте хуже?
| |
|
8.94, Аноним (38), 12:49, 07/09/2020 [^] [^^] [^^^] [ответить] | +/– | Ну а мне 99 времени приходится ковыряться в Эрланге, который по совместительств... текст свёрнут, показать | |
|
9.103, Аноним (139), 13:01, 07/09/2020 [^] [^^] [^^^] [ответить] | +3 +/– | а я вот пока с ним не сталкивался в эрланге объекты переменные для лямбд захваты... текст свёрнут, показать | |
|
|
|
|
5.300, Ordu (ok), 21:45, 08/09/2020 [^] [^^] [^^^] [ответить] | +2 +/– | Захват переменных замыканием В лиспе если у тебя есть объект, то лиспу пофигу, ... большой текст свёрнут, показать | |
|
|
3.68, iPony129412 (?), 11:56, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Я вот в одном коде увидел эти лямбды и нихрена не понял, что там написано.
Да как-то связи особой нет...
На любом стандарте можно такое понаписать.
Теми же макросами только так можно лютую штуку сделать, что от неё радугой всё блевать будет.
| |
|
4.74, Аноним (38), 12:05, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что тут это стандарт и общепринятая практика, а не говнокод отдельно взятого индивида, которого можно просто напинать в курилке.
| |
|
|
|
1.39, Аноним (39), 11:06, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
>> { a == b } -> std::boolean;
{ a != b } -> std::boolean;
Ну почему это должно выглядеть так непонятно и непоследовательно?
| |
|
2.66, Аноним (59), 11:55, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так Раст в большинстве случаев не очень сложный
Но иногда бывают эпохальные лингвистические повороты, да. Впрочем, как и в любом языке
| |
|
3.97, Аноним (97), 12:57, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
Он не очень сложный. Он просто излишне сложный так где не надо.
| |
|
4.203, Аноним (201), 21:22, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
всё имеет свою цену
заморочки раста с временами жизни переменных - плата на надёжность и отсутствие неопределённого поведения, без использования сборщиков мусора
| |
|
3.304, Аноним (296), 23:03, 08/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Управление памятью - вещь непростая сама по себе, и эта сложность обязательно где-то вылезет - либо в GC, либо в языковых конструкциях, либо в уязвимостях :-)
| |
|
|
1.43, Аноним (43), 11:17, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +5 +/– |
Так, а где Networking?
Они его ещё с C++14 обещают (если не раньше), говорят что ещё чуть-чуть, всё почти готово, реализация уже есть в бусте/асио нужно только в стандарт прописать, добавим в следующем мажорном релизе, мамойклянусь! А воз и ныне там, в C++23 вообще про Networking ни слова.
| |
|
|
3.100, Аноним (43), 13:01, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так с подключением внешней зависимостью какого-нибудь буста или закидыванием в дерево какого-нибудь асио проблем нет.
Проблема в том что в крестах ВООБЩЕ нет никакого кросплатформенного способа взаимодействия с сокетами искаропки. И не будет минимум до 2026 года, ибо в C++20 их перенесли на хз когда, а судя по тому что в C++23 это даже не планируют обсуждать то только к C++26 может и запилят.
| |
|
2.85, Аноним (69), 12:36, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Он зависит от Executors а с ними не сложилось. Добавят в с++ 23
| |
2.384, Neon (??), 02:14, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ну так функции Бесселя гораздо чаще встречаются в жизни простых программистов чем необходимость работы с сетью. Сарказм выкл.
| |
|
1.58, Z (??), 11:45, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А потом эти люди еще удивляются почему так стремительно растёт популярно GO
| |
|
2.83, Аноним (38), 12:31, 07/09/2020 [^] [^^] [^^^] [ответить] | –2 +/– | Не, ну вот из крайности в крайность не надо Да, современный С перегружен и пе... большой текст свёрнут, показать | |
|
3.102, h65eyh5 (?), 13:01, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
>слишком многословно
Язык для оборонки создавался же. Многословность, чтобы меньше было возможности не заметить мелкую опечатку. Что скажете про Dlang и Nim?
| |
3.140, Аноним (140), 15:37, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Но и Go слишком прост, чтобы на нем делать серьезные проекты. Быстро накидать прототип или что-то несложное - да, можно. Но что-то сложнее нескольких файлов и нескольких сотен LoC - уже начинаются проблемы с построением архитектуры и чистотой кода.
Так и скажи, что у тебя руки растут не с того места.
| |
|
4.164, Аноним (38), 18:08, 07/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ага, на нормальных языках из того места, а на Go внезапно не из того. Ну да, ну да, конечно, проблема во мне, а в Гугле говно создать не могут по определению.
| |
|
5.170, Аноним (140), 18:39, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Профи отличается от начинающего умением использовать любой инструмент. Лет через двадцать кодинга на самых разных ЯП ты это осознаешь. По ходу и заметишь, что именно этот навык наиболее востребован и наиболее хорошо оплачивается. Капризульки и поиск "крутых ЯП для крутых проектов и крутых перцев"-это характерно для начинающих.
ЗЫ конкретно про Go, его увлечённо взяли в оборот в крупнейших компаниях, включая РФ-вских, и пилят на нём проекты уровня bigdata платформ, тихо и молча.
| |
|
6.197, Аноним (150), 20:46, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> именно этот навык наиболее востребован и наиболее хорошо оплачивается
Неа. Наиболее хорошо оплачивается умение писать качественный код, а для этого надо хорошо знать язык(и) проекта (один-два, максимум три), а не нахвататься всего по верхам.
| |
|
7.213, Аноним (140), 21:54, 07/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>умение писать качественный код
Не повторяй то, что сказано выше фразой "умением использовать любой инструмент"
PS Новичка сразу выдаёт утверждение, что освоить можно только два-три языка. Проработавшие пару десяток лет успевают не только освоить десятки ЯП-ов, но и забыть некоторые из них за ненадобностью.
| |
|
8.219, Аноним (38), 22:46, 07/09/2020 [^] [^^] [^^^] [ответить] | –1 +/– | Ну что ж, давай перечислим языки, которые я освоил и многие забыл за в общем ... большой текст свёрнут, показать | |
8.260, Аноним (150), 10:38, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | Не повторяй то, что сказано выше фразой нахвататься по верхам Можно уметь код... большой текст свёрнут, показать | |
|
|
6.220, Аноним (38), 22:49, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> конкретно про Go, его увлечённо взяли в оборот в крупнейших компаниях, включая РФ-вских, и пилят на нём проекты уровня bigdata платформ, тихо и молча.
да бэкенды на нем пилят в основном, поскольку вся РФ - один большой аутсорсер.
| |
6.221, Аноним (38), 22:54, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Профи отличается от начинающего умением использовать любой инструмент.
он отличается умением выбирать инструмент под задачу. При чем такой инструмент, при работе с которым он будет получать удовольствие, а не ругаться матом каждые несколько минут.
| |
6.350, Анонимусс (?), 05:46, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Согласен, неожиданно для себя понял,ч то мне, по большому счету всё равно на чем писать, а разобраться в особенностях можно из за пару недель...
| |
|
|
|
|
|
1.75, Аноним5487547 (?), 12:06, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Никак не дождусь автозаполнения аргументов, когда функцию объявленную как:
foo(int a, int b = 10, int c = 20);
можно использовать:
foo(1, , 5); // foo(1, 10, 5);
foo(1, int, 5); // если есть перегруза вроде foo(int a, double b = 15, int c = 20);
Неужели так сложно?
| |
|
2.76, Анонимчик (?), 12:09, 07/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
до сих пор стараюсь не писать на с++ из-за отсутствии такой важной возможности
| |
|
3.137, Аноним5487547 (?), 15:19, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Увы, но заменить c++ нечем. Если те же задачи решать на C то запутанность кода превысит запутанность синтаксиса современного c++
| |
|
4.180, Lex (??), 19:21, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если на сях писать аки на плюсах - тогда да.
Если же кодить нормально, без этих бесконечных нагромождений псевдоабстракций, то может оказаться, что запутанности кода больше не стало, очень мягко говоря.
| |
|
5.193, Аноним5487547 (?), 20:23, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Хорошо продуманная абстракция как раз наоборот упрощает дизайн кода. Как пример обычная операция над объектом:
//в C++
obj.func(arg1, arg2);
//в C
objType_func(ptr_to_obg, arg1, arg2);
| |
|
6.238, draw1 (?), 04:06, 08/09/2020 [^] [^^] [^^^] [ответить] | +1 +/– | Написать короче, да Выглядит красивей Вот только читая такой код ты сначала до... большой текст свёрнут, показать | |
|
7.322, Аноним5487547 (?), 12:59, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Это если первый заглянул в код тогда да. Но поработав какое-то время с проектом и познакомившись со всей иерархией классов, получаешь буст к скорости написания/понимания именно благодаря лаконичности и естественности ООП кода.
| |
|
6.251, Lex (??), 08:23, 08/09/2020 [^] [^^] [^^^] [ответить] | +/– | Это ведь именно попытка писания на Сях аки на плюсах, т е к нагромождению ООП и ... большой текст свёрнут, показать | |
|
7.323, Аноним5487547 (?), 12:59, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> попытка "эмуляции" ООП на языке, его не поддерживающем.
так ведь именно это и есть стиль типичного C фреймворка. Вот пример из GTK:
void gtk_window_set_default_geometry (GtkWindow *window, gint width, gint height);
| |
|
|
|
|
|
|
1.84, Аноним (69), 12:36, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Оу, все фигня. Они добавили reflection в TS А значит можно ожитать их реализации в gcc и clang. А там и метаклассы и генераторы кода...
| |
|
|
|
|
5.147, fsb4000 (?), 16:13, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
В Visual Studio пока требуется отдельный флаг: /await
Но с версии 16.8(пока доступна лишь Preview) будет работать уже без флага.
| |
|
|
|
|
1.123, Аноним (123), 14:38, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Общаясь с плюсовиками, понял примерно то что народ пишет на одиннадцатых и посматривает на 14.
Эти все нововведения нужны наверное 10% разрабов.
А новые версии плюсов выпускают что бы выпускать.
Кстати, вы знали что плюсы должны быть совместимы с совершенно чудовищными вычислительными машинам с недвоичной логикой.
В результате хорошие дополнения не вводятся из-за ужасного легаси языка.
Теперь понятно почему стрельнули GOLANG и RUST
| |
|
|
3.136, Tita_M (ok), 15:15, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
>а не то что они пытаются решить какие-то проблемы?
Ага. Проблемы порождённые предыдущими решениями проблем.
| |
|
2.135, vitalif (ok), 15:13, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> В результате хорошие дополнения не вводятся из-за ужасного легаси языка.
Вводяцца, лямбды вон ввелись, теперь ещё async/await. Круто же)
> Теперь понятно почему стрельнули GOLANG и RUST
...но и это конечно да, маразма там тоже хватает.
| |
2.305, Аноним (296), 23:05, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
>Общаясь с плюсовиками, понял
Это та же логика, что "среди моих знакомых никто не голосовал за <кандидата>, значит, за него никто не голосовал".
| |
2.317, SJW (?), 11:51, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> плюсы должны быть совместимы с совершенно чудовищными вычислительными машинам с недвоичной логикой.
There are more than two digits!
| |
2.390, Neon (??), 02:23, 16/03/2022 [^] [^^] [^^^] [ответить]
| +/– |
Все верно. Все последующие нововведения нужны лишь самим разработчикам стандартов. Такой междусобойчик чисто для себя. Те же функции Бесселя, например. Нужны каждому простому программисту на практике. А вот работа с сетью - нет. Сарказм выкл. За шаблоны, вообще, нужно убивать. Write only код. Спустя некоторое время даже сам автор более менее нетривиального шаблона перестает понимать, что там делается. А уж отлаживать это чудо можно желать лишь врагу, особо злостному.)))
| |
|
|
2.143, Аноним (18), 15:47, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Тут всё зависит от middle-end компилятора. Как доработают middle-end, так сразу для всех языков компилятора и заработает, в том числе и для Rust
| |
|
|
4.182, Lex (??), 19:27, 07/09/2020 [^] [^^] [^^^] [ответить]
| +3 +/– |
Просто достаёшь указатель где-то за пределами массива, вот тебе и квантовый указатель готов.
С некоторым шансом, обращение по адресу пройдёт даже без вылета.
| |
|
|
2.376, nich (ok), 03:38, 14/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Почти. Как только UB расширят волновой функцией, будет точно готов.
| |
|
1.144, all_glory_to_the_hypnotoad (ok), 15:47, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
Аффтар новости, ты вообще хоть немного понимаешь что переводишь?
> Возможность лямбда-захвата выражений "*this".
this всегда можно было захватывать, сделали устаревшим автоматический захват this при использовании [=]
> Классам разрешено использование параметры шаблона без типа.
В качестве параметра шаблона-значения можно использовать классы для типа, раньше можно было только POD типы. Из-за этого нельзя было делать строковые литералы параметрами шаблонов.
> Возможность использования диапазонов для инициализации значений переменной в цикле "for"
Возможность указывать в конструкциях for(...) локальные переменные, которые дальше можно использовать в range части. К возможности использовать диапазоны это вообще не имеет никакого отношения, делать аналоги питоновского range() в range-based for можно было начиная с c++11.
> Атрибут "[[no_unique_address]]" при котором переменные без данных не занимают места.
Вообще ничего близкого по смыслу, полная чушь.
> Поддержка быстрых (immediate) функций, которые могут работать только с константами.
Поддержка функций, которые могут использоваться только на этапе компиляции.
Это совсем адовые ляпы, в половине пунктов вообще не понятно о каком нововведении пишешь.
| |
|
2.174, Michael Shigorin (ok), 19:06, 07/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Там под новостью справа есть ссылочка такая: "исправить".
Спасибо за попытку, но лучше патчи сразу туда и слать.
| |
2.196, Аноним (196), 20:37, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Благодарю, а я то думал, что туплю при чтении (давно не юзал плюсы, очень давно).
| |
|
1.154, Аноним (154), 17:19, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
В GCC поддерживают драфты или релизные версии?
Если драфты, то насколько они уверены в совпадении и откуда у них такая информация?
Если релизы, то где скачать документацию по этим версиям языка?
| |
|
|
|
4.318, Аноним (150), 11:55, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Отсутствие стандарта как такового, единственная реализация компилятора и стандартной библиотеки?
| |
|
5.320, Аноним (38), 11:59, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
в случае, когда за этот стандарт надо заплатить туеву хучу бабла, можно считать, что его нет.
| |
|
6.332, Andrey (??), 17:51, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Платный доступ к стандартам - устоявшаяся практика, и у ISO, и у ГОСТ.
| |
|
7.333, Аноним (38), 18:15, 09/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Порочная практика, спешу заметить. Это во-первых.
А во-вторых - не по таким же ценам! Ну чего там такого написано на 16.5 тыс. руб.? Зачем нужны стандарты, если для того, чтобы их прочитать даже в электронном виде надо платить туеву хучу денег? Ну и продавали бы печатные копии, а электронные сделали бы общедоступными.
Кстати, все необходимые мне ГОСТы я находил в свободном доступе. А вот ISOшные стандарты - не все.
| |
|
6.339, Аноним (150), 23:32, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Тебе и незачем за него платить. Он для авторов компиляторов предназначен, а не для тебя.
| |
|
7.349, Аноним (38), 04:21, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
А, ну то есть обычному пользователю языка, не автору компилятора, стандарт читать необязательно. Достаточно талмуда Страуструпа. Ню-ню.
| |
|
8.355, анон (?), 07:55, 10/09/2020 [^] [^^] [^^^] [ответить] | +/– | Драфт бесплатен, качай-читай - он и нужен программистам и обычным пользователям... текст свёрнут, показать | |
8.371, Аноним (150), 17:58, 11/09/2020 [^] [^^] [^^^] [ответить] | +/– | Обычному пользователю языка за глаза хватит справочника с цплюсплюс ком или цппр... текст свёрнут, показать | |
|
|
6.369, Alex (??), 13:04, 11/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Для тех кто не хочет платить, всегда есть последний пред-релизный драфт, который может отличаться от итогового стандарта только неправильной расстановкой запятых.
| |
|
|
|
|
4.326, aa (?), 15:27, 09/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Можно пользоваться драфтом - он бесплатен, разница лишь, что нельзя официально сказать "в соответсвии со стандартом".
Да и 200 баксов - это не так уж много за формальное описание языка - люди всё-таки работали.
| |
|
5.328, Аноним (-), 16:36, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
За многотомники по "альтернативной истории" тоже платить? Аффтар строчил, понимаешь ли.
| |
5.329, Аноним (38), 16:41, 09/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да нет, многовато, я за ипотеку плачу 20, а тут талмуд - 16. Пускай сами его читают. 1000 рублей - нормально.
Но это ладно. Я вот видел исошный же стандарт на 30 (30, Карл!) страниц, который ISO же продает за 11 000 рублей. Это ли не верх о*уения зажравшихся капитализдов?
| |
|
|
|
|
|
2.195, Аноним (195), 20:28, 07/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
Раст уже деприкейтед, команду разогнали. Пора переходить на С++
| |
|
3.283, Аноним (283), 16:16, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Уже нет - проехали. Года 4 назад ещё можно было гадать взлетит Rust или нет. А теперь it's here to stay. Я понимаю что многих здесь он раздражает - но жизнь вообще жестокая штука...
| |
|
|
3.325, Аноним (38), 15:24, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Но при этом есть все необходимое. А вот в плюсах что-то уж очень много всего по сравнению с 98 и 03 стандартами. Слишком много.
| |
|
|
5.348, Аноним (38), 04:19, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Ну вот не нужен мне С++ - я его и не использую, есть языки попроще и поинтереснее))
| |
|
6.353, СССР (?), 07:00, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
да и вообще жизнь без компьютера поинтереснее и попроще )).
А вообще это лично вами, в силу определенных причин, было принято решение поискать ченть попроще, в результате оно и оказалось интереснее что хоть какието вещи лично вы можете сваять ).
Что не прав? )
| |
|
7.356, Аноним (38), 09:38, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Нет, не правы. Это решение приняли за меня, предложив работу на Erlang. А потом я уже расхотел возвращаться на плюсы, во-первых, потому что понял убогость и их и ООП, а во-вторых, потому что не хотел осваивать новый стандарт.
| |
|
8.360, СССР (?), 23:12, 10/09/2020 [^] [^^] [^^^] [ответить] | +/– | ну если вам платят за другой язык то почему же и нет но это же совсем не то ко... текст свёрнут, показать | |
|
|
|
|
|
|
|
1.157, Аноним (157), 17:37, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Боже ш мой, сколько бреда!!! Неужели это кому-нибудь нужно и кто-то пользуется этим?! В C++11/14 ещё были полезные нововведения, но в 17/20 - безсмыслица какая-то уже. В рефлексии как не было так и нет, токмо Qt-м и спасаемся.
| |
|
2.202, Аноним (202), 21:16, 07/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Для рефлексии в этом стандарте TS сделали, надеюсь в С++23 уже будет (а в компиляторах еще раньше).
| |
2.311, Аноним (311), 00:43, 09/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
> в 17/20 - безсмыслица какая-то уже
Ну почему же. В С++17 среди прочего ввели std::filesystem. А то всё приходилось С-функциями каталоги обходить. std:optional, std::string_view - тоже полезные штуки. Copy elision - тоже хорошо. В С++20 тоже много хорошего.
| |
|
|
2.299, Аноним (158), 21:42, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
сплюснутые и ржавые начали гонку сложности к невозможности изучения языка.
| |
|
1.181, Ананоним (?), 19:22, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Кажется приближается смерть плюсов от ожирения. Язык C выглядит всё боле привлекательным из-за относительной своей простоты.
| |
|
2.194, Аноним (195), 20:26, 07/09/2020 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ассемблер вот где все просто. Зачем все эти абстракции когда есть посконный гоуту
| |
|
1.188, Аноним (188), 19:54, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ну что, теперь можно написать еще 100500 библиотек для работы со строками?
| |
|
|
3.335, Аноним (311), 20:19, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Что осиливать, а что нет - каждый решает сам. Но высокомерно выпячивать своё неосиляторство - как-то тупо. Если чего-то не знаешь - ну нормально, просто сиди себе тихо и скромно со своим незнанием. Но высокомерные разговоры в духе "я этого не понимаю, значит это говно" - показывают тупость автора изречения, а не недостатки предмета обсуждения.
| |
|
|
1.218, Аноним (218), 22:38, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Концепты конечно мощнее, чем type constraints в свифте или шарпе, но зачем так усложнять все таки...
| |
1.225, Неа (?), 23:43, 07/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Нахер надо это все. Все это в других языках делается проще и так же быстро работает. А если надо ещё быстрее, то C или C++ 11.
| |
1.227, None (??), 01:21, 08/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Ничего себе, модули завезли. Эдак они и от препроцессора вовсе откажутся.
| |
1.236, draw1 (?), 02:45, 08/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Поддержка синтаксиса инициализации в стиле Си...
Да неужели наконец-то плюсовики смогут компилировать нормальный Си-шный код? Хотел сказать "не прошло и 20-ти лет"... Но ведь прошло... В Си такая инициализация есть с С99...
Лень смотреть, а Си-шную аналогичную инициализацию массивов и тоже поддерживает?
| |
|
2.271, Аноним (271), 12:49, 08/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
Не смогут. Инициализация в "стиле С" с С несовместима. Там свой синтаксис.
| |
|
1.277, Андрей (??), 14:23, 08/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
срр для срр
уже сделали бы нормальный язык, без накруток. в компиляторе ещё возможно искать ошибки?)
даёшь dlang без gc!
| |
1.301, Аноним (302), 22:11, 08/09/2020 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Все задачи должны решаться в едином стиле. Но это совсем не про C++, в котором есть шаблоны, constexpr, теперь уже концепции, и я боюсь представить, какая же будет интроспекция... С каждым стандартом в язык добавляются новые сущности с новым синтаксисом. Никакого единообразия. Из-за наследия комитет воротит костыли, которые в свою очередь заставляют воротить новые костыли. Такое впихивание не впихиваемого уродует язык. Уже сейчас на освоение языка нужны годы. А сколько ошибок будет допущено при разработке сложно даже представить. В масштабах мира это огромные потери человекочасов. И только из-за того, что нужно сохранять совместимость. Супер аргумент. Все радуются новому стандарту. Но с ним С++ стал только уродливее, и фактически катится в тупик.
| |
|
2.310, Аноним (311), 00:29, 09/09/2020 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Из-за наследия комитет воротит костыли, которые в свою очередь заставляют воротить новые костыли. Такое впихивание не впихиваемого уродует язык.
Что за ересь? Наоборот, синтаксис становится проще, понятнее и красивее.
С++03:
const std::vector<int>::const_iterator end = vec.end();
for (std::vector<int>::const_iterator it = vec.begin(); it != end; ++it) {
int n = *it;
...
}
C++11:
for (int n: vec) {
...
}
| |
|
3.324, Аноним (302), 13:12, 09/09/2020 [^] [^^] [^^^] [ответить]
| +1 +/– |
Первый вариант никуда же не делся! Теперь надо знать оба. Ничего проще не стало. Это притянутый за уши, но всё же как раз пример усложнения языка.
| |
|
4.331, Leo90 (?), 17:21, 09/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
это к вопросу о том, что если можно сделать больше чем двумя способами, то усложнение. но я с таким не согласен. если что то можно написать и просто и сложно, это нормально. плохо когда нельзя просто.
к тому же в некотрых ситуация более трудный ситаксис имеет больше возможностей (например в цикле есть доступ к самому итератору в первом варианте). выбор дает больше возможностей и заставляет выбирать (думать то есть).
| |
|
5.357, Аноним (311), 15:12, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> выбор дает больше возможностей и заставляет выбирать (думать то есть)
Теоретически да, но на практике обычно новый вариант очевидно лучше (проще, красивее, выразительнее) старого. Редкие случаи, когда не так - не делают погоды.
| |
|
4.342, СССР (?), 00:50, 10/09/2020 [^] [^^] [^^^] [ответить]
| +2 +/– |
ну и что, вот я тоже люблю испльзовать патерны по старинке, тут вопрос привычки. С++ дают такую возможность. Я могу на С++ использовать структуры с функциями, получаем компактные объекты. Могу в кутях легко и просто использовать навороченные классы для работы с БД, 3д и тд.. Программист сам выбирает что он хочет - так и пишет. С++ это от си к абстракциям (да где то не с первого раза понимаемым конструкциям). С++ это свобода.
| |
|
|
2.343, Ordu (ok), 01:57, 10/09/2020 [^] [^^] [^^^] [ответить]
| +/– |
> Но с ним С++ стал только уродливее, и фактически катится в тупик.
А у него выбора нет другого, кроме как катиться в тупик. Если забить на обратную совместимость, то получится история типа перехода python'а со 2 на 3 версию, только ещё хуже. Гораздо-гораздо хуже.
| |
|
|