LINUX.ORG.RU
ФорумTalks

Чем так плох С++?


0

0

Постоянно натыкаюсь на форуме на высказывания типа "...разочаровался в С++...", "...ненавижу С++...", "...убить бы того,
кто его придумал..." и т.п. Сам только начинаю изучать С++, и хотелось бы знать недостатки С++, послушать здоровую критику, потому как не понимаю, почему в последнее время все обозлились на него. На гугле и в википедии ничего толкового не нашел, только теоритические высказывания, вытекающие из стандарта языка. А хотелось бы послушать практикующих опытных программистов, потому как эта нелюбовь, IMHO, приходит с опытом. И кстати, также наталкиваюсь на подобные высказывания в сторону ООП. "...разочаровался в ООП, посматриваю в сторону функционального программирования...".
Не ради флейма, хочу понять причины.

Ответ на: комментарий от anonymous

Ничего себе накатал. Значит _хорошие_ и _добрые_ люди ( и ты в их числе) ихбегают C++, а все сторонники (и я тоже) - люди плохие, глупые, подлые(?), неграмотные и т.п. Мы примерно к этому пришли? Так да? Я правильно понимаю? Оставим ядро Линукса (хотя то, что оно написано в каком-то смысле на подмножестве С++, уже(!) показательно), посмотрим на десктоп. Что ты значит хочешь сказать что ВСЁ KDE - это убогая пародия на то, каким всё должно быть на самом деле? Всё надо было на Лиспе переделать? Да что там КДЕ, взгляни ка вот сюда, на список тех, кто С++ пользуется хотя бы интереса ради http://www.research.att.com/~bs/applications.html Это что, все эти люди ошибаются? Они не ведают что творят? Можешь дальше катать всё что хочешь, мне просто уже влом с тобой спорить, да вообщем то и сказать то тебе по большому счёту нечего. Или ты поробуешь поднатужиться и обосновать, почему же все эти люди неправы? А не пукнешь от усердия? Короче души мой USB губами уже не помню какой раз. Ариведерчи.

eg0_dist0rti0n
()
Ответ на: комментарий от frame

>> Я не могу без мата видеть, как в одном языке употребляются И #define И const

> подумай, в чём разница между ними

И в чём разница между #define ANSWER 42 и static const int ANSWER = 42?

ero-sennin ★★
()
Ответ на: комментарий от watashiwa_daredeska

Да нет, не о том речь. Ты в самом начале писАл:

>А тут C++ встает костью в горле, т.к. очередная маленькая хотючка заказчика способна поставить раком всю стройную архитектуру, любовно вылизанную к текущему моменту.

Позволь я рассмотрю вот какой пример. Был у меня код, на С++ где шевелилась нейросетка с обычным многослойным перцептроном. Но - сделано всё было так, что скрытых слоёв можно было сделать только 2. Я вычитываю в www, что добавление лишнего слоя может в принципе поспособствовать улучшению обучаемости.(это не совсем так, но не суть) Вот и получилась такая ситуация, что как бы опа - новое уточнение постановки задачи, "новая хотючка", как ты говоришь. Так я буквально за один рабочий день обул всё в шаблоны, добавил рекурсию на создание каждого дополнительного слоя, проверил - всё работает как швейцарские часики. И у меня есть такое мнение, что если есть код на С++, уже нормально структурированый, разбитый на классы, то лопатить его намного проще, чем что либо другое. То есть речь о том, что по моим субъективным впечатлениям что если вдруг появляются новые требования, которые бъют по фундаменту проекта, лучше если всё слеплено на С++, - тогда как бы кирпичи после разлома - более многоразового использования. Короче, я такую мысль хотел донести, не знаю согласишься ты с ней или нет, тут у каждого конечно свой опыт. Я могу судить только по своему, и мне С++ катит.

eg0_dist0rti0n
()
Ответ на: комментарий от ero-sennin

ero-sennin@sweethome ~ % cat const.cpp
#include <iostream>

static const int ANSWER = 42;

int main()
{
        std::cout << "answer: " << ANSWER << std::endl;
        return 0;
}
ero-sennin@sweethome ~ % cat define.cpp
#include <iostream>

#define ANSWER 42

int main()
{
        std::cout << "answer: " << ANSWER << std::endl;
        return 0;
}
ero-sennin@sweethome ~ % make const define
g++     const.cpp   -o const
g++     define.cpp   -o define
ero-sennin@sweethome ~ % ./const
answer: 42
ero-sennin@sweethome ~ % ./define
answer: 42
ero-sennin@sweethome ~ % strip const define
ero-sennin@sweethome ~ % md5sum const define
6216aa1bd06b41f8e0ee26f64017bc5f  const
6216aa1bd06b41f8e0ee26f64017bc5f  define
ero-sennin@sweethome ~ % diff -s const define
Files const and define are identical

