Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>У идиота?
AD>Пускай даже у идиота. Так какие будут проблемы?
Обыкновенно, у идиотов не бывает проблем.
Коллега, объективного вы ничего НЕ УСЛЫШИТЕ!
А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом,
вряд ли вам будет интересно...
Здравствуйте, org_256, Вы писали:
_>Речь не идет о "чистом Си", речь идет о его "осовремененном" диалекте — формально, о "стандарте" 99 года.
под "чистым C" я имел ввиду просто C, один из его стандартов (например C99). "не-чистый C" в данном контексте это подмножество C++.
_>Только законченному идиоту придет в голову писать ОС, или упаси бог, ядро этой ОС на С++, используя концепцию ООП, особенно в CLI нотации.
Вообще-то C++ это далеко не только ООП. Никто не заставляет раздувать иерархию классов в ядре.
И причём тут вообще CLI???
_>P.S. Я не отказываюсь от ООП, если вы это имели ввиду. Просто у нас с Б. Страуструпом разные точки зрения по этому поводу
И дальше там идёт пояснение.
_>Я успешно использую Си и С99 в двух "почти" своих проектах, ( не могу сказать каких, в виду подписанного мною NDA ). _>И в 80-90% случаев предпочитаю использовать С99 при создании игр
Здравствуйте, org_256, Вы писали:
_>А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом, _>вряд ли вам будет интересно...
Его никто не знает. (без обид). Даже г-н Б. Страуструпп не знает.
Я знаю достаточно много языка С++ чтобы принимать решение, что мне не нужно использовать С++ в моих проектах.
Насчёт blub, не поленился таки, прочитал. Т.е. вы признаете, что раз вы так рьяно защищаете С++ то вы blub по отношению к Java, C#, или VB?
P.S. Опять же, боюсь повториться, но: Я не отказываюсь от ООП и всех исходящих плюшек.
Мне просто не нравится как "реализован" этот подход в С++.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом, _>>вряд ли вам будет интересно...
AD>Нет, нет. Мне очень интересно.
Тогда объясните, чего конкретно вы от меня желаете услышать???
P.S. там в видео, мнения не только Страуструпа
P>>это больше похоже на blub-программиста http://en.wikipedia.org/wiki/Paul_Graham_%28computer_programmer%29#Blub P>>скорей всего вы просто почти не знаете C++ (без обид). _>Его никто не знает. (без обид). Даже г-н Б. Страуструпп не знает.
Я не написал "вы не знаете", а написал "почти не знаете", это разные вещи.
_>Я знаю достаточно много языка С++ чтобы принимать решение, что мне не нужно использовать С++ в моих проектах. _>Насчёт blub, не поленился таки, прочитал. Т.е. вы признаете, что раз вы так рьяно защищаете С++ то вы blub по отношению к Java, C#, или VB?
Вы ушли куда-то не в ту степь. Я не защищаю C++, я пытаюсь понять, почему люди используют C, в тех случаях когда возможно использование подмножества C++, какие в этом преимущества. И если преимущества действительно есть (которые я сейчас не вижу), то я буду рассматривать C при выборе средства.
Причём вообще здесь все эти vm/managed языки, мы ведь говорим об Native code?
И даже если говорить про эти языки — я не говорил о них ничего, с чего вы взяли что я "blub по отношению" к ним?
_>P.S. Опять же, боюсь повториться, но: Я не отказываюсь от ООП и всех исходящих плюшек. _> Мне просто не нравится как "реализован" этот подход в С++.
А я вообще не говорил про ООП, вы начали про него. Исходя из того, что вы так много говорите про OOP, я и сделал вывод, что С++ вы почти не знаете. Так как C++ это далеко не OOP.
Здравствуйте, org_256, Вы писали:
AD>>Здравствуйте, org_256, Вы писали: _>>>А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом, _>>>вряд ли вам будет интересно...
AD>>Нет, нет. Мне очень интересно.
_>Тогда объясните, чего конкретно вы от меня желаете услышать???
Примеры из вашего субъективного опыта, подтверждающие ваше высказывание. Достаточно одного примера.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
AD>>>Здравствуйте, org_256, Вы писали: _>>>>А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом, _>>>>вряд ли вам будет интересно...
AD>>>Нет, нет. Мне очень интересно.
_>>Тогда объясните, чего конкретно вы от меня желаете услышать???
AD>Примеры из вашего субъективного опыта, подтверждающие ваше высказывание. Достаточно одного примера.
Какое именно высказывание? Хотелось бы побольше конкретики... ( Выделенное жирным вырвано из контекста )
Здравствуйте, org_256, Вы писали:
_>Какое именно высказывание? Хотелось бы побольше конкретики... ( Выделенное жирным вырвано из контекста )
Вот это:
_>Речь не идет о "чистом Си", речь идет о его "осовремененном" диалекте — формально, о "стандарте" 99 года. _>Только законченному идиоту придет в голову писать ОС, или упаси бог, ядро этой ОС на С++, используя концепцию ООП, особенно в CLI нотации.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>Какое именно высказывание? Хотелось бы побольше конкретики... ( Выделенное жирным вырвано из контекста )
AD>Вот это:
_>>Речь не идет о "чистом Си", речь идет о его "осовремененном" диалекте — формально, о "стандарте" 99 года. _>>Только законченному идиоту придет в голову писать ОС, или упаси бог, ядро этой ОС на С++, используя концепцию ООП, особенно в CLI нотации.
AD>в сообщении http://www.rsdn.ru/forum/cpp.applied/4730945.1.aspx
Вы ожидаете от меня услышать что то что можно оспорить. Я повторяю, ничего объективного, т.е. фактического, обусловленного объяснением за пределами конкретной личности ( индивида ), вы от меня не услышите, потому-что просто не захотите слушать. А мое субъективное мнение( т.е. мнение, сформировавшееся за счёт личного, субъективного опыта, характерного только для меня) вас вряд ли порадует. За сим не вижу смысла в вашем вопросе.
Если вы действительно просто желаете спорить, или убедить меня в чем-то ( подозреваю собака тут покопалась ), то боюсь к сожалению вам придется указать мне успешные конкурентноспособные ОС преимущественно ядро которых написано на С++... если таких нет, какой смысл дальше препираться?
Здравствуйте, org_256, Вы писали:
_>Вы ожидаете от меня услышать что то что можно оспорить. Я повторяю, ничего объективного, т.е. фактического, обусловленного объяснением за пределами конкретной личности ( индивида ), вы от меня не услышите, потому-что просто не захотите слушать. А мое субъективное мнение( т.е. мнение, сформировавшееся за счёт личного, субъективного опыта, характерного только для меня) вас вряд ли порадует. За сим не вижу смысла в вашем вопросе.
Ну вам же написали, что субъективное мнение тоже интересно:
" _>>А мое сугубо субъективное мнение, многократно подтверждаемое моим субъективным опытом, _>>вряд ли вам будет интересно... AD>Нет, нет. Мне очень интересно.
"
Вы можете просто привести своё субъективное мнение, если вам не хочется — спорить вас никто не заставляет.
Здравствуйте, org_256, Вы писали:
_>Если вы действительно просто желаете спорить, или убедить меня в чем-то ( подозреваю собака тут покопалась ), то боюсь к сожалению вам придется указать мне успешные конкурентноспособные ОС преимущественно ядро которых написано на С++... если таких нет, какой смысл дальше препираться?
Я же написал: мне действительно интересен любой ваш опыт по этому вопросу. Я хочу не спорить и припираться. Я хочу послушать любые аргументы или случаи из личного опыта в пользу вашего высказывания, не смотря на то, что они будут даже не из области написания ядра ОС на С++.
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>Если вы действительно просто желаете спорить, или убедить меня в чем-то ( подозреваю собака тут покопалась ), то боюсь к сожалению вам придется указать мне успешные конкурентноспособные ОС преимущественно ядро которых написано на С++... если таких нет, какой смысл дальше препираться?
AD>Я же написал: мне действительно интересен любой ваш опыт по этому вопросу. Я хочу не спорить и припираться. Я хочу послушать любые аргументы или случаи из личного опыта в пользу вашего высказывания, не смотря на то, что они будут даже не из области написания ядра ОС на С++.
1. Большую часть времени я пишу для платформы с большим ограничением по пространству-времени. ( робототехника )
2. При написании игр долгое время приходилось поддерживать огромное число "слабых" машин. ( и да! можете убить меня, я пишу на голом WinAPI )
3. C++ сам по себе ни плох ни хорош. Просто лично для себя я не нашел хороших аргументов, чтобы постоянно писать всё что ни попадя только на нём.
4. Я использую и С++ как вариант подмножества Си в нём, почти не загружая код архитектурными излишествами, но часто сталкивался с кривой реализацией, и не возможностью поддерживать "чистый" Си ( без серьёзного допила )...
5. В большинстве моих проектов и задач использование С++ равносильно "стрельбе из пушки по воробьям".
6. Если я сталкиваюсь с непреодолимой необходимостью использовать С++ для нового пректа, я пониманию, что проект формализован криво и пробую перестроить его. Потому-что твёрдо уверен, что нет такой задачи, которую можно реализовать только на С++ ( я в адеквате, аргументы типа на С++ писать быстрей и проще тут не вариант )...
7. Если бы все мои задачи требовали быстрого решения и реализации и не были бы требовательны к скорости выполнения и размерам кода, то да, я бы стал использовать С++ постоянно, даже не смотря на то, что этот язык просто чисто физически не возможно выучить на все 100%.
8. Аргументы вроде: на современных машинах вызов через один указатель или через указатель на на таблицу указателей не имеет значения, потому что скорость на современных машинах ничтожна мала и не ощутима даже в супер-пупер-тестах... — для меня не аргумент...
9. Аргументы вроде: На Си глобалы, код-лапша, легко насрать куда не нужно, что провоцирует трудновылавливаемые баги — тоже не аргументы. Баги есть даже в релизном коде многих успешных продуктов.
10. Аргументны типа: можно писать Cи-like коде в самом C++ — тоже не аргумент, довелось работать в таких проектах. Половина кода на кривом С++, половина на Си, большая часть кода — вообще сторонние библиотеки на С++ со своей, невообразимой семантикой. В результате куча костылей, граблей и прочей фигни.
11. Я пишу свой код один, все мои "заказчики" — конечные потребители, поддержка моего кода ведётся только мной. Код небольшой, сложность в пределах постигаемости в одно лицо.
12. Вся RMOS ( моя система для экспериментальных роботов-манипуляторов ) написана на С99. Далее LCC->AT89C51. ( лицензия есть ).
Здравствуйте, org_256, Вы писали:
_>1. Большую часть времени я пишу для платформы с большим ограничением по пространству-времени. ( робототехника ) _>...
Вообще я ожидал услышать что-то типа "В случае <бла-бла-бла> был применён С++, но от него пришлось отказаться по причине <бла-бла-бла>. Код бы переписан на си, что привело к повышению <бла-бла-бла>", а получил кучу демагогии, из которой ничего не следует. Пичалька
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>1. Большую часть времени я пишу для платформы с большим ограничением по пространству-времени. ( робототехника ) _>>...
AD>Вообще я ожидал услышать что-то типа "В случае <бла-бла-бла> был применён С++, но от него пришлось отказаться по причине <бла-бла-бла>. Код бы переписан на си, что привело к повышению <бла-бла-бла>", а получил кучу демагогии, из которой ничего не следует. Пичалька
И вообще, каким нужно быть идиотом, чтобы создав проект, и на опираясь С++, вдруг, резко ни с того ни с сего решить даунсемплиться в Си?
Когда я создаю проект я НЕ сразу принимаю решение, а решительно обдумываю всё.
И только после тщательного анализа ситуации выбираю то или иное средство.
Просто чаще всего С99 хватает за глаза. В "стопиццотый" раз повторяю:
у меня крохотнюсенькие проекты. использование С++ в них неоправданная роскошь.
Здравствуйте, org_256, Вы писали:
_>1. Большую часть времени я пишу для платформы с большим ограничением по пространству-времени. ( робототехника )
Это распространённое заблуждение, что код на C более быстр и менее требователен. Если важна эффективность, C++ легко позволяет писать более оптимальные программы чем C.
_>2. При написании игр долгое время приходилось поддерживать огромное число "слабых" машин. ( и да! можете убить меня, я пишу на голом WinAPI )
см. ответ на пункт 1.
_>3. C++ сам по себе ни плох ни хорош. Просто лично для себя я не нашел хороших аргументов, чтобы постоянно писать всё что ни попадя только на нём.
попробуйте изучить C++
_>4. Я использую и С++ как вариант подмножества Си в нём, почти не загружая код архитектурными излишествами, но часто сталкивался с кривой реализацией, и не возможностью поддерживать "чистый" Си ( без серьёзного допила )...
Очень интересно услышать примеры. И особенно дату(приблизительный год) этих примеров.
_>5. В большинстве моих проектов и задач использование С++ равносильно "стрельбе из пушки по воробьям".
Вы что-то путаете, C++ позволяет разрабатывать программы быстрее чем C, это касается даже мелких проектов.
_>6. Если я сталкиваюсь с непреодолимой необходимостью использовать С++ для нового пректа, я пониманию, что проект формализован криво и пробую перестроить его. Потому-что твёрдо уверен, что нет такой задачи, которую можно реализовать только на С++ ( я в адеквате, аргументы типа на С++ писать быстрей и проще тут не вариант )...
Выделенное — типичный аргумент (точнее не аргумент, а высказывание) blub-программиста.
Можно тоже самое сказать и про ассемблер, и даже про машину Тьюринга — на них можно реализовать любые задачи.
_>7. Если бы все мои задачи требовали быстрого решения и реализации и не были бы требовательны к скорости выполнения и размерам кода, то да, я бы стал использовать С++ постоянно, даже не смотря на то, что этот язык просто чисто физически не возможно выучить на все 100%.
даже выучив 50% C++, вы сможете делать более быстрые программы чем на C, либо более компактные чем на C (вообще одновременно максимальная компактность и максимальная скорость почти никогда не достигаются одновременно, в том числе и на C)
_>8. Аргументы вроде: на современных машинах вызов через один указатель или через указатель на на таблицу указателей не имеет значения, потому что скорость на современных машинах ничтожна мала и не ощутима даже в супер-пупер-тестах... — для меня не аргумент...
При чём тут вызов через указатель?
Там где необходимо сделать runtime decision в C++, его также необходимо сделать и в C.
Compile-time decision конечно быстрее чем runtime decision, но никто вас не заставляет делать runtime decision, где возможно compile-time. И кстати, C++ предоставляет намного более богатые возможности для реализации compile-time decision.
Ярким примером является сравнение std::sort (C++ style) vs qsort (C-style) — как вы думаете, что быстрее?
В std::sort как раз compile-time decision, а в qsort — runtime decision. http://www2.research.att.com/~bs/new_learning.pdf http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style
_>9. Аргументы вроде: На Си глобалы, код-лапша, легко насрать куда не нужно, что провоцирует трудновылавливаемые баги — тоже не аргументы. Баги есть даже в релизном коде многих успешных продуктов.
какие-то детские рассуждения.
То что баги есть во многих успешных проектах, ни капли не аргумент против того, что C++ позволяет писать программы с меньшим количеством багов (а значит быстрее).
При грамотном использовании C++ позволяет находить многие баги при компиляции, либо не делать их вовсе (по сравнению с C). Да, все делают ошибки, но при грамотном использовании C++ позволяет делать меньше багов чем C.
_>10. Аргументны типа: можно писать Cи-like коде в самом C++ — тоже не аргумент, довелось работать в таких проектах. Половина кода на кривом С++, половина на Си, большая часть кода — вообще сторонние библиотеки на С++ со своей, невообразимой семантикой. В результате куча костылей, граблей и прочей фигни.
Говнокод существует и в C проектах, и в C++ проектах.
_>11. Я пишу свой код один, все мои "заказчики" — конечные потребители, поддержка моего кода ведётся только мной. Код небольшой, сложность в пределах постигаемости в одно лицо.
C++ позволило бы уменьшить сложность ваших проектов и делать их быстрее.
_>12. Вся RMOS ( моя система для экспериментальных роботов-манипуляторов ) написана на С99. Далее LCC->AT89C51. ( лицензия есть ).
Как я писал ранее — отсутствие компилятора действительно может затруднять использование С++, но как я уже писал есть компиляторы транслирующие код C++ в код C.
Здравствуйте, org_256, Вы писали:
_>И вообще, каким нужно быть идиотом, чтобы создав проект, и на опираясь С++, вдруг, резко ни с того ни с сего решить даунсемплиться в Си?
Есть очень много причин, которые могут заставить сменить язык разработки. Для RT это можеть быть, например, несоответствие времени оклика необходимым значениям. И только идиот будет упорствовать и писать на заранее проигрышном для данной ситуации языке, зная, что это приведёт к краху проекта. Не?
Здравствуйте, ArtDenis, Вы писали:
AD>Здравствуйте, org_256, Вы писали:
_>>И вообще, каким нужно быть идиотом, чтобы создав проект, и на опираясь С++, вдруг, резко ни с того ни с сего решить даунсемплиться в Си?
AD>Есть очень много причин, которые могут заставить сменить язык разработки. Для RT это можеть быть, например, несоответствие времени оклика необходимым значениям. И только идиот будет упорствовать и писать на заранее проигрышном для данной ситуации языке, зная, что это приведёт к краху проекта. Не?
Вы говорите то же что и я только другими словами... Где смысл?
Вы читаете мои ответы другим переписчичкам? подозреваю что нет....