[08:44:54] <ada_ru> (Eugene) 'C++ — довольно таки примитивное, но монстровое поделие, полное исторически сложившихся нелепых нагромождений. Человек, который хорошо в нем ориентируется — это хорошее зубрилко а не хороший программист. Умение героически преодолевать трудности, которые создает твой собственный инструмент, вместо того, чтобы решать непосредственно прикладную задачу, в современно мире ценится разве что только среди прыщавых сосок. Работодатель же это сомнительное умение не ценит, и совершенно справедливо.' © Xenocephal
[09:07:35] <ada_ru> (Oleg) Работодатель вообще ценит только прибыль и ему глубоко фиолетово на то каким методом она добывается
[09:08:51] <ada_ru> (Oleg) А про C++ я считаю неверно, это пока единственный действительно универсальный язык , пока надо терпеть
[09:10:45] <ada_ru> (Oleg) И кстати жава тоже никуда не делась
[09:27:38] <ada_ru> (Eugene) отвечает (Oleg) на <А про C++ я считаю н…>
разве не Си?
[09:58:02] <nordwind> Чем их просто перл не устроил! Вот загадка. Я про 5 версию
[09:59:52] <nordwind> Ведь это раку мертворожденное дитя
[09:59:55] <nordwind> Которое к тому же принесет много бесполезной работы по переименованию и перевнедрению
[10:39:16] <ada_ru> (anisimkov) отвечает (Eugene) на <'C++ — довольно таки…>
Интересная мысль. Нахожу в ней много своих впечатлений.
[10:40:27] <ada_ru> (anisimkov) выводы насчет сосок и работодателей несколько эмоциональны, но по первой части, я бы подписался.
[10:41:29] <ada_ru> (I_vlxy_I) совместимость (и возможность плавной миграции) с Си это ключовой момент, увы и ура.
[10:42:33] <ada_ru> (I_vlxy_I) ну и многие присядания (типа тех же конструкторов, мувсемантики, деструкторов) реально штука нужная и полезная. И важная, в том числе, для производительности.
шлака тоже много конечно (который фиксят другим шлаком)
[10:42:57] <ada_ru> (I_vlxy_I) но когда важна производительность и вероятность отстрелить ногу меньше чем в Си, то альтернатив особо нет
[10:45:20] <ada_ru> (I_vlxy_I) ну и сделать работу на этапе компиляции (что-то посчитать, что-то проверить) тоже дорогого стоит. в ц++ оно не самое простое и элегантное из того, что есть в языках, но уже достаточно мощное.
[10:50:10] <ada_ru> (anisimkov) У меня с логикой по этому вопросу похуже дела. У меня остались неизгладимые впечатления от работы 20 летней давности.
[10:51:10] <ada_ru> (anisimkov) на которые потом котрастом наложились впечаталения от работы на Ада
[10:51:56] <ada_ru> (I_vlxy_I) небось с легаси-говнищем каким имел дело 🙂 да еще и качество компиляторов и реализации стандартной либы тогда было...
плюс тогда каждый первый городил велосипед вместо юзания стандартной либы
[10:52:00] <ada_ru> (anisimkov) уровень сложности ошибок за которыми приходиться идти в отладку на Ада гораздо выше. А в С++ за каждым пустяком.
[10:52:14] <ada_ru> (I_vlxy_I) 5 разных несовместимых классов строк в проекте - тогда это было обычное дело
[10:52:38] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <уровень сложности ош…>
например?
[10:53:35] <ada_ru> (anisimkov) пример пустяка, в C++ я искал ошибку в константе тупо const C = 12345678L
[10:53:48] <ada_ru> (anisimkov) он усекал до int и узнать это я смог только в отладчике.
[10:54:05] <ada_ru> (anisimkov) 16 бит был int
[10:54:46] <ada_ru> (I_vlxy_I) дык это сишная фишка - инт тип по умолчанию.
Сейчас это был бы варнинг сразу.
А почему ты тип не написал? Принято же писать consy MyCoolType foo = zoo;
[10:55:23] <ada_ru> (anisimkov) не помню. Я в ада пишу constant и не обязан писать тип.
[10:55:34] <ada_ru> (I_vlxy_I) и это проблема Ады, кстати
[10:55:41] <ada_ru> (I_vlxy_I) а, точнее сейчас, кстати, это вообще ошибка компиляции
[10:55:48] <ada_ru> (anisimkov) я не помню всех прелестей, у меня впечатление осталось.
[10:55:56] <ada_ru> (I_vlxy_I) https://godbolt.org/z/FcP3cL
[10:56:14] <ada_ru> (anisimkov) ну они может и исправились, но на Ада это уже было.
[10:56:18] <ada_ru> (anisimkov) в те времена
[10:56:21] <ada_ru> (I_vlxy_I) но 20 лет назад компиляторы С++ не были в курсе про стандарт 🙂
[10:56:34] <ada_ru> (anisimkov) возможно, но мода уже была.
[10:56:51] <ada_ru> (I_vlxy_I) то были тёмные времена достандартного с++
[11:00:03] <ada_ru> (anisimkov) разница с Ада в том что C++ набили шишки и эволюционировали, тогда как Ada проэктировали сразу с расчетом на безопасность. а эволюция шла в расширении функциональности.
[11:01:02] <ada_ru> (anisimkov) но это обычное дела на рынке, заинтересовать народ фичами, и продать, а потом когда потянуться притензии, исправлять за отдельные бабки.
[11:03:20] <ada_ru> (I_vlxy_I) в с++ это было вроде сразу в с++98. а вот компиляторы подтянулись и осилили это всё реализовать ближе к 2006 году.
[11:03:50] <ada_ru> (anisimkov) безопасность в смысле ?
[11:04:50] <ada_ru> (anisimkov) язык С в принцыпе один шаг вперед от ассемблера, и делать на его основе язык высокого уровня, это тащить за собой гирю совместимости.
[11:09:29] <ada_ru> (anisimkov) ну и чисто чтение кодов. когда под присваивание скрыт вызов конструктора, это как то неудобно. Как мне из этого места перескочить в код конструктора ? И вообще узнать что там вызов конструктора присваивания.
[11:10:18] <ada_ru> (anisimkov) "чукча не читатель, чукча писатель" (С)
[11:12:04] <ada_ru> (anisimkov) а программист, обычно читает больше чем пишет. Если писать больше чем читать, становиться все хуже и хуже.
[11:29:10] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <ну и чисто чтение ко…>
В смысле? В дебаггере легко. В IDE - зависит от IDE
[11:30:44] <ada_ru> (anisimkov) покрытие недостатков языка инструментами. Я бы предпочел самодостаточный язык.
[11:30:58] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <но это обычное дела …>
Ты же понимаешь, что в отличие от Java, Delphi и многих других языков, у c++ не было единого продавца и бенефицианта? Более того - стандарт как раз мешает рыночно проворачивать такие схемы.
[11:31:24] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <покрытие недостатков…>
Без инструментов тут вообще нет проблем.
[11:31:56] <ada_ru> (I_vlxy_I) Если это не с инструментом связано, то я не понимаю где тут проблема с тем, чтобы «перескочить» на конструктор
[11:32:09] <ada_ru> (anisimkov) единый не единый. он получил популярность именно от своей привлекательности внешней, а не за то что он такой безопасный.
[11:32:37] <ada_ru> (anisimkov) хотя бы найти этот конструкто тупо поиском по текстам.
[11:32:48] <ada_ru> (anisimkov) хернайдешь.
[11:34:14] <ada_ru> (I_vlxy_I) Copy constructor имеет жёсткую сигнатуру. Ты все такие конструкторы легко найдёшь регуляркой
[11:35:08] <ada_ru> (anisimkov) ладно, хорошо что ты приспособился. Я не сумел. Да и не очень то и хотелось, честно говоря.
[11:35:27] <ada_ru> (anisimkov) хотя поначалу энтузиазизм был.
[11:35:51] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <единый не единый. он…>
То, что с++ получил популярность не за непробиваемую безопасность - правда.
Но и он точно не за внешнюю привлекательность (скажем синтаксис) ее получил :-)
Но то, что ц++ безопасней чем Си - факт.
[11:36:19] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <хотя поначалу энтузи…>
Я просто уже зрелые реализации использовал
[11:36:37] <ada_ru> (anisimkov) насчет сравнительной безопасности с и спп я читал и противоположное мнение, и весьма авторитетное.
[11:36:50] <ada_ru> (I_vlxy_I) В конце 90х же, я только начинал, и то был лютый хорор :-)
[11:44:06] <ada_ru> (I_vlxy_I) отвечает (anisimkov) на <насчет сравнительной…>
Смотри, простой эксперимент: берём сишную прогу, собираем ее как цппшную, поскольку у цпп более строгая типизация, то с++ компилятор найдёт массу небезопасных мест и заставит их поправить (ибо ошибка компиляции).
После этого программа будет уже не на Си, а на С++ :-)
[11:44:21] <ada_ru> (I_vlxy_I) И она, безусловно, будет более безопасной.
[11:44:46] <ada_ru> (I_vlxy_I) Даже без этих ваших классов и шаблонов. Просто за счёт строгой типизации
[11:47:08] <ada_ru> (I_vlxy_I) В частности поэтому и gcc теперь на с++.
[11:50:44] <ada_ru> (Gourytch) отвечает (anisimkov) на <пример пустяка, в C+…>
в этом плане Fortran прекрасен, с его дефолтовой типизацией по первой букве переменной =)
c i,j,k,l,m,n - int, остальные - real =)
[11:52:08] <ada_ru> (I_vlxy_I) отвечает (Gourytch) на <в этом плане Fortran…>
Это можно переназначить и настроить как тебе хочется :-)
[11:52:25] <ada_ru> (I_vlxy_I) Предлагаю расширить фортран в этом месте регулярками!
[11:52:48] <ada_ru> (Gourytch) отвечает (I_vlxy_I) на <Это можно переназнач…>
можно конечно. потому и говорю: по дефолту )
[13:05:16] <ada_ru> (Максим) отвечает (Gourytch) на <в этом плане Fortran…>
О, я об этом уже и забыл, спасибо!
[14:40:12] <ada_ru> (Oleg) отвечает (anisimkov) на <не помню. Я в ада пи…>
Таким как ты в C делать нечего :-)
[14:40:29] <ada_ru> (anisimkov) Таких не берут в касманавты !
[14:41:07] <ada_ru> (anisimkov) хотя иногда приходиться
[15:57:33] <ada_ru> (Eugene) отвечает (I_vlxy_I) на <то были тёмные време…>
20 лет назад уже был стандарт ISO/IEC 14882:1998 "Programming languages — C++"
[16:32:12] <ada_ru> (I_vlxy_I) отвечает (Eugene) на <20 лет назад уже был…>
Да. Но его ещё не было в ощущениях
[16:32:30] <ada_ru> (I_vlxy_I) Следовательно и в реальности его не было
[19:28:24] <OCTAGRAM> говорят, Фортран 2018 и без регулярок для имён сложно узнать
[19:29:46] <OCTAGRAM> у Жабы часы на 10 минут вперёд, кстати
[19:30:51] <subjrs> date
[19:30:52] <Жаба> subjrs, 2019-10-16 19:30:51 (Time_Offset => 180)
[19:31:20] <subjrs> на машинке где она крутится время уехало наверна
[19:34:24] <nordwind> Хм
[19:35:11] <ada_ru> (I_vlxy_I) отвечает на <(subjrs)
на машинке…>
Там Европа и церн с коллайдером. Возможно чёрная дыра случилась :-)
[19:35:47] <subjrs> Time_Offset => 170 впилить ))
[20:09:46] <OCTAGRAM> чтоб вперёд уехало, надо наоборот, вакуум казимира с отрицательной плотностью энергии или, может быть, по типу тёмной энергии субстанция, пребывающая в таком сильном растяжении, что в уравнении Эйнштейна антигравитация от отрицательного давления перевешивает гравитацию от массы
[20:11:45] <ada_ru> (I_vlxy_I) Белая дыра