ero-sennin ★★
()
Ответ на: комментарий от ero-sennin

>И в чём разница между #define ANSWER 42 и static const int ANSWER = 42?

в размере

frame ★★★
()
Ответ на: комментарий от anonymous

>Придурковатый студентишко продолжает издавать звуки, даже после того, как ему доходчиво объяснили, чего стоят его убогие знания и тупые мозги? Ну, видать, совсем придурковат наш прибалцкий друкк.

Я думал LOR - это место, где люди высказывают свое мнение. Если бы каждый присутствующий здесь человек был таким же козлом, как ты, то LOR был бы черным экраном. Иди, побейся головой о вентилятор. P.S. Твои знания чего-то стоят? Откуда такая уверенность?

xTERM ★★
()

>Чем так плох С++?

Боян ???

robot12 ★★★★★
()
Ответ на: комментарий от Cris

> Для плюсов уже достаточно много библиотек

Библиотеки при желании подключаются почти куда угодно.

> На лиспе, мне кажется, будет медленно,

Всяко быстрее чем на С++

> да и реализации нормальный вроде пока еще нету.

Есть, навалом. Коммерческие и свободные, под РС и под ARM и кудаугодно.

bugmaker ★★★★☆
()
Ответ на: комментарий от eg0_dist0rti0n

> Поскольку на мой взгляд, неприятие с++ зачастую возникает постольку, поскольку человек начинающий изучение языка с полного незнания, случается начинает именно с трудов глубокоуважаемого создателя языка. При этом эти труды малопригодны для изучения с нуля. И неприятие возникает именно при попытке усвоить столь трудноусваиваемый материал.

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

anonymous_incognito ★★★★★
()


C++ замечательный инструмент, но при этом весьма сложный. отсюда и крики разочарованных.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от xTERM

К тому же, кто это мне объяснил, "чего стоят мои убогие знания"? Со мной многие согласились. Здесь масса людей, непереваривающих С++, Python и Mono. А таким как ты не остается ничего делать, кроме как оскорблять других и приводить заведомо ложные факты (как например твое последнее обзывательство). Хорош мутить воду. Человек нормальный указал бы ошибки товарища, объяснил бы толково (если конечно ты вообще знаешь, что отвечать). А пеной брызгают только неуравновешанные люди с манией величия.

Указание недостатков технологий им же на пользу идет. А от долгого облизывания задницы появятся волдыри.

P.S. Я в отличии от тебя не собираюсь никого оскорблять. Так что считай все выше сказанное дружеским советом.

xTERM ★★
()
Ответ на: комментарий от eg0_dist0rti0n

> в штатах тратили бешеные ресурсы на создание пишущей ручи.

Потому что бапки щитать умеют. Оплачивают обучение и работу высококлассных специалистов, которая очевидно окупается, и заодно развивают технологии. А нашенские по помойкам бутылки собирают, пока на верху бюджет пилят, приговаривая "а вы работяги выкручивайтес как умеете, вам задание дадёно, вот и найдите чем писАть, хоть Елду свою отрежте и в великое общее дело"...

bugmaker ★★★★☆
()
Ответ на: комментарий от klalafuda

> C++ замечательный инструмент, но при этом весьма сложный. отсюда и крики разочарованных.

Поэтому и крики, что _черезчур_ сложный, есть много мощнее и заодно намного проще.

bugmaker ★★★★☆
()
Ответ на: комментарий от klalafuda

> C++ замечательный инструмент, но при этом весьма сложный.

Излишне сложный.

> отсюда и крики разочарованных.

Наверное, ни по какому другому языку нет столько вопросов на форумах о том как, что-нибудь компилируется. При этом C++ позволяет делать некоторые весьма изощрённые штуки, например, меня восхитило недавно: http://www.rsdn.ru/forum/message/2337951.aspx проблема, что даже будучи гуру в языке и написав на C++ десятки, если не сотни тысяч строк кода, можно до конца не знать всех тонкостей.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от bugmaker

> Поэтому и крики, что _черезчур_ сложный, есть много мощнее и заодно намного проще.

а смысл? C++ вполне хватает для большинства прикладных и системных разработок.

вы мыслите слишком категорично aka "если где-то по слухам есть чуть-чуть лучше - все бежим туда!". это как минимум нерационально. если уже обжитый и хорошо проверенный инструмент? он устраивает? если да, то повода бегать туда-сюда нет.

ps: если судить по предложениям по работе, то C++ и отчасти Java конечно вне конкуренции. хотя и python несомненно набирает обороты. и AFAIR ни разу не видел, чтобы кто-то искал программиста с глубокими знаниями Lisp или Prolog. хотя наверное и такие есть но видимо очень редко.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от anonymous_incognito

> Излишне сложный.

об реальной применимости этого утверждения каждый может лишь судить сам для себя. кому-то сложны, кому-то нет.

> Наверное, ни по какому другому языку нет столько вопросов на форумах о том как, что-нибудь компилируется.

банальная популярность и масштаб распространённости?

> При этом C++ позволяет делать некоторые весьма изощрённые штуки, например, меня восхитило недавно: http://www.rsdn.ru/forum/message/2337951.aspx проблема, что даже будучи гуру в языке и написав на C++ десятки, если не сотни тысяч строк кода, можно до конца не знать всех тонкостей.

нет никакой разумной необходимости знать все тонкости C++. есть свои наработанные схемы? вперёд и с песней. впрочем, если стоит задача писать свой компилятор, то конечно лучше ознакомиться со стандартом. но для эффективной разработки этого не требуется.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda

> а смысл? C++ вполне хватает для большинства прикладных и системных разработок.

Не хватает. Просто то дурачьё, что его использует, об этом не знает.

> ps: если судить по предложениям по работе, то C++ и отчасти Java конечно вне конкуренции.

Предложения по работе - это для самых простеньких и маленьких, для начинающих кодеров. Для профессионалов вакансий ты не увидишь, их никто и нигде не публикует.

anonymous
()
Ответ на: комментарий от klalafuda

> C++ вполне хватает для большинства прикладных и системных разработок.

Какого-то Высокого Смысла действительно нету, поэтому С++ и используют. Но некоторые заведомо знают, что это же самое можно сделать одновременно быстрее, проще и надёжнее, оттого и "вопли разочарованных".

> вы мыслите слишком категорично aka "если где-то по слухам есть чуть-чуть лучше - все бежим туда!".

Почему по слухам и почему чуть-чуть? В флеймовом топеге "фраза о лиспе" я приводил реальные примеры, когда аналог лиспового решения в одну-две-несколько _коротких_ и понятных строк на С++ делалось в страницу-другую.

> это как минимум нерационально. если уже обжитый и хорошо проверенный инструмент? он устраивает? если да, то повода бегать туда-сюда нет.

хех, если бы так рассуждали макаки, человечества бы не было ._. Впрочем, эволюции свойственно останавливаться в самых неожиданных тупичках.

> ps: если судить по предложениям по работе, то C++ и отчасти Java конечно вне конкуренции. хотя и python несомненно набирает обороты. и AFAIR ни разу не видел, чтобы кто-то искал программиста с глубокими знаниями Lisp или Prolog. хотя наверное и такие есть но видимо очень редко.

Хм, взял ближаюшую газету, смотрю объявления о работе. Официанты в пивнушку, грузчики, офисменеджеры... Чёто Вы напутали, вакансий для С++ кодера неисколько не больше чем петоноеда иди даже программиста с глубоким знанием лиспа... Впрочем, даже если бы там было целый десяток, всё равно мне больше одного сразу не удалось бы занять. Понимаете, к чему я клоню?

bugmaker ★★★★☆
()
Ответ на: комментарий от klalafuda

> об реальной применимости этого утверждения каждый может лишь судить сам для себя. кому-то сложны, кому-то нет.

Дык он не субъективно сложный, а излишне сложный. Что кто-то справляется, а кто-то нет -- это понятно и верно для любого инструмента.

> нет никакой разумной необходимости знать все тонкости C++

Многие так думают, к сожалению. Оттого и всречаются в продакшн коде заморочки типа i=i++ + ++i и подобное.

bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker

> Какого-то Высокого Смысла действительно нету, поэтому С++ и используют. Но некоторые заведомо знают, что это же самое можно сделать одновременно быстрее, проще и надёжнее, оттого и "вопли разочарованных".

ну и прекрасно! и пусть делают, и замечательно. никто ведь не мешает им это делать, правда?

впрочем, и вы не оказываете никакого воздействия на выбор и использование C++ so по-идее все должны быть вполне довольны собой.

> Почему по слухам и почему чуть-чуть? В флеймовом топеге "фраза о лиспе" я приводил реальные примеры, когда аналог лиспового решения в одну-две-несколько _коротких_ и понятных строк на С++ делалось в страницу-другую.

читать флейм я начал как водится с последнего сообщения, уж не обессудьте. впрочем, охотно верю что так оно и есть.

> Хм, взял ближаюшую газету, смотрю объявления о работе. Официанты в пивнушку, грузчики, офисменеджеры... Чёто Вы напутали, вакансий для С++ кодера неисколько не больше чем петоноеда иди даже программиста с глубоким знанием лиспа... Впрочем, даже если бы там было целый десяток, всё равно мне больше одного сразу не удалось бы занять. Понимаете, к чему я клоню?

пардон, я не в курсе что пишут у вас в газетах [впрочем как и у нас]. я сужу о динамике предложений по работе по калифорнийским хантерам.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от bugmaker

> Многие так думают, к сожалению. Оттого и всречаются в продакшн коде заморочки типа i=i++ + ++i и подобное.

подобные заморочки встречаются от элементарной неграмотности и невнимательности. замечу, *элементарной*. по ним и около прошли уже легионы разработчиков, они подробно и вскользь описаны в сотнях публикаций и факов и если человек всё равно наступает на эти грабли, то чтение стандарта ему никак не поможет. тем более с трудом верится, что он в нем хоть что-то поймёт.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от eg0_dist0rti0n

> То есть речь о том, что по моим субъективным впечатлениям что если вдруг появляются новые требования, которые бъют по фундаменту проекта, лучше если всё слеплено на С++

Твои субъективные впечатления не подкрепляются достаточным опытом и знаниями. Ты не знаешь ничего, кроме C++, и в качестве примера приводишь задачку размером с детскую курсовую работу.

Я же утверждаю, что для двух реализаций, одна - на очень хорошем C++, другая - на абы каком Лиспе, при появлении фундаментально всё рушащих новых требований выживет реализация на Лиспе - в ней гораздо больше будет реюзабельного кода.

> Я могу судить только по своему, и мне С++ катит.

До тебя тут уже давно пытаются донести одну простую мысль - если ты не знаешь ничего кроме C++, то ты не имеешь никакого права судить. Вообще. Право судить имеют только те, кто знает И C++, и несколько альтернатив.

anonymous
()
Ответ на: комментарий от klalafuda

> ну и прекрасно! и пусть делают, и замечательно. никто ведь не мешает им это делать, правда?

Несомненно

> впрочем, и вы не оказываете никакого воздействия на выбор и использование C++ so по-идее все должны быть вполне довольны собой.

Верно, мы тут просто треплемся. И если человеку интересно, и он спросил, почему бы не выразить своё мнение?

> пардон, я не в курсе что пишут у вас в газетах [впрочем как и у нас]. я сужу о динамике предложений по работе по калифорнийским хантерам.

Вот и я про то же. Есть места, где ищут грузчиков, есть места, где ищут другое...

bugmaker ★★★★☆
()
Ответ на: комментарий от anonymous_incognito

>Если уж на то пошло, то изучать C++ стоит именно с книги Страуструпа У меня есть такое исключительно субъективное мнение, что всё же начинать изучение с него не стоит. Да и стандарт во всей его полноте больше нужен создателям компиляторов, чем рядовым и уж тем более начинающим пользователям. То о чём ты говоришь, это определённо маст хэв, как справочники, к которым стоит обратиться в случае возникновения неясностей. Но начать "погружение" прямо в Страструпа.. Не знаю.. Я помню когда начинал, отчётливо поймал такое примерно ощущение, как будто я пятикласник, пытающийся въехать в доказательство теоремы Коши, к примеру. А за спиной только школьная алгебра. То есть Страструп подаёт материал сразу изначально на высоком уровне. У него напрочь отсутствует так скажем плавность нарастания сложности. Нет возможности спуститься уровнем пониже, чтобы что-то прояснить. Я поэтому и упомянул, что для того чтобы именно въехать, есть хорошая книга Б.Му. А потом, конечно, можно и стандартом заняться.

eg0_dist0rti0n
()
Ответ на: комментарий от bugmaker

>> На лиспе, мне кажется, будет медленно,

> Всяко быстрее чем на С++

Я имею ввиду не писать, а скорость выполнения. Или лисп компиленный быстрее работает?

>> да и реализации нормальный вроде пока еще нету.

> Есть, навалом. Коммерческие и свободные, под РС и под ARM и кудаугодно

Можешь дать сцылку на свободную реализацию схемы и коммон-лиспа, желательно кроссплатформенную с заявленной скоростью(по сравнению с с++) в скомпилированном варианте?

Cris
()
Ответ на: комментарий от klalafuda

>> нет никакой разумной необходимости знать все тонкости C++

> подобные заморочки встречаются от элементарной неграмотности и невнимательности.

Верно, повышенные требования к внимательности - одна из сложностей работы с С++, а элементарная неграмотность как раз исходит из заблуждения что "все тонкости знать не надо" aka "ну дык вроде работает и пёс с им".

> замечу, *элементарной*. по ним и около прошли уже легионы разработчиков, они подробно и вскользь описаны в сотнях публикаций и факов и если человек всё равно наступает на эти грабли, то чтение стандарта ему никак не поможет. тем более с трудом верится, что он в нем хоть что-то поймёт.

Я ведь упомянул, что и подобные? Все по им ходют, и описано в сотнях публикаций, которые все читать более напряжно чем один-единственный стандарт на сколько-то страниц, и всё равно ходют и ходют, туда-сюда, ходют и ходют... Видите ли, на _мой_ личный взгляд, незнание в общих чертах чем отличается кодинг на С++ от кодинга на лиспе тоже входит в *элементарную* безграмотность, а знание приводит к очевидному результату. Так что же? Понятия о мере элементарности безграмотности у каждого свои, а результат -- тонны глюкавого невразумительного кода именно на С++. Вот и выходит, что С++ можно при желании пользоваться, никто не спорит. А спорят с тем, что нужно ли? И, всё познаётся в сравнении. Так вот, С++ замечательный инструмент, но в сравнении с ... он несомненно плох.

bugmaker ★★★★☆
()
Ответ на: комментарий от klalafuda

> я сужу о динамике предложений по работе по калифорнийским хантерам.

В дополнение к посту анонимуса выше.

Приятель приехал в Москву работу искать на Яве. Сначала пробовал звонить по объявлениям, а после этого выложил резюме. Через час ему уже позвонили. Через два он уже был на собеседовании и сразу устроился.

К вечеру ему позвонили еще раза три. После этого звонили еще в течении недели, пока он не убрал свое резюме.

Cris
()
Ответ на: комментарий от Cris

> Я имею ввиду не писать, а скорость выполнения. Или лисп компиленный быстрее работает?

Я тоже. В определённых условиях весьма быстро. За счёт оптимизации, для С++ недоступной из-за свойств языка, для достаточно больших участков кода выигрыш может быть в десятки раз в пользу лиспа. На простых примерах обычно как неоптимизированный С или примерно вдвое медленнее, что вполне достаточно.

> Можешь дать сцылку на свободную реализацию схемы и коммон-лиспа, желательно кроссплатформенную с заявленной скоростью(по сравнению с с++) в скомпилированном варианте?

Нащёт схемы не ведаю, а sbcl вполне хорош. Скорость зависит как от задачи так и от алгоритма. Тупо перенося алгоритм из одного языка в другой получиш малопредсказуемый результат, ибо компиляция, и следовательно качество кода результата будут сильно отличаться.

bugmaker ★★★★☆
()
Ответ на: комментарий от Cris

Это тоже не хедхантеры. Хедхантеры за конкретными людьми охотятся, переманивая их с прежнего места работы на новое. И уж известны эти люди, конечно же, не по CV.

anonymous
()
Ответ на: комментарий от Cris

> В дополнение к посту анонимуса выше.

как бы не разбирало любопытство, но религия не позволяет читать анонимные сообщения, уж звиняйте.

> Приятель приехал в Москву работу искать на Яве. Сначала пробовал звонить по объявлениям, а после этого выложил резюме. Через час ему уже позвонили. Через два он уже был на собеседовании и сразу устроился. К вечеру ему позвонили еще раза три. После этого звонили еще в течении недели, пока он не убрал свое резюме.

охотно верю

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от bugmaker

>Нащёт схемы не ведаю, а sbcl вполне хорош. Скорость зависит как от задачи так и от алгоритма. Тупо перенося алгоритм из одного языка в другой получиш малопредсказуемый результат, ибо компиляция, и следовательно качество кода результата будут сильно отличаться.

под винду, к сожалению, развивается крайне медленно, в остальном sbcl действительно рулит, кстати, я так понял ты игру на нем писать собрался(по диагонали читал, тк много, так что если ошибся - поправьте), не мог бы ты в процессе отписываться, действительно интересно, получится ли

cvb
()
Ответ на: комментарий от eg0_dist0rti0n

> Был у меня код, на С++ где шевелилась нейросетка с обычным многослойным перцептроном.

Сколько сущностей в модели этой предметной области? 2? 3? Не смешно.

> Так я буквально за один рабочий день обул всё в шаблоны, добавил рекурсию на создание каждого дополнительного слоя, проверил - всё работает как швейцарские часики.

Вот-вот, я о чем и говорю. Добавить слой -- целый рабочий день и перелопатить весь код.

> если есть код на С++, уже нормально структурированый, разбитый на классы, то лопатить его намного проще, чем что либо другое.

Что именно подразумевается под "другим"? Код в процедурном стиле? Ассемблерная каша с goto?

> если вдруг появляются новые требования, которые бъют по фундаменту проекта, лучше если всё слеплено на С++

Лучше чем что?

> кирпичи после разлома - более многоразового использования.

Ты, видимо, не видел кирпичей многоразового использования. А я не видел кирпичей многоразового использования в проектах на C++/Java/Delphi, сделанных по методикам OOD/OOP. Если кирпич для каждого повторного использования надо обтесывать, то это не кирпич многоразового использования.

watashiwa_daredeska ★★★★
()
Ответ на: комментарий от cvb

> под винду, к сожалению, развивается крайне медленно

дык венда не нужна, потому и медленно. Я её пёс его знает когда последний раз видел.

> кстати, я так понял ты игру на нем писать собрался(по диагонали читал, тк много, так что если ошибся - поправьте), не мог бы ты в процессе отписываться, действительно интересно, получится ли

да нет, вроде не собирался даже. Ибо с артом лично у меня будут проблемы, а для игры это главное.

bugmaker ★★★★☆
()
Ответ на: комментарий от watashiwa_daredeska

>Добавить слой -- целый рабочий день и перелопатить весь код. Не один слой, а возможность делать n слоёв, ну не суть. Ладно, я так чуствую тут мне приходится иметь общение с людьми из других весовых категорий. Человек с именем Господа Шивы в погоняле похоже профессиональный девелопер, для которого больной мозолью является выяснение отношений с прихотливым заказчиком, и которого весьма обременяет необходимость использовать в повседневной работе С++, который не столь гибок, как того хотелось бы. Всё-всё, я всего лишь клепаю задачки под себя, учить деда кашлять не буду. Только вот проясню свою позицию: когда мне в своё время пришлось выбирать среду разработки, чтобы решить кое-какие прикладные задачи, я остановился на С++. Освоил, сделал всё что хотел, и остался доволен своим выбором. И тут вижу, что автор топика интересуется "Чем так плох С++?" Мне захотелось человека приободрить, что мол ничем он особенно не плох, на нём можно самые разнообразные задачи решать, только учить его надо _начинать_ не по первоисточникам. И будет всё нормально работать. И тут такой кипеш: С++ ЭТО ГАВНО!!! Ну так извините, кому гавно, а кому и нормалёк. Что возражения будут, что только убогим это подойдёт? Пардон, статистика показывает что эта "мода" на С++ оправдана хотя бы потому, что создаётся большое количество разнообразных успешных, в том числе и с коммерческой точки зрения, проектов. Так что не надо. А анонимный брутальный Лиспер - это явно В.С.Л, я тебя узнал именно по причитаниям о том, что в России всё плохо, науку проторчали и т.п. Слушай, можно тебе личный вопрос: а чего ты так за это дело впрягаешься? И потом, похоже для тебя самым страшным ругательством является "ты не нужен обществу". А почему тебя так заботит судьба общества? Ты что считаешь что прогресс спасёт мир? Послушай, ты же как физик должен знать, что человечество привязано в Солнечной системе. Понта реализовывать термоядерный синтез на космических кораблях, которые бы унесли население к другим звёздам нету, потому что всё равно - Вселенная расширяется с ускорением, и догнать другие звёзды нельзя. А с Солнцем будет так, что оно когда прогорит - то станет расширяться и от Земли ничего не останется. Наука нужна была только до того момента, пока не стало ясно, что из этой ловушки нет выхода. Ты же как физик должен понимать. Так почему тебя вообще волнует именно научно-технический прогресс общества, если известно что это общество обречено. Я был бы очень признателен, если бы ты хотя бы вкратце обрисовал свою точку зрения на такое положение вещей. Спасибо.

eg0_dist0rti0n
()
Ответ на: комментарий от anonymous

>Плох тем, что он - ни рыба, ни мясо.

+1 Существует отдельное семейство быдлопрограммистов, пишущих "на Сях". Он пишут программу, в которой есть всего один класс, непонятно зачем нужный, и тыкают им захочется "<<". Получается натуральных код ни рыба, ни мясо... Для компиляции нужен Си++, а по сути программа на Си

2wanderer почитайте

http://absurdopedia.wikia.com/wiki/%D0%A1%D0%B8_%D0%BF%D0%BB%D1%8E%D1%81_%D0%...

и далее по ссылке "Интервью Bjarne Stroustrup"... Может и не смешно, но немного по теме :)

mky ★★★★★
()
Ответ на: комментарий от geek

>ну и жри. Другим-то зачем советовать? Отвечаю: тут видишь ли как в кулинарии. Кто-то съёл ложечку красной икры, и его стошнило. И соратников он себе при желании найдёт целый вагон, кто тоже себя при виде икры начинает плохо чувствовать. И всех любителей икры эти люди будут считать извращенцами, в лучшем случае. А кто-то бывает нераспробовал, и начинает спрашивать: а что это было? Вот я и дал совет, как можно потреблять продукт чтобы понять его правильно. Ничего что я образно выражаюсь? Доходит?

eg0_dist0rti0n
()
Ответ на: комментарий от eg0_dist0rti0n

> Понта реализовывать термоядерный синтез на космических кораблях, которые бы унесли население к другим звёздам нету
Термоядерный синтез есть вершина эволюции двигательных систем?

> потому что всё равно - Вселенная расширяется с ускорением, и догнать другие звёзды нельзя.
Неверное рассуждение.

> А с Солнцем будет так, что оно когда прогорит - то станет расширяться и от Земли ничего не останется.
Опять же неверное рассуждение.

Legioner ★★★★★
()
Ответ на: комментарий от geek

>как замечательно плюсы позволяют добавлять новые возможности - видно по четырехкратному (емнип) переписыванию движка оперы "с нуля".

Я гляжу тут и мухи слетелись на гав^Wмед...

Вот посмотрит он Lisp,Java,C++.... и выберет сам.

Metallic
()
Ответ на: комментарий от wanderer

> Т.е. если сказать проще, ЛОРовцы с жиру бесятся? :)

да, скорее всего. правда в случае с ЛОРом проблема не в самом жире как таковом, а в его конкретном местонахождении в организме. ну не место жиру в голове..

> Или действительно есть приличные недостатки, которые заставляют смотреть в сторону других языков?

отсутствие цели порождает броуновское движение. а дальше уже не важно языки это программирования, операционные системы или гей-парад в Москве.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от eg0_dist0rti0n

> Да KDE3 можно и под мак ос и под виндоус запустить(ч-з cygwnin правда, но это говорит только о том, что немного напильника и пойдёт ч-з mingw), так что переносимость налицо.

KDE не использует стандартную библиотеку шаблонов C++, не потому что им так хочется, а потому что непортабельно. Ваш пример крайне некорректен. NetBSD к примеру запускают на почти сотне архитектур, у которых общий момент только один - наличие MMU (да и то не у всех). Это не означает что "все архитектуры совместимы", это означает что "NetBSD пыхтели, пыхтели, и родили таки код, достаточно абстрактный для того, что-бы можно было его использовать на разных архитектурах".

> То что код для MSVC не пойдёт под другими платформами? Ну так ты определись - или ты делаешь всё под виндоус, и используешь эксклюзивные бонусы от MS, или выбираешь другой компилятор, поторый портирован под разные оси, и результаты будут везде одинаковые.

Речь идет не о "бонусах от MS", а о бональной совместимости базовых библиотек, независимых от системы, а так-же о "свободной реализации компилятора". Кстати, в том-же gcc куда больше "бонусов" нестандартизованных, чем в компиляторе msvc.

>>Ахтунг, среди нас..

>А нету тут никаких "нас". Это сообщение tet-a-tet. От меня к тебе.

Если ты не заметил, это форум, а не jabber. Тут есть много людей, среди которых один явно нетрадиционной ориентации, и этот один есть ты.

> И потом, почему такой пошлый ход мыслей? Я вообще за X-ами - подразумевал аббревиатуру USB.

Пернул и сразу в кусты? Да мне плевать, что ты там подразумевал. Если ты предлагает от***ать у тебя, не важно что, но предлагаешь мужикам, то значит что-то с твоей ориентацией точно не так.

anonymous
()
Ответ на: комментарий от eg0_dist0rti0n

> Ничего себе накатал. Значит _хорошие_ и _добрые_ люди ( и ты в их числе) ихбегают C++, а все сторонники (и я тоже) - люди плохие, глупые, подлые(?), неграмотные и т.п. Мы примерно к этому пришли?

не переводи стрелки.

anonymous
()
Ответ на: комментарий от eg0_dist0rti0n

>>ну и жри. Другим-то зачем советовать?

> Отвечаю: тут видишь ли как в кулинарии. Кто-то съёл ложечку красной икры, и его стошнило. И соратников он себе при желании найдёт целый вагон, кто тоже себя при виде икры начинает плохо чувствовать. И всех любителей икры эти люди будут считать извращенцами, в лучшем случае. А кто-то бывает нераспробовал, и начинает спрашивать: а что это было? Вот я и дал совет, как можно потреблять продукт чтобы понять его правильно. Ничего что я образно выражаюсь? Доходит?

Чувак тебе доходчиво обьяснил, что продукт он изучил вдоль и поперек куда лучше чем ты, т.к. сам практически компилятр написал. Выражаясь твоими терминами: он знает из каких продуктов сделан C++, и по этому не рекомендует никому его есть.

anonymous
()
Ответ на: комментарий от kto_tama

Вопрос мы тут закаляемся или программы пишем? То бишь мы студенты или разработчики?

В C++ как такового ООП нет. Есть его в smalltalk.

PS: C++ мне нравится. И нравиться начал после того как я им попользовался по самое небалуйся. Язык чертовски сложный и комплексный - но все сложности которые в нем есть - объективны. Если заново начать проектировать язык с теми же требованиями что предъявлялись к C++ - получилось бы то же самое. Может разве что синтаксис был бы попроще.

PPS: У C++ основной недостаток - это C-шные корни и наследие однопроходных компиляторов. Это же и достоинство.

eXOR ★★★★★
()
Ответ на: комментарий от eg0_dist0rti0n

> Вселенная расширяется с ускорением, и догнать другие звёзды нельзя.

LOL, под стулом, +1, чувак, ты где такую траву берешь????

Для справки: до ближайшей звездной системы, проксимы центавры, порядка 4.22 световых лет, или 3,992e+16 метров. Если построить двигатель, способный половину пути ускорять корабль с ускорнием в 1м/с^2, а оставшуюся половину - тормозить, с ускорением 1м/с^2, то на 1 половину (они эквивалентны) дороги уйдет:

t = sqrt(2*s/g) = sqrt(2*(3.992*10^16)/1) = 282559728 секунд = 215 земных лет.

Если взять получившееся время, 282559728 секунды, помножить на ускорение, получаем максимальную скорость 2.8*10^8 метров в секунду, близко, к c, но не на столько, что-бы погрешность от применения нерелятевистской механики была значительной.

Если ты считаешь, что за какие-то 4 сотни лет, расстояние до проксимы центавры сильно увеличится, то не пора ли тебе в школе опять поучится?

P.S. Если лететь с ускорением в 1.5g, то достичь проксимы можно и за куда меньшее время, порядка 100 лет, однако я не хочу перегружать твой маленький мозжечек релятивисткими формулами.

anonymous
()
Ответ на: комментарий от eg0_dist0rti0n

> Оставим ядро Линукса (хотя то, что оно написано в каком-то смысле на подмножестве С++, уже(!) показательно)

Учите матчасть. С не является подмножеством C++ уже с 99-ого года. Это по формальным неточностям. Программирование на C не является подклассом "программирования на C++", они различаются так-же, как и программирование на C++ отличается от программирования на хаскеле.

anonymous
()
Ответ на: комментарий от eg0_dist0rti0n

> Послушай, ты же как физик должен знать, что человечество привязано в Солнечной системе. Понта реализовывать термоядерный синтез на космических кораблях, которые бы унесли население к другим звёздам нету, потому что всё равно - Вселенная расширяется с ускорением, и догнать другие звёзды нельзя.

Я тоже физик, более того, имеющий отношение к термоядерному синтезу, скажу что ты ерунду сказал. Во-первых, достичь скорости порядка 100 000 км/сек. с использованием термоядерных технологий более чем реально, не существует принципиальных затруднений, даже скажем так, в виде пре-пре-альфа версии имеются (имелись, во всяком случае) некоторые разработки, правда только на бумаге. Разработки эти, ограничивались скоростями максимум 30 т.км/сек. но если бы они вдруг были реализованы, перейти к более высоким скоростям можно, основная проблема, что начинает не хватать даже скорости истечения высокотемпературной плазмы, чтобы получить удовлетворительное соотношение полезной массы/массы топлива.

Скорости около 100 т.км/сек. достаточно, чтобы у человечества появился практический интерес к осовению близлежащих звёзд, у которых уже даже найдены какие-то планеты. В частности, предположительно земного типа найдено на расстоянии всего 26 световых лет.

Но самое главное, что я уверен, с развитием науки должен быть найден способ преодолеть ограничение скоростью света на распространение информации и эти ограничения станут не фундаментальными, а всего лишь частным случаем. Ограничение это связано с параметрами нашей вселенной, но как знать, может физики, а затем и инженера сумеют копнуть глубже. К сожалению, к этой теме примазалась куча разных фриков и "ниспровергателей основ" с одной стороны и антинаучных догматиков, талдычащих, что скорости выше скорости света не может быть, потому что таковы постулаты, но от этого тема не исчезнет. Ещё каких-нибудь 100 лет назад никто всерьёз не рассматривал даже полёты на Луну.

anonymous_incognito ★★★★★
()
Ответ на: комментарий от eg0_dist0rti0n

>Оставим ядро Линукса (хотя то, что оно написано в каком-то смысле на подмножестве С++, уже(!) показательно)

спасибо, поржал

ЗЫ: Тузег, это ты что-ли? =) Пристрастие к оральному сексу тебя выдает с головой :)

geek ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.