Re[34]: А С++ то схлопывается...
От: Pzz Россия https://github.com/alexpevzner
Дата: 02.11.19 20:27
Оценка: :)
Здравствуйте, Marty, Вы писали:

M>Вот enum class хотя бы. В сишечном коде энамы кастятся в инты и обратно вообще незаметно (вроде как так, но мог и наврать, на чистой сишечке давно не писал, тогда, в лучшем случае, поведение такое же, как у 03х плюсов), в плюсовом — преобразование односторонее, с enum class — вообще нет допустимых неявных преобразований. Я вижу только 6 дополнительных символов, и качественное повышение безопасности кода.


enum class, сам по себе, классная штука. Вот если бы каждый раз, когда в C++ вводят новую классную штуку, из него выкидывали бы две старые неклассные штуки, глядишь, лет через 10 хороший бы язык получился. А пока туда только добавляют, основная проблема языка, чрезвычайная переусложненность, только усугубляется.

Интересно, скоро они придумают int class, который, как в Go, не преобразуется ни в какой другой int никаким способом, кроме как явно, и typedef class, который порождает полноценный новый тип, а не type alias, как сейчас?

M>Далее. Однотипный код как на сишечке пишут? Правильно, копипастой или макросами-генераторами. На плюсах — один шаблон, на сишечке — это N раз скопированная копипаста с ручной заменой типов, либо макрос-генератор, который хрен отладишь. Причем обычно никаких дополнительных телодвижений, кроме template< typename T> перед функцией — не нужно. В нетривиальных случаях — да, нужны какие-то доп проверки и тп, и на 03й плюшечке это было иногда местами мозголомно, но 11+ стандарты снимают в этом плане очень много проблем


Это, конечно, да. Только этого самого однотипного кода в обычной программе не так уж и много. А средство для борьбы с ними адово громоздкое. Это ж придумать надо, засунуть внутрь императивного языка отдельный чисто функциональный тьюринг-полный язык с ленивыми вычислениями, с целью автоматического порождения однотипного кода.

M>Вот, таки, можно раскрыть твою мысль про 2 раза больше кода?


Ну вот тут в соседней ветке мне привели, как великое достижение мира C++, темплейтный тип constrained_value. Полэкрана текста, который ничего содержательного не делает, а только добавляет проверок. В C++ так все и принято писать.
Re[33]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 20:33
Оценка: +3
Здравствуйте, Pzz, Вы писали:

Pzz>Однако за это благо мы платим определенную цену. Например, явно описываем типы данных, описываем свойства этих типов, описываем "контракты" между частями нашего кода. И чем более детальную мы хотим проверку, тем больше возрастает эта цена, причем начиная с какого-то момента она начинает расти непропорционально.

Ты сейчас пытаешься сказать что не надо делать разъёмы разной формы, чтоб нельзя было воткнуть в неправильный, просто потому что "за это надо платить определённую цену".
Да, надо. За хороший код надо платить бОльшим колвом усилий, потраченным на его написание. И оно того стоит. Тем более что в данном случае цена смехотворна: поставить & вместо *.
Байки про "непропорциональную цену" мне слушать не интересно.

Pzz>Так вот, несмотря на то, что автоматизированные проверки являются безусловным благом, нет смысла платить за них большую цену, чем мы заплатили бы за их отсутствие. В какой-то момент надо остановиться, и сказать компилятору, "спасибо, но дальше я сам".

И поэтому надо написать коммент, которые никто не читает (увы но да!) вместо того чтобы выбрать тип, который не подразумевает отсутствие значения (NULL)?

CC>>Сколько ты лет работаешь в команде?

Pzz>Это совершенно не имеет отношения к обсуждаемой проблеме. Давай говорить по сути, а не обсуждать личности друг друга.
Это не личности, это недоумение что неужто за годы ты не насмотрелся на то, какие люди попадают в индустрию? Комменты люди в массе не читают и не пишут. Как с тем мануалом — начинают читать только когда всё уже сломано.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 20:33
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>Каким кернелом?

Windows, *nix
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[18]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 20:33
Оценка: +4
Здравствуйте, Denis Ivlev, Вы писали:

CC>>Но категоричен как 25летний

DI>Сорян, развлекаюсь.
Ты с таким гоп-стилем получишь себе репутацию а-ля Артёмка
Ты правда хочешь себе неснимаемую наклейку "я у мамы дурачок"?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[19]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 02.11.19 20:40
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Ты с таким гоп-стилем получишь себе репутацию а-ля Артёмка


Честно говорю — глубоко насрать на мнение анонимов, да и сам я здесь аноним. Глубоко ушибленным надо быть чтобы говорить о какой-то репутации среди анонимов.
Re[13]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 02.11.19 20:41
Оценка:
Здравствуйте, CreatorCray, Вы писали:

DI>>Каким кернелом?

CC>Windows, *nix

Ага, верю.
Re[13]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 02.11.19 20:42
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, Denis Ivlev, Вы писали:


M>>>>>>>Это глупость, либо не пробовал, либо не осилил


DI>>>>>>Ну ты то пробовал. В разработке какого ядра участвовал? Никакого, но мнение имеешь? Ясно, понятно


M>>>>>Апеляция к "а чего достиг ты"? Ок, ясненько


DI>>>>Прикольно ты обосрался — сначала предьявил мне, что я не пробовал, а когда поинтересовались о твоем опыте обиделся Кывт-овцы, такие кывт-овцы


M>>>Я не обиделся, просто понял, что с таким демагогом как ты, нет смысла о чем-то серьезном общаться.


DI>>И обосрался и обиделся, медальку тебе эталонной кывт-овцы


M>>>А опыт — я пишу под bare metal на плюсиках


DI>>Гуру кернелостроения — запрограммировал мигание лампочек набора с али експресс.


M>>>ЗЫ Ты такой вежливый, прямо как в детском саду


DI>>Как ты начал разговор, в таком тоне и получил ответ.


M>Молодец. Возьми с полки пирожок


Снова обидка? Какой ты Марти нежный мальчик
Re[15]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 02.11.19 20:43
Оценка:
Здравствуйте, Marty, Вы писали:

M>Для военных используем что-то типа 1986ВЕ1Т с али, для специальных — обычные STMки с того же али.


Все что нужно знать о тебе и о том, что ты тут говоришь
Re[14]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 20:45
Оценка: 5 (3) +2
Здравствуйте, Pzz, Вы писали:

Pzz>>>но если говорить о написании нового, оригинального кода, а не об интеграции посторонних библиотек, код на C получается компактнее.


M>>Хм. Можешь это как-то обосновать?


Pzz>Да, могу. В C человек скорее напишет конкретный объект. В C++ скорее сначала напишет до невозможности generic, а потом еще будет прилаживать его к конкретному месту. А потом окажется, что такой объект только в одном месте и нужен, но не стирать же generic реализацию, такую красивую.


Хм, у вас какие-то неправильные C++ программисты. Или, если ты не видел C++ программистов, а только слышал от разных денисов — хочу тебя разочаровать. Описанное тобой — это либо вчерашний студень, недавно узнавший про C++, либо невменяшка, который на той же сишечке наворотит тех же генериков, только на сишечке на макросах.

Вообще-то, мне казалось, что у любого вменяемого программиста последовательность такая:

Ну, и по классам:

По виртуализации в рантайме:

Чистая сишечка ломается после второго шага первого кейса, и появляются монстры типа гобжектов


Pzz>Торвальдс занимается ядром. Насчет дектопа, вопросы вообще не к нему.


Ядро таки тоже довольно дырявое. Остальное — да, это к последователям Столлмана, но они тоже очень любят сишечку
Маньяк Робокряк колесит по городу
Re[12]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 20:48
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>>>Ты вообще про какие гобжекты говоришь, про те, которые в GLIB, или про те, которые в Go?


M>>глиб, да. закат солнца врукопашную, C++ на чистом C. Мрак беспросветный


Pzz>Мне сейчас приходится glib'ом пользоваться в небольшом проекте. Раздражает очень поганая документация, а так ничего, жить можно.


Жить можно, да. Человек ко всему привыкает, такое вот он животное с прокачанным скилом приспособления. Я трогал GStreamer, потом неделю блевал не переставая. Это как с алкоголем — неофиты блюют, алкоголики со стажем смотрят на них с высока.
Маньяк Робокряк колесит по городу
Re[15]: А С++ то схлопывается...
От: Ночной Смотрящий Россия  
Дата: 02.11.19 20:49
Оценка: +1
Здравствуйте, Marty, Вы писали:

M>Никакого парадокса — линупс — тоже гавно


А что не гавно?
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[13]: А С++ то схлопывается...
От: Ночной Смотрящий Россия  
Дата: 02.11.19 20:49
Оценка:
Здравствуйте, Marty, Вы писали:

M>Ну, то есть ты понятия не имеешь, какие были причины, я правильно понимаю?


То есть я верю в те причины, что назвали те кто его переписывал.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[16]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>То, как в C++ устроено управление памятью, не позволяет в общем случае при замыкании прихватить любую переменную из локальной области видимости.

Шта?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка: +1
Здравствуйте, Pzz, Вы писали:

Pzz>В C человек скорее напишет конкретный объект. В C++ скорее сначала напишет до невозможности generic, а потом еще будет прилаживать его к конкретному месту.

Разишо только укушенный Александреску. Нормальный девелопер не распыляется на генерализацию всего подряд просто потому что.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[12]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка: -1
Здравствуйте, Ночной Смотрящий, Вы писали:

M>>>>Точно пришлось?

НС>>>Точно.
M>>Можно деталей?
НС>Деталей нельзя

Значит причины не ясны и говорить о "пришлось" нельзя.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[14]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>но как средство разработки не выдерживает никакой критики.

Ох уж эти теоретики
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[17]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Тут народ призывает целые числа хранить в обертках, которые при каждом присваивании проверяют диапазон и исключениями кидаются.

У тебя сова треснула...
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[15]: А С++ то схлопывается...
От: CreatorCray  
Дата: 02.11.19 21:04
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>В венде ядро частично вытесняемое

Это лет 15 назад уже давно было настраиваемо.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[35]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 21:09
Оценка:
Здравствуйте, Pzz, Вы писали:

M>>Вот enum class хотя бы. В сишечном коде энамы кастятся в инты и обратно вообще незаметно (вроде как так, но мог и наврать, на чистой сишечке давно не писал, тогда, в лучшем случае, поведение такое же, как у 03х плюсов), в плюсовом — преобразование односторонее, с enum class — вообще нет допустимых неявных преобразований. Я вижу только 6 дополнительных символов, и качественное повышение безопасности кода.


Pzz>enum class, сам по себе, классная штука. Вот если бы каждый раз, когда в C++ вводят новую классную штуку, из него выкидывали бы две старые неклассные штуки, глядишь, лет через 10 хороший бы язык получился. А пока туда только добавляют, основная проблема языка, чрезвычайная переусложненность, только усугубляется.


Тут с тобой частично соглашусь — было бы неплохо, чтобы современные компиляторы имели ключики для отключения deprecated фич, оставленных для совместимости. Но вот так, с плеча — ломать совместимость со старым кодом — это как накинуть себе на шею петлю, закрепить второй конец веревки на какой-нибудь люстре, и выбить табуретку у себя из-под ног.


Pzz>Интересно, скоро они придумают int class, который, как в Go, не преобразуется ни в какой другой int никаким способом, кроме как явно, и typedef class, который порождает полноценный новый тип, а не type alias, как сейчас?


Не знаю, насколько это нужно. Полезно — было бы да. Но только не для именно int, а вообще — строгий typedef был бы неплох.


M>>Далее. Однотипный код как на сишечке пишут? Правильно, копипастой или макросами-генераторами. На плюсах — один шаблон, на сишечке — это N раз скопированная копипаста с ручной заменой типов, либо макрос-генератор, который хрен отладишь. Причем обычно никаких дополнительных телодвижений, кроме template< typename T> перед функцией — не нужно. В нетривиальных случаях — да, нужны какие-то доп проверки и тп, и на 03й плюшечке это было иногда местами мозголомно, но 11+ стандарты снимают в этом плане очень много проблем


Pzz>Это, конечно, да. Только этого самого однотипного кода в обычной программе не так уж и много.


Это не так, на мой взгляд.


Pzz>А средство для борьбы с ними адово громоздкое.


В чем адовость?


Pzz>Это ж придумать надо, засунуть внутрь императивного языка отдельный чисто функциональный тьюринг-полный язык с ленивыми вычислениями, с целью автоматического порождения однотипного кода.


А по-моему — отличная идея, за счет которой плюсики и стали тем, что есть. Другое дело, что наверное, было бы круче иметь возможность полного доступа из языка в компайлтайм к AST-дереву, но судя по скорости, с которой плюсики начали развиваться, это наверно будет.


M>>Вот, таки, можно раскрыть твою мысль про 2 раза больше кода?


Pzz>Ну вот тут в соседней ветке мне привели, как великое достижение мира C++, темплейтный тип constrained_value. Полэкрана текста, который ничего содержательного не делает, а только добавляет проверок.


А можно ссылку?
А так — сразу могу предположить, что это какой-то код, который написан один раз и потом постоянно используется, делая дополнительные проверки, добавляя безопасности коду на этапе компиляции.


Pzz>В C++ так все и принято писать.


В библиотеках — да, бывает сложновато. Но — студентов и недоучек к написанию библиотек вообще не стоит подпускать даже близко, вне зависимости от языка.

Прикладной код же обычно чист и прозрачен
Маньяк Робокряк колесит по городу
Re[14]: А С++ то схлопывается...
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 02.11.19 21:12
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

M>>Молодец. Возьми с полки пирожок


DI>Снова обидка? Какой ты Марти нежный мальчик


Обидка у меня, но гоняешься за мной ты. Даже овуляшки типа зиг так не напрягают себя. Что-то личное?
Маньяк Робокряк колесит по городу
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.