Здравствуйте, Евгений Музыченко, Вы писали:
П>>Винда давно уже досовские программы не поддерживает, к чему этот спич?
ЕМ>То есть, пока поддерживала (больше двадцати лет, на минуточку), спич был уместен?
Да, можно было бы поговорить об этом. Но вообще не очень понятно, при чем тут ДОС
Здравствуйте, пффф, Вы писали:
П>не очень понятно, при чем тут ДОС
Дык, вот при этом же. В досе можно было в любой момент влезть в любой адрес памяти или любой регистр ВУ, и необходимость обращения через драйвер в винде или унихе многими воспринималась, как личное оскорбление — "это моя машина! это моя программа!". Соответственно, возможность втихую, без хорошо заметного выделения в тексте, без риска получить предупреждение, преобразовать, скажем, long к short, многими сишниками воспринимается, как одно из высших благ языка. Подчеркиваю: не сама возможность это сделать, а именно возможность сделать это походя, привычно, на автомате, и делать такие преобразования сплошь и рядом, уповая на свою память и наблюдательность.
Здравствуйте, Евгений Музыченко, Вы писали:
П>>не очень понятно, при чем тут ДОС
ЕМ>Дык, вот при этом же. В досе можно было в любой момент влезть в любой адрес памяти или любой регистр ВУ, и необходимость обращения через драйвер в винде или унихе многими воспринималась, как личное оскорбление — "это моя машина! это моя программа!". Соответственно, возможность втихую, без хорошо заметного выделения в тексте, без риска получить предупреждение, преобразовать, скажем, long к short, многими сишниками воспринимается, как одно из высших благ языка. Подчеркиваю: не сама возможность это сделать, а именно возможность сделать это походя, привычно, на автомате, и делать такие преобразования сплошь и рядом, уповая на свою память и наблюдательность.
Всё равно, не понял, при чем тут ДОС и сишники. В плюсах любой компилятор тебе варнинг выдаст
П>>В плюсах любой компилятор тебе варнинг выдаст
ЕМ>Только на повышенных уровнях предупреждений. На стандартных — не выдаст, ибо это и есть священная корова.
MSVC на 3м уровне выдаст, это уровень по умолчанию
Здравствуйте, Евгений Музыченко, Вы писали:
П>>MSVC на 3м уровне выдаст, это уровень по умолчанию
ЕМ>Я на них и проверял (15.00 и 19.29) — не выдают. Ни в сишном режиме, ни в плюсовом.
Ну и ладно. Не вижу проблемы. Всё равно ставлю всегда четвёртый уровень
Здравствуйте, Евгений Музыченко, Вы писали:
П>>ставлю всегда четвёртый уровень
ЕМ>Теперь попробуйте /Wall.
ЕМ>Если что, у меня все проекты уже лет двадцать компилятся только с /Wall.
Здравствуйте, Евгений Музыченко, Вы писали: ЕМ>За это время не встретил ни одного сишного программиста, чья приверженность C определялась бы чисто техническими условиями, и ничем иным. Все они без исключения либо уверены, будто на чистом C якобы "компактнее", "эффективнее", "надежнее", "предсказуемее", "управляемее" и т.п., либо они тупо ненавидят C++ за исключения, шаблонную магию, STL и прочее, даже не подозревая, что всё это не является обязательным.
Дело же не в языках, а в разнице мышления: программисты на Си пишут всё сами, а "плюсисты" изначально настроены на переиспользование кода, уже написанного другими людьми. Процедурное мышление против ООП-мышления. Объяснять и доказывать друг другу что-либо тут бесполезно, как англичанин никогда не поймёт мышления русича и наоборот ибо оба воспитаны по-разному.
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>>>у меня все проекты уже лет двадцать компилятся только с /Wall.
П>>У меня тоже. И?
ЕМ>Тогда непонятно, зачем Вы мне возражаете. По привычке, из вредности, или?
Я возражаю вашим идеям переделать правила C++ с добавлением возможности менять их на ходу
Здравствуйте, Pitirimov, Вы писали:
P>программисты на Си пишут всё сами, а "плюсисты" изначально настроены на переиспользование кода, уже написанного другими людьми.
Если они *никсоиды, то у них, наоборот, очень развита практика использования готовых средств. Опять же, многие "плюсисты" предпочитают делать все сами (я в том числе), поскольку прикручивание и сопровождение стороннего кода часто больше мешает, чем помогает.
P>Процедурное мышление против ООП-мышления.
Если сишник неспособен при нужде написать программу в ООП-стиле, а плюсовик даже hello world пишет через hw.run (), это уже клиника.
Опять же, оконная подсистема в винде — явное ООП, а написана (по крайней мере, была) целиком на C, и долгое время использовалась из него же.
Здравствуйте, пффф, Вы писали:
П>Я возражаю вашим идеям переделать правила C++ с добавлением возможности менять их на ходу
Тогда Вы должны возражать и против имеющейся возможности изменить класс в C++, когда добавляется, изменяется или удаляется какой-нибудь конструктор или операция. Ну в самом деле: определили класс с набором конструкторов и операций, пользователи к нему привыкли, а мы взяли и поменяли — скажем, в целях лучше читаемости, безопасности или эффективности.
Здравствуйте, Евгений Музыченко, Вы писали:
П>>Я возражаю вашим идеям переделать правила C++ с добавлением возможности менять их на ходу
ЕМ>Тогда Вы должны возражать и против имеющейся возможности изменить класс в C++, когда добавляется, изменяется или удаляется какой-нибудь конструктор или операция. Ну в самом деле: определили класс с набором конструкторов и операций, пользователи к нему привыкли, а мы взяли и поменяли — скажем, в целях лучше читаемости, безопасности или эффективности.
Если вы так сделали, и поломали кучу пользовательского кода — вы очень, очень плохой человек.
ЕМ>В чем тут фундаментальная разница?
В том, что в вашем примере пидоры — это авторы отдельной библиотеки, а вы хотите, чтобы весь комитет C++ стал пидорами и испортил жизнь всему миру
Здравствуйте, пффф, Вы писали:
П>Если вы так сделали, и поломали кучу пользовательского кода — вы очень, очень плохой человек.
Даже если я пользователей регулярно предупреждал в течение многих месяцев или лет, что решение было неудачным и требует исправления, рассказывал, как заранее подготовиться к исправлению и т.п.? А пользователи, которые вместо того, чтобы проявлять разумную осмотрительность, все это время занимались рисованием новых анимированных значков, написанием рекламных статей, грязными трюками SEO и подобным — очень, очень хорошие люди?
П>В том, что в вашем примере пидоры — это авторы отдельной библиотеки, а вы хотите, чтобы весь комитет C++ стал пидорами и испортил жизнь всему миру
Так он уже это сделал, запихав STL, реализованную через жопу, в стандарт языка. Куда уж дальше-то?
Здравствуйте, Евгений Музыченко, Вы писали:
П>>Если вы так сделали, и поломали кучу пользовательского кода — вы очень, очень плохой человек.
ЕМ>Даже если я пользователей регулярно предупреждал в течение многих месяцев или лет, что решение было неудачным и требует исправления, рассказывал, как заранее подготовиться к исправлению и т.п.? А пользователи, которые вместо того, чтобы проявлять разумную осмотрительность, все это время занимались рисованием новых анимированных значков, написанием рекламных статей, грязными трюками SEO и подобным — очень, очень хорошие люди?
А перед этим 30 лет твоя библиотека была хороша, а тут ты решил, что она кривая? Да, тогда ты пидор
И не очень понимаю. Предупреждал, и что? Все должны броситься переписывать код, который писался десятилетиями, и уже мало кто знает, как оно работает, потому что отсы основатели давно уволились?
П>>В том, что в вашем примере пидоры — это авторы отдельной библиотеки, а вы хотите, чтобы весь комитет C++ стал пидорами и испортил жизнь всему миру
ЕМ>Так он уже это сделал, запихав STL, реализованную через жопу, в стандарт языка. Куда уж дальше-то?
STL вполне годная библиотека общего назначения. Тебе что-то не нравится в ней? Заведи отдельную тему для обсуждения недостатков STL. Тут вроде недостатки самого языка обсуждаем, а не его библиотеку
Здравствуйте, Евгений Музыченко, Вы писали: ЕМ>Если сишник неспособен при нужде написать программу в ООП-стиле, а плюсовик даже hello world пишет через hw.run (), это уже клиника.
Изобретатель Си++ Страуструп никогда не работал в промышленности, а сидел в комнате за своим столом и общался лишь с другими преподавателями да бухгалтерами университета, куда он смог пристроиться на работу. Счетоводы объяснили Страуструпу, что если в платёжном поручении какие-то данные не соответствуют образцу, то денежный перевод необходимо сразу отклонять, а не пытаться исполнять с неправильными данными. Задачи, когда необходимо выполнить задачу любой ценой, вождю Си++ были неведомы.
А теперь представим, что поехал ты на своём автомобиле размяться в спортзал. Завёлся, тронулся и едешь потихонечку по дороге. И вдруг на перекрёстке ни с того, ни с сего отказывает датчик кислорода в твоём автомобиле, а следом за ним датчики давления в шинах и датчик коленчатого вала. Что ты предпочтёшь получить: надпись на панели приборов об отказавших датчиках и заглохший двигатель или отключившуюся панель приборов, но движущийся автомобиль, на котором ты сможешь выехать с перекрёстка?
Здравствуйте, Pitirimov, Вы писали:
P>Изобретатель Си++ Страуструп никогда не работал в промышленности, а сидел в комнате за своим столом и общался лишь с другими преподавателями да бухгалтерами университета, куда он смог пристроиться на работу.
Не знаю, где Вы вычитали эту туповатую сказочку, но не ходите туда больше читать, плохому научитесь.
На мой взгляд, Страуструп — один из немногих людей, которые до сих пор относятся к C++ взвешенно. Даже в последних своих работах он не настаивает на использовании исключений, контейнеров, сложных шаблонов и прочего, что большинство остальных авторов давно и прочно именует "признаками настоящего современного C++", а лишь рекомендует наиболее типовые решения, и обычно поясняет, какие из них достаточно эффективны, а какие — лишь достаточно надежны.
P>Задачи, когда необходимо выполнить задачу любой ценой, вождю Си++ были неведомы.
И как же при этом любая мало-мальски промышленная реализация C++, полностью отвечая стандарту, позволяет выполнить любую задачу не хуже, чем чисто сишная?
P>Что ты предпочтёшь получить: надпись на панели приборов об отказавших датчиках и заглохший двигатель или отключившуюся панель приборов, но движущийся автомобиль, на котором ты сможешь выехать с перекрёстка?
Я бы предпочел получить более конкретное объяснение связи вышеописанного с обсуждаемой тематикой. Пока не вижу ни малейшей связи — чистое фантазирование.
Здравствуйте, avovana, Вы писали:
A>Подскажите, пожалуйста: A>1) В какой доменной области работаете Вы с С++? Почему он там применяется? Какие задачи решаете?
Два года работал через аутстафф-галеры на телеком-проектах. Сейчас не там.
Внутренние компоненты специализированных связистских железок с линуксом внутри, x86, ARM/32, ARM/64.
Почему применяется — ХЗ. Для ~90% случаев был бы полезнее какой-нибудь Go. Реальный уровень языка (и людей) в таких проектах чудовищно низкий. В большинстве запрещены исключения. Ни в одном не используется напрямую высокая шаблонная магия, в лучшем случае зовут Boost.Asio и другие легко используемые компоненты буста.
Для борьбы с проблемами языка (и отладки всяких крэшей) типично полное выключение оптимизаций. Всё равно критические по времени вещи давно унесены в железо.
A>2) Будет ли далее там использоваться С++?
Будет, несмотря на то, что нафиг не нужен и даже вреден. Ибо менеджеры ширнармасс, наполовину состоящих из индусов, иначе не умеют, даже если умеют сами сотрудники.
A>3) Какое будушее у языка Вы видите, в целом?
Хреновое. Потому что вот такие вот направления тянут за собой на дно всех остальных.
A>4) Захватит ли всё rust?
Нет. На нём сложно писать. Я больше поверю, что когда-нибудь такие проекты сползут на Go, Zig, ещё несколько, или даже Java и C#.
A>5) Какие фишки обеспечивают С++ конкурентоспособность сейчас в вашем домене и будут обеспечивать в будущем?
Неисправимая тупизна слоя лиц принимающих решения о технологиях.
A>6) Насколько в реальности сложен С++
Очень сложен. Если не кодом, так тем, что что-то сломают в соседнем отделе, а потом ищи, кто тебе портит память.
Намеренно отвечаю тут (туда тоже продублирую по возможности), ибо захотелось оставить замечание.