Re[31]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 04.11.19 06:19
Оценка: -4 :)
Здравствуйте, so5team, Вы писали:

S>В данной теме вы общаетесь с Евгением Охотниковым, компания "СтифСтрим". Мы развиваем такие продукты, как SObjectizer, RESTinio и json_dto, оказываем техподдержку пользователям этих продуктов, даем консультации и выполняем разработку под заказ.


Для меня все это пустой звук.

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


Да вы просто ссыкло. (С)
Re[27]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 04.11.19 06:19
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Ну, хлюпай дальше...


Взрослая публика — взрослая аргументация (нет)
Re[29]: А С++ то схлопывается...
От: Denis Ivlev  
Дата: 04.11.19 06:21
Оценка: :)
Здравствуйте, CreatorCray, Вы писали:

DI>>Посмейся, для адекватных людей я сказал достаточно — пишите, кому интересно.

CC>Никому не интересно

Адекватность — это в том числе и не делать утверждения за всех
Re[32]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 04.11.19 07:12
Оценка: +1
Здравствуйте, Denis Ivlev, Вы писали:

S>>В данной теме вы общаетесь с Евгением Охотниковым, компания "СтифСтрим". Мы развиваем такие продукты, как SObjectizer, RESTinio и json_dto, оказываем техподдержку пользователям этих продуктов, даем консультации и выполняем разработку под заказ.


DI>Для меня все это пустой звук.


Во-первых, врать нехорошо. Как минимум, вы читаете мой блог. А так же анонсы наших релизов на RSDN.

Во-вторых, суть не в громкости имен и известности разработок. Полагаю, что для большинства здесь присутствующих "Александр Сибиряков", "Scrapinghub" и "Frontera" не менее пустые звуки.

Суть в том, что мне не страшно назвать ни свое реальное имя, ни место работы.

В отличии от.

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


DI>Да вы просто ссыкло. (С)


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

Вот вы о рисках, связанных с деловой репутацией, вряд ли задумываетесь, поскольку своим унылым троллингом и трусливым поведением уже создали Scrapinghub-у отрицательную карму.
Re[28]: А С++ то схлопывается...
От: CreatorCray  
Дата: 04.11.19 08:39
Оценка:
Здравствуйте, Denis Ivlev, Вы писали:

DI>>Взрослая публика — взрослая аргументация (нет)

DI>Взрослая публика — взрослая аргументация (нет)

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

DI>Для меня все это пустой звук.

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

CC>Поди затекло куда и коротнуло


Взрослая публика — взрослая аргументация (нет)
Re[22]: А С++ то схлопывается...
От: alex_public  
Дата: 04.11.19 10:36
Оценка: +1
Здравствуйте, Pzz, Вы писали:

_>>Повторюсь ещё раз: я вполне понимаю такую аргументацию скажем от программиста на Java и Python. Да, они потеряют на этом в эффективности кода, но это может быть вполне допустимо условиями задачи. Но от программистов на C и ему подобных языков, подобная аргументация не может работать. Потому что программисту на C точно так же требуется продумывать время жизни каждого объекта.

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

Нуу если C++ не пригодный, то мне тогда весьма интересно услышать какой пригодный и почему (желательно с конкретными примерами).

_>>Вообще не понял о чём ты тут.

Pzz>О том, что абстракции C++ подтекают. Слишком большая разница между тем высокоуровневым интерфейсом, которые народ обычно пытается выразить, и низкоуровневыми кишками под капотом.

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

_>>Ну вообще то я как раз написал, что я не понимаю, по какой причине (кроме незнания естественно), можно выбирать вариант с ручным управлением памятью. Может ты подскажешь? Т.е. ты конечно же уже написал, что типа "простота — это хорошо", но дело в том, что это самую простоту ты так и не продемонстрировал ни на одном примере конкретного кода. По моему опыту, код на C++ внешне обычно выглядит даже проще аналогов на C.

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

Ну с этим то я естественно согласен. У меня вот только один вопрос остался: о дикой сложности программирования на C++ ты узнал из собственного опыта или по чужим рассказам? )
Re[20]: А С++ то схлопывается...
От: alex_public  
Дата: 04.11.19 10:45
Оценка: +1
Здравствуйте, Marty, Вы писали:

M>>>ADC/DAC/I2C/SPI/UART/CAN/TIM/DMA etc

_>>Я в курсе что такое периферия. Мне не понятен термин "работы" с ней, в контексте IDE.
M>Смотреть в отладке на регистры

Так регистры же все отображены в память, и соответственно банальный gdb без проблем подтягивает их значения (можно хоть в командной строке смотреть), и далее любая IDE показывает их в стандартном интерфейсе отладчика (отслеживания переменных). Что там ещё может быть нужно? )
Re[7]: А С++ то схлопывается...
От: smeeld  
Дата: 04.11.19 11:08
Оценка: +1 -1 :)))
Здравствуйте, nekocoder, Вы писали:

