Re[12]: Что не так с C++ - компил-таймовый C++
От: so5team https://stiffstream.com
Дата: 08.12.24 10:48
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

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


S>>Ссылкой не поделитесь?

V>"Чрезмерное обобщение — безосновательный перенос характеристик частных или даже единичных случаев на их обширные совокупности. Существует множество видов этого когнитивного искажения" обычно вот это называют "аргументом блондинки".
V>Вот тут неполный список когнитивных искажений (алогичностей) https://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B3%D0%BD%D0%B8%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D1%85_%D0%B8%D1%81%D0%BA%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9

И какое из описанных там искажений позволило увидеть вам в моих словах "чрезмерное обобщение"?
Re[4]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 11:44
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Покажи мне эксперта в С++ и я шутя завалю его на собеседовании.


Об этом знает ещё кто-нибудь?
--
Справедливость выше закона. А человечность выше справедливости.
Re[5]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 11:51
Оценка: +2
Здравствуйте, Shmj, Вы писали:

S>Тут дело вот в чем. Если вы выбираете C++, то вам нужно не только писать но и читать. В том числе логику на основе SFINAE.


Логика на основе SFINAE потеряла актуальность с приходом концептов. А технику с использованием sizeof для селекции типов, пример которой ты где-то тут приводил, перестали активно использовать ещё во времена C++03, ибо, как правило, находилось более привлекательное решение. Так что, ты пытаешься делать далеко идущие выводы на основании устаревших и неполных знаний.
--
Справедливость выше закона. А человечность выше справедливости.
Re[6]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 08.12.24 11:55
Оценка:
Здравствуйте, rg45, Вы писали:

S>>Тут дело вот в чем. Если вы выбираете C++, то вам нужно не только писать но и читать. В том числе логику на основе SFINAE.


R>Логика на основе SFINAE потеряла актуальность с приходом концептов. А технику с использованием sizeof для селекции типов, пример которой ты где-то тут приводил, перестали активно использовать ещё во времена C++03, ибо, как правило, находилось более привлекательное решение. Так что, ты пытаешься делать далеко идущие выводы на основании устаревших и неполных знаний.


Причем тут это? Старый код а так же старые привычки никуда не делись. Если вам встретится такой код — придется уметь его читать — будешь же говорить — я ничерта тут не понимаю, т.к. так уже никто не пишет.
Re[7]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:01
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Причем тут это? Старый код а так же старые привычки никуда не делись. Если вам встретится такой код — придется уметь его читать — будешь же говорить — я ничерта тут не понимаю, т.к. так уже никто не пишет.


Подожди, так мы что здесь обсуждаем — проблемы С++, или чьи-то вредные привычки?
--
Справедливость выше закона. А человечность выше справедливости.
Re[8]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 08.12.24 12:03
Оценка:
Здравствуйте, rg45, Вы писали:

S>>Причем тут это? Старый код а так же старые привычки никуда не делись. Если вам встретится такой код — придется уметь его читать — будешь же говорить — я ничерта тут не понимаю, т.к. так уже никто не пишет.


R>Подожди, так мы что здесь обсуждаем — проблемы С++, или чьи-то вредные привычки?


Код, который требуется доработать — вполне может включать части, написанные n лет назад с требованием поддержки старых версий C++ без концептов. И если ты позиционируешься как C++-девелопер — никак не отвертишься — это нужно знать и понимать.
Re[9]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:04
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Код, который требуется доработать — вполне может включать части, написанные n лет назад с требованием поддержки старых версий C++ без концептов. И если ты позиционируешься как C++-девелопер — никак не отвертишься — это нужно знать и понимать.


И как это согласуется с заголовком темы?
--
Справедливость выше закона. А человечность выше справедливости.
Re[4]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:22
Оценка: +3 :)))
Здравствуйте, Shmj, Вы писали:

S>Мне примерно 7 мес. работы с C++, не считая былых разовых проектов в молодости — хватило чтобы просечь эту фишку.


Ого, целых 7 месяцев! Нафига так много? Те выводы, которые ты делаешь, можно было бы сделать и гораздо быстрее
--
Справедливость выше закона. А человечность выше справедливости.
Re[10]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 08.12.24 12:30
Оценка: -1
Здравствуйте, rg45, Вы писали:

R>И как это согласуется с заголовком темы?


См. тут: https://rsdn.org/forum/cpp/8858730.flat
Автор: rg45
Дата: 27.11 18:42


Концепты решили лишь часть проблем, по прежнему на компил-тайме пытаются и пытаются делать разные изрвраты.
Re[11]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:38
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Концепты решили лишь часть проблем, по прежнему на компил-тайме пытаются и пытаются делать разные изрвраты.


Это твоё личное мнение, или это уже точно?
--
Справедливость выше закона. А человечность выше справедливости.
Re[11]: Что не так с C++ - компил-таймовый C++
От: andrey.desman  
Дата: 08.12.24 12:47
Оценка: +2 :))
Здравствуйте, Shmj, Вы писали:

S>Концепты решили лишь часть проблем, по прежнему на компил-тайме пытаются и пытаются делать разные изрвраты.


Почему пытаются? Успешно делают.
И с точки зрения механики языка оно может и изврат (субъективно), но работает и приносит пользу.
Твои стенания о том, что это сложно, но это тоже субъективно — мне не сложно, а тебе лучше не связываться с C++. Подстраиваться под низкий уровень никто не будет.
Re[12]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 08.12.24 12:52
Оценка:
Здравствуйте, rg45, Вы писали:

S>>Концепты решили лишь часть проблем, по прежнему на компил-тайме пытаются и пытаются делать разные изрвраты.

R>Это твоё личное мнение, или это уже точно?

Я же дал ссылку.

Что мешает добавить в компил-тайм хотя бы те же статик-переменные внутри функции?
Re[12]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 08.12.24 12:53
Оценка: :))) :))
Здравствуйте, andrey.desman, Вы писали:

AD>Твои стенания о том, что это сложно, но это тоже субъективно — мне не сложно, а тебе лучше не связываться с C++. Подстраиваться под низкий уровень никто не будет.


Сейчас уже не субъективно. Раз его не может решить GPT — то это объективно сложно.

Это ранее мы могли спорить субъективно ли, вдруг автор имел другое в виду — а сейчас можем проверить на 100% однозначно и точно.
Re[13]: Что не так с C++ - компил-таймовый C++
От: andrey.desman  
Дата: 08.12.24 12:55
Оценка: +1 -1 :)
Здравствуйте, Shmj, Вы писали:

S>Что мешает добавить в компил-тайм хотя бы те же статик-переменные внутри функции?


Так ты подумай и расскажи. Как бы ты реализовал глобальный стейт времени компиляции в компиляторе?
Re[13]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:57
Оценка:
Здравствуйте, Shmj, Вы писали:

S>>>Концепты решили лишь часть проблем, по прежнему на компил-тайме пытаются и пытаются делать разные изрвраты.

R>>Это твоё личное мнение, или это уже точно?

S>Я же дал ссылку.


Ссылку на моё собственное сообщение? Зачем? Вопрос же в обосновании твоего эпитета "изврат".

S>Что мешает добавить в компил-тайм хотя бы те же статик-переменные внутри функции?


Не уверен, что понял твою проблему.
--
Справедливость выше закона. А человечность выше справедливости.
Re[13]: Что не так с C++ - компил-таймовый C++
От: andrey.desman  
Дата: 08.12.24 12:59
Оценка: +1 -1 :)
Здравствуйте, Shmj, Вы писали:

S>Сейчас уже не субъективно. Раз его не может решить GPT — то это объективно сложно.


Почему мерилом ты выбрал "gpt", а не Мейерса, например? Потому что тебе так захотелось — это и есть субъективщина.

S>Это ранее мы могли спорить субъективно ли, вдруг автор имел другое в виду — а сейчас можем проверить на 100% однозначно и точно.


По этому форуму мы можем проверить, и уже не раз убедились, но не то, что тебе кажется.
Re[13]: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 12:59
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Сейчас уже не субъективно. Раз его не может решить GPT — то это объективно сложно.


Демонстрируешь менталитет "Вовки из тридевятого царства".

--
Справедливость выше закона. А человечность выше справедливости.
Re: Что не так с C++ - компил-таймовый C++
От: student__  
Дата: 08.12.24 13:38
Оценка:
Здравствуйте, Shmj, Вы писали:


S>И далее думаю. А что бы могло решить проблему?


Слушай, таких решалок и решал проблем С++ было дохрена. И не только через полностью новые ЯП. Вот помню, была какая-то инициатива, то ли Саттера, то ли ещё кого -"переизобретаем С++ без UB", как-то так. Проблема всех этих инициатив в том, что уже есть куча кодовой базы и спецы, которые наступили на множество граблей и знают, как их обходить. А для новых языков этого нет, и никто не хочет рисковать с новоделом. В случае экспериментальных проектов даже до разработки чего-то более сложного, чем "здравствуй, мир", строк так на 10К дело не доходит. Т.е. это максимум на дипломную и пару-тройку статей тянет.
Отредактировано 08.12.2024 13:39 student__ . Предыдущая версия .
Re: Что не так с C++ - компил-таймовый C++
От: rg45 СССР  
Дата: 08.12.24 18:23
Оценка: +1
Здравствуйте, Shmj, Вы писали:

S>Пример: https://www.programiz.com/online-compiler/6fkrEBCC3yqjv

S>- ну изврат же?

В какой заднице ты находишь этот говнокод? Это Chat GPT тебе выдаёт эти "шедевры"?

По своему скудоумию данное решение может соперничать, разве что, с тупой постановкой задачи — продетектить наличие члена с именем find, безотносительно того, функция ли это, данное или тип.

Но даже в такой тупой постановке, даже на C++03, эта задача могла быть решена более компактно и элегантно. На С++11 — ещё более компактно и элегантно. На С++20 это решение в три строчки:

http://coliru.stacked-crooked.com/a/eaa800071fdddec0

struct Fallback { int find; };
template <typename T> struct HasFindMemberAux : T, Fallback { };
template <typename T> concept HasFindMember = not requires { &HasFindMemberAux<T>::find; };


И даже эти три строчки, повторюсь, пришлось писать исключительно как дань тупизне постановки задачи. На самом деле, как мне кажется, автора интересовало, всё-таки наличие функции-члена find (шаблонной или нешаблонной). И в этом случае решение могло бы выглядеть как нельзя более естественно и лаконично:

http://coliru.stacked-crooked.com/a/d136bbed619483db

template <typename T>
concept HasFindMethod = requires(T t, T::key_type key) { t.find(key); };


А если вспомнить, что С++ позволяет непосредственно использовать констрейнты, без определения концептов, то, возможно, вообще ничего писать не пришлось бы. Тут уже чисто предпочтения программиста — насколько он хочет, чтоб код выглядел самодокументированным.

А вот так могло бы выглядть это же решение на С++03: http://coliru.stacked-crooked.com/a/dcdb0473b3c69a03. Не настолько элегантно и лаконично, как на С++20, конечно, но по-любому лучше, чем та порнота, которую ты притащил.

А теперь подумай и скажи, действительно ли это проблема С++? Может, дело, все-таки, в твоем бедном уровне владения С++, которое не позволяет тебе распознать откровенный говнокод? Глядя на какой-нибудь код, ты не понимаешь, что данную задачу можно решать разными способобами, что этих способов может быть несколько, что у каждого из этих способов есть свои плюсы и свои минусы. Но при этом ты назойливо поднимаешь и поднимаешь одну и ту же тему, предлагая что-то улучшать.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 09.12.2024 11:19 rg45 . Предыдущая версия . Еще …
Отредактировано 09.12.2024 11:16 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 20:49 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 20:09 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 20:08 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 20:00 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 20:00 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:58 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:57 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:29 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:21 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:20 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:17 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:16 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:13 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:12 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:09 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:06 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 19:06 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 18:38 rg45 . Предыдущая версия .
Отредактировано 08.12.2024 18:35 rg45 . Предыдущая версия .
Re[14]: Что не так с C++ - компил-таймовый C++
От: Shmj Ниоткуда  
Дата: 09.12.24 03:37
Оценка: :)
Здравствуйте, rg45, Вы писали:

R>Ссылку на моё собственное сообщение? Зачем? Вопрос же в обосновании твоего эпитета "изврат".


Тогда сам мне скажи — считаешь ли что твой (как и любой другой, по сути) код счетчика в компил-тайм — не изврат. Просто скажи и я поверю тебе на слово.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.