Найти - Пользователи
Полная версия: Вывод видео
Начало » Флейм » Вывод видео
1 2 3 4 5 6
py.user.next
Shaman
Я могу ещё найти.
Например?
Shaman
Это всё не библиотеки питона
Вообще-то, пользователей у перечисленного больше, чем у питона. И появилось всё это совсем недавно. Так что ссылки на то, что мол это на C, потому что это старое и писалось тогда, когда C++ не был достаточно развит, не прокатят.
Shaman
py.user.next
Например?
Это издёвка? Nagios. Quake engine помер.
py.user.next
Shaman
Nagios. Quake engine помер.
Если брать времена Quake'а, то программ на C ещё больше можно найти.
Речь идёт о современных программах, которые пишутся на C.
Вот задайся для себя вопросом: а почему их не стали писать на C++?

Shaman
Это издёвка?
Ну, ты же пишешь, что C непригоден для современных программ. А потом вдруг оказывается, что ты просто не знаешь на чём написаны современные программы, которыми все пользуются. Значит, вопросом не интересовался и просто теоретически заливаешь.
Shaman
py.user.next
Ну, ты же пишешь, что C непригоден для современных программ. А потом вдруг оказывается, что ты просто не знаешь на чём написаны современные программы, которыми все пользуются. Значит, вопросом не интересовался и просто теоретически заливаешь.
Я где-то сказал, что сейчас ничего не пишется на C??? Нет! Я только выразил отношение к написанию на С. Кроме как для создания низкоуровневых штук он сейчас не пригоден. Кроме того, никто не возбраняет не использовать классы c++ там где они не нужны, отключить exception handling и продолжать пользоваться строгой типизацией, но “нет, мы крутые сишники и будем ходить по углям ради понтов!”, которые я и наблюдаю.
PS
Ты о GCC ничего не сказал. Наверное не в курсе.
doza_and
py.user.next
А потом вдруг оказывается, что ты просто не знаешь на чём написаны современные программы, которыми все пользуются
Ну это легко проверяется.

открываем http://sourceforge.net/directory/science-engineering/os:windows/freshness:recently-updated/
Область где я обычно пишу Science & Engineering Software.

И видим: java 1148, c++ 1085, c 549, python 524.
В играх лидирует c++ с большим отрывом. В системном администрировании с с++ почти равны.

С это подмножество C++ его используют когда нет возможности использовать компилятор C++ (таких ситуаций практически не осталось), Когда накладные расходы RTTI,Exception, iostream непозволительны. - узкая область это можно отрегулировать ключами компиляции. Когда исторически сложились сишные интерфейсы и архитектура приложения. Ну и самый частый вариант, когда квалификации разработчиков не хватает для использования С++.

Т.е. если вы начинаете новый проект, и у вас есть компилятор C++ то практически нет причин ограничивать себя подмножеством C. Другое дело что внешние интерфейсы желательно поддерживать простыми. Хорошая идея иметь чисто сишный интерфейс. Это существенно упростит взаимодействие с питоном например.

Возможно такая постановка вопроса вообще некорректна. В больших проектах очень часто используется несколько языков программирования одновременно.
py.user.next
Shaman
Ты о GCC ничего не сказал. Наверное не в курсе.
Я читал исходники ;) И решонал его. Он перевёл проект в сишном стиле, чтобы можно было использовать классы и шаблоны. А кто будет всё это переписывать на цппшный стиль? Правильно, никто.

Shaman
Кроме того, никто не возбраняет не использовать классы c++ там где они не нужны
Ты GTK вообще читал? Там ООПшная иерархия на чистом C.

doza_and
И видим: java 1148
Что ж мы на Java не пишем? Меня лично скорость не устраивает, не нравится, что окна долго открываются.

doza_and
В играх лидирует c++ с большим отрывом.
Сейчас игр не делают, на платформы лепят. Да раньше игры килобайтные были интереснее этих терабайтных.
Недавно скачал в стиме team fortress, при распаковке это ~15 гигабайт, а по сути - квейк. Только вот квейк у меня стоял в лине и весил 300 мегов, а это фуфло неинтересное - много-много гигабайт.

