Потому что очень много низкокачественных C++ программистов (перешедших с C), которые
верят в то, что C быстрее чем C++,
верят в void* и т.п.,
думают что C++ это раздутые OO-иерархии,
могли обжечься 20 лет назад об C++ и этот опыт имеет их до сих пор.
В результате, когда этот сброд слышит embedded, fast, system, kernel — они бездумно используют C.
На сегодняшний день я вижу только следующие места когда можно обоснованно использовать C, а не C++ :
1) Отсутствие компилятора C++
2) В API (причём это не сам C, а только C-style interfaces)
3) В распоряжении есть только программисты знающие C, но не C++
4) Необходимость ковыряться в уже написанном на C проекте
Потому что очень много низкокачественных С++ программистов (перешедших с С), которые
верят в то, что компилятор соптимизирует их монструозные конструкции на шаблонах,
верят в const, строгую типизацию и т.п.
думают что С++ это ООП язык,
могли не осилить 20 лет назад указатели и этот опыт имеет их до сих пор.
В результате, когда этот сброд слышит что-то — они бездумно используют С++.
Здравствуйте, Alexéy Sudachén, Вы писали:
AS>Дык, а как это обычно делается в С++? Используется соответствующий фреймворк/библиотека примитивов. Ну и я то же использую свой фреймворк.
В C++ есть стандарный фреймворк. Поэтому нельзя сказать "тоже".
vector<string> get_lines_as_strings(istream&);
Но у меня есть еще один вопрос, как сообщать об ошибке, если файл не прочитался или память не разместилась? Менять сигнатуру функции? Просто вернуть нулевой указатель недостаточно, если нужно различать между двумя причинами ошибки.
Здравствуйте, SilentNoise, Вы писали:
SN>Потому что очень много низкокачественных С++ программистов (перешедших с С), которые SN>верят в то, что компилятор соптимизирует их монструозные конструкции на шаблонах,
я хз что ты понимаешь под "ООП язык".
некоторые думают что ООП — это значит отсутствие free functions
SN>могли не осилить 20 лет назад указатели и этот опыт имеет их до сих пор.
Здравствуйте, Piko, Вы писали:
P>таки соптимизирует! http://eigen.tuxfamily.org/index.php?title=Benchmark
И не раздует при этом бинарник до космических размеров?
P>я хз что ты понимаешь под "ООП язык".
В гугл
здесь и ниже по ветке — взаимная пикировка с переходом на личности и прочим злом удалена. — Кодт
Здравствуйте, igna, Вы писали:
I>Есть тут кто-нибудь, кто предпочитает C вместо C++ хотя бы и для отдельных проектов?
I>Использую libxml2, это библиотека на C, и решил из интереса попробовать и свой модуль, непосредственно использующий libxml2, написать на C. Сначала оно было как бы неплохо, потом хуже. Возможно с непривычки, а есть здесь те, кто предпочитает C?
Для себя пишу сейчас на C99, мне нравится. Отношение к С++ мое можно выразить словами: "лишний член --- жопе непонятка". Писать, конечно, можно. Но только большую часть возишься с архитектурой, а не с логикой. Да, С тавтологичен, но большого неудобства это не доставляет: раз скопировал и забыл. Сильно не напрягает.
По работе и С, и С++. Но С++ весьма ограничен (kernel mode).
Здравствуйте, Mystic, Вы писали:
M>Для себя пишу сейчас на C99, мне нравится. Отношение к С++ мое можно выразить словами: "лишний член --- жопе непонятка".
Отлично, а можно попросить тебя тоже ответить на вопрос
As an example, to provide basic functionality for selected sparse matrix
types, the NIST implementation of the Sparse BLAS [18] contains over 10,000 routines and
a code generation system.
SN>думают что С++ это ООП язык, P>>я хз что ты понимаешь под "ООП язык". P>>некоторые думают что ООП — это значит отсутствие free functions SN>В гугл
http://lmgtfy.com/?q=oop+language
везде C++ упоминается.
я хз какое у тебе в голове понятие "ООП язык", поэтому попробуй его озвучить.
Здравствуйте, igna, Вы писали:
I>Здравствуйте, Alexéy Sudachén, Вы писали:
AS>>Встречный вопрос, это для разжигания флейма, или действительно интересно?
I>Это действительно интересно, потому-что хочу задать более конкрентые вопросы. Например, если функция должна разместить массив строк и вернуть его, как ты это делаешь?
Зависит от того, где и как будет использоваться. Предложенные варианты вполне годятся. Равно как и
Здравствуйте, igna, Вы писали:
I>Здравствуйте, Alexéy Sudachén, Вы писали:
AS>>Встречный вопрос, это для разжигания флейма, или действительно интересно?
I>Это действительно интересно, потому-что хочу задать более конкрентые вопросы. Например, если функция должна разместить массив строк и вернуть его, как ты это делаешь? Например:
I>
>> Не будет, ибо те средства абстракции, которые есть в С++ но отсутствуют в С, >> сделаны так монструозно, что приносят больше проблем чем профита.
MZ>Чё? чего сретства ? С++ прост как палка.
А кто сложен тогда?