N>Хорошо вам там в альтернативной вселенной, где проекты сразу после завершения выбрасываются и переписываются с нуля.


Да хеллоуворлдщики они тут все, эти местные C++-ные гуру. Они просто не осознают, по недостатку опыта, того, что все новомодные C++-ные примочки в коде, размеры которого превышают несколько лямов локов, превращается в полностью нечитабельный набор заклинаний. На маленьких проектах, которые, например, местный so5team пилит, С++ удобен. Но, основываясь именно на таком опыте, местные C++-ные гуру рассказывают как надо делать в проектах такого размера, как СУБД оракел.
Re[8]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 04.11.19 11:28
Оценка: +1
Здравствуйте, smeeld, Вы писали:

S>Они просто не осознают


Откуда знаете?

S>все новомодные C++-ные примочки в коде, размеры которого превышают несколько лямов локов, превращается в полностью нечитабельный набор заклинаний


Я вам даже на пальцах объясню, почему так происходит. Потому, что вокруг проектов в несколько MLOC слишком много матерых экспертов с десятилетиями опыта за плечами, вроде вас и Pzz. Которые отстали от прогресса настолько, что вот здесь:
template<class T, T Left, T right>
class constrained_value {
  T v_;
public:
  explicit constrained_value(T v) : v_(v) {
    if( !(v_ >= Left && v_ <= Right) )
      throw ...; // Или вызов abort.
  }

  operator T() const { return v_; }
};

им видится и полэкрана кода, который ничего не делает, и, что еще важнее, проверки на каждом присваивании.

Конечно, заставь таких использовать основанные на шаблонах strong_typedef-ы, чтобы в программе в принципе нельзя было сложить метры с килограммами, и поднимится вой до небес о том, что программа превратилась в нечитаемое шаблонное месиво. И все это с громким битиём себя пяткой в грудь и обещаниями все-все ручками проверить.

Отсюда потом и байки про божественный "Си с классами" и россказни Pzz про C++, которого он толком и не видел, как оказалось.

Ну а на счет того, как пишется СУБД Oracle погулите нашумевший недавно инсайд о том, насколько там все гладко и замечательно.
Re[2]: Слезная просьба
От: smeeld  
Дата: 04.11.19 11:28
Оценка: -1 :)
Здравствуйте, Marty, Вы писали:

M>к гражданам сишечникам


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


Всё просто-не пытайтесь устроиться работать в компании, с оборотом больше $100M и собственным фондом софта размеры которого больше гигабайта исходников (суммарный размер последних релизных веток). И тогда избежите встречи с кодом, который по-Вашему, несомненно компетентному мнению эксперта, считается говнокодом. Пилите и дальше свои хеллоуворлды кучкой единомышлеников-говноэкспертов.
Re[7]: А С++ то схлопывается...
От: Ночной Смотрящий Россия  
Дата: 04.11.19 11:42
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Т.е. уже лет двадцать назад ему прочили "полное исчезновение, вот-вот".


Полное исчезновение никто ему и не пророчил. А вот уход во все более маргинальные ниши — вполне. И топики в работе говорят о том, что процесс этот идет полным ходом.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Слезная просьба
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 04.11.19 11:46
Оценка: +2
Здравствуйте, smeeld, Вы писали:

S>Всё просто-не пытайтесь устроиться работать в компании, с оборотом больше $100M и собственным фондом софта размеры которого больше гигабайта исходников (суммарный размер последних релизных веток). И тогда избежите встречи с кодом, который по-Вашему, несомненно компетентному мнению эксперта, считается говнокодом. Пилите и дальше свои хеллоуворлды кучкой единомышлеников-говноэкспертов.


Эти тонны старого кода тоже были когда-то молодыми и современными. Проблема там не в том, что они так хороши, что их не хотят переписывать, а в том, что уже и не могут из-за объёма.
Аналогично и с другими аспектами. Работая в АМД приходилось использовать Perforce, который жутко не удобен. Поэтому многие разработчики для себя или команды организовывали мини репозитории на git/mercurial для повседневной работы и отдельную вентку для мержа в Perforce. На днях я узнал, что в Nvidia такие же проблемы — там тоже Perforce. При этом кодовая база драйверов превысила кодовую базу той же Windows довольно давно, проекты большие с поддержкой кучи компиляторов и разных версий Ос. Именно последний пункт ограничивает внедрение новых стандартов С++, а не мифические сложности или подводные камни.
Re[11]: А С++ то схлопывается...
От: B0FEE664  
Дата: 04.11.19 12:12
Оценка: :))
Здравствуйте, Mamut, Вы писали:

L>>Тупой единственный тест обеспечит 100% покрытие кода... но все ли сценарии покрыты?

M>И на таком рано или поздно валятся все: забыли, недосмотрели, жесткие дедлайны, программист устал, человек ушел в отпуск и кусок кода выкатывает другой человек...
M>B0FEE664, правда, свято верит, что где-то есть сферовакуумные программисты, которых проверяют специальные сторонние организации, которые пишут 100% тестов по 100% сценариев.

Да, проверяют. Я не верю, я знаю. И проверяют, кстати, 100% покрытие кода, а не 100% сценариев.
И каждый день — без права на ошибку...
Re[8]: А С++ то схлопывается...
От: B0FEE664  
Дата: 04.11.19 12:16
Оценка: -2 :)
Здравствуйте, Nikе, Вы писали:

BFE>>В частности, если у вас есть вызов new, то надо предоставить тест, который обрабатывает исключение бросаемое new при нехватке памяти. И так для каждого встречающегося в коде new, а не в одном каком-то месте. Представляете себе объём работы по написанию тестов?

N>Попытался распарсить написанное — не получилось. Если у нас есть вызов new, то его нужно проверить, ок. Но в С коде в этом месте будет malloc. Претензия к необходимости проверить new, намекает на то, что malloc проверять не надо? Так нет же, точно так же надо, т.е. к чему это было писать? Или намёк на то, что магический С не потребует маллока? Но тогда зачем new в С++ коде? Что за укурка вообще?

Я это написал к тому, что нет никакой динамически выделяемой памяти, а тогда вместо С++ получается С с классами.
И каждый день — без права на ошибку...
Re[8]: А С++ то схлопывается...
От: B0FEE664  
Дата: 04.11.19 12:26
Оценка:
Здравствуйте, alex_public, Вы писали:

_>Глупости какие. Я например периодически пишу код для МК и использую там на полную удобства C++17 (скоро уже на 20 буду переползать). При этом там естественно нет динамического выделения памяти в принципе.


Ну раз нет динамического выделения памяти, значит нет виртуальных функций, смарт указателей, контейнеров...
Что именно от C++17 вы используете?
И каждый день — без права на ошибку...
Re[9]: А С++ то схлопывается...
От: so5team https://stiffstream.com
Дата: 04.11.19 12:32
Оценка: +4
Здравствуйте, B0FEE664, Вы писали:

BFE>Ну раз нет динамического выделения памяти, значит нет виртуальных функций,


Каким боком динамическая память к виртуальным функциям?

BFE>контейнеров...


STL-ных не будет. А вот какие-нибудь small_vector/small_set/small_map которые используют буфер фиксированного размера или тот же std::array вполне себе.

Опять же, где именно шаблоны, лямбды или structured binding с if constexpr взаимоувязаны с динамической памятью?
Re[8]: А С++ то схлопывается...
От: B0FEE664  
Дата: 04.11.19 12:36
Оценка:
Здравствуйте, CreatorCray, Вы писали:

BFE>>В частности, если у вас есть вызов new, то надо предоставить тест, который обрабатывает исключение бросаемое new при нехватке памяти.

CC>Ващета исключения отключаемы, и new будет неотличим от malloc.

malloc тоже нельзя. Ну или с тестами по исчерпанию памяти при каждом использовании.

BFE>>Исходя из этого для многих проектов просто запрещается динамическая аллокация памяти.

CC>С чего бы вдруг?
А вы доверили свою жизнь автопилоту с динамической аллокацией памяти?

BFE>> Соответственно выбрасывается всё, что аллоцирует память, начиная с std::vector ...

CC>И хрен с ней, с STL библой
CC>С++ то тут при чём?

Так получается C с классами, а не C++.

CC>Это всё решается на уровне библиотек и требований к стилистике кода. Функционал языка же остаётся.


Часть функционала оказывается неиспользуемой. Зачем, например, виртуальные функции, если нет динамически создаваемых объектов?
И каждый день — без права на ошибку...
Re[23]: А С++ то схлопывается...
От: Pzz Россия https://github.com/alexpevzner
Дата: 04.11.19 12:42
Оценка:
Здравствуйте, alex_public, Вы писали:

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


_>Нуу если C++ не пригодный, то мне тогда весьма интересно услышать какой пригодный и почему (желательно с конкретными примерами).


Ну, первая версия компилятора rust была написана на ocaml'е, и неспроста...

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

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


Даже в статье есть примеры.

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

_>Ну с этим то я естественно согласен. У меня вот только один вопрос остался: о дикой сложности программирования на C++ ты узнал из собственного опыта или по чужим рассказам? )


В основном из собственного.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.