doza_and
c 549, python 524.
Все страницы, которые ты тут оправляешь, проходят через nginx. А как nginx стал таким популярным? Да очень просто - он качественный, а не какое-то фуфло на десять гигов.

doza_and
С это подмножество C++ его используют когда нет возможности использовать компилятор C++
C используют тогда, когда C++ нафиг не нужен, и очень часто так и оказывается. Преимущества C++ перед C сильно раздуты и преувеличены. У них и стандарты различаются, например int main() и int main() означают разные вещи. Редко бывает, когда цппшники это знают.

doza_and
Когда исторически сложились сишные интерфейсы и архитектура приложения. Ну и самый частый вариант, когда квалификации разработчиков не хватает для использования С++.
С квалификацией дело обстоит в обратную сторону. Про игры пример привёл. Как так получается, что реально никакая игра (в которой нет ничего) весит несколько гигабайт?
Кстати, Go, который сейчас делают Томпсон и Пайк, удивительно похож на C, но почему-то там даже классов нет, которые как бы везде есть. Оказалось, что классы можно сделать, не делая классы. Но для этого нужно немножко ума.

doza_and
Т.е. если вы начинаете новый проект, и у вас есть компилятор C++ то практически нет причин ограничивать себя подмножеством C.
А зачем мне C++? Да и не скомпилирует он сишный код. У них разные стандарты. К примеру, один и тот же код может не скомпилироваться, потому что в цппшном стандарте кое-чего нет:
int main()
{
void *p = 0;
int *n;

n = p;
n++;
return 0;
}
JOHN_16
py.user.next
например int main() и int main() означают разные вещи
видимо разметка съела некоторые символы, переделайте в тегах code пожалуйста
py.user.next
JOHN_16
видимо разметка съела некоторые символы
Нет. Именно это и имеется в виду. Это такая загадка для doza_and.
FishHook
py.user.next
Как так получается, что реально никакая игра (в которой нет ничего) весит несколько гигабайт?
Ну не код же эти гигабайты занимает, в самом то деле. Спрайты, звуки, текстуры, ролики и прочая графика, на этом сейчас никто не экономит, вот и гагабайты выходят.





doza_and
py.user.next
стандарте кое-чего нет:
Не кое чего нет, а более жесткие проверки типов. И поэтому много чего может не компилироваться. На практике много раз приходилось увязывать разные языки. В том числе затаскивал сишные коды для компиляции С++. Всегда приходится кое чего делать, но результат получается быстро и комплируется и сишным комплиятором и плюсовым. Если вы возьмете другой компилятор С то тоже будут аналогичные выкрутасы и потребуется корректировать код.

py.user.next
C используют тогда, когда C++ нафиг не нужен,
При этом вы можете использовать плюсовой компилятор, Я не знаю полезных свойств сишного компилятора которые отсутствуют в плюсовом компиляторе. Я в этом случае отбрасываю выбор сишного компилятора по причине - зачем использовать два когда можно использовать один компилятор. (Меньше надо помнить об особенностях языка проще билд система и т.п.) Понятно что мой выбор объясняется тем что в системе полно плюсовых частей от которых никуда не денешся.

Тут правда может возникнуть идеологическая дискуссия по поводу необходимости более строгой проверки типов. Сравните например Java и С. На мой вкус в Java перегнули палку, может на ваш вкус ее перегнули в C++.

По поводу ООП на С. Да можно сделать. Немного больше писанины, но это не принципиально. На мой вкус в C++ принципиально наличие template которые позволяют снизить ограничения накладываемые типизацией.

py.user.next
Преимущества C++ перед C сильно раздуты и преувеличены.
Ну тут надо привести ссылки на источники где это раздуто. Тогда и можно обсуждать. Иначе это утверждение не имеет смысла. В плюсовых проектах часто интерфейсы украшены “бантиками”. А в проектах на Java этих бантиков еще на порядок больше. Но это ведь больше от квалификации архитектора зависит а не от языка, хотя в C меньше техничексих возможностей создать эти бантики.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB