LINUX.ORG.RU
ФорумTalks

[C++][Опрос] Откуда такая ненависть?

 ,


0

0

Очень большая часть ЛОРовцев не любит (ненавидит:)) С++. Вопрос: откуда такая ненависть? И ещё, очень интересно, многие ли из тех, кто говорит, что "С++ не нужен", осилили его? И наоборот, многие ли его изучившие, его ненавидят ) Просто по-моему, для средних задач он вполне приемлем, а для крупных проектов, в которых не последнюю роль играет производительность, С++ едва ли не единственное адекватное решение.

Итак, опрос:

1) С++ не нужен, не учил и не собираюсь

2) С++ не нужен, выучил

3) С++ иногда нужен, не учил и не собираюсь

4) С++ иногда нужен, не учил, но собираюсь

5) С++ иногда нужен, выучил

6) А что, есть другие языки? о_О

7) Что это?

1) С++ не нужен, не учил и не собираюсь

хотя яб не сказал что не нужен, просто мне до барабана, есть он или нет.

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

> хотя яб не сказал что не нужен, просто мне до барабана, есть он или нет.

Точно, ещё один вариант ответа:

8) мне пох

UnDeFiNeD
() автор топика

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

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

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

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

Имелось ввиду, что не существует задач, для которых важна производительность, или что есть более эффективные средства, чем С++ ?)

UnDeFiNeD
() автор топика

Программировал на Си++ 7 лет. Не программирую на нём уже около 6 лет. Ненависти к нему не испытваю. Желания программировать на оном - тоже. Сегодня это нишевый язык, крепко сидящий на своих задачах.

KRoN73 ★★★★★
()

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

Почему-то в крупных проектах Си++ сегодня почти не используется :) Почти все толстые решения сидят на Java.

Хинт: решения уровня KDE или Gnome - это средний уровень :)

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

> Почему-то в крупных проектах Си++ сегодня почти не используется :) Почти все толстые решения сидят на Java.

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

UnDeFiNeD
() автор топика

2. Давно не применял. И пока даже в будущем никаких поводов для использования плюсов личной мной не вижу.

edw1n ★★
()

2) частично

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

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

Фишка именно в скорости разработки и удобстве поддержки. Пусть Java будет даже вдвое медленнее, чем Си++. Но крупным заказчикам проще воткнуть несколько десятков лишних машин в кластер, чем ждать годы, пока сделают быстрое решение на Си++ :)

Я просветление получил под влиянием Андрея Черезова лет 10 назад. Предложил ему модификацию SP-Forth, которая увеличивала быстродействие на 10..20%. Так он ответил, что пока будет переписывать ядро системы и все машкодовые слова под эту модификацию, Intel выпустит процессор, который будет не на 10% быстрее, а вдвое :)

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

Да. Также, как писать GUI, например, или ядро системы. Так что я и пишу, что Си/Си++ - нишевое решение. Кстати, не являющееся, в общем, незаменимым в этих нишах, ибо есть более-менее прямые конкуренты, типа D, FreePascal, O'Caml и т.п., но тут уже сильно сказывается инерция рынка и мышления...

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

>> n) С++ знаю на уровне, программирую, нужен

++

Deleted
()

> И ещё, очень интересно, многие ли из тех, кто говорит, что "С++ не нужен", осилили его?

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

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

> Не программирую на нём уже около 6 лет. Ненависти к нему не испытваю.

Ну ещё бы. А вот попрограммируй. А лучше - займись поддержкой унаследованного кода. Вот тогда и возненавидишь.

anonymous
()


ненависть она всегда по определению происходит от незнания и ограниченности мышления.

// wbr

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

> Вообще-то для того, чтобы не любить C++, его надо хорошо знать и понимать

Разумеется)

> Так что большинство критиков (кроме тех, кто тупо повторяет за умными) C++ знают достаточно хорошо

Почему-то складывается обратное впечатление. Кажется ,что "тех, кто тупо повторяет за умными" на ЛОРе больше)

Хотя может они просто больше бросаются в глаза.

UnDeFiNeD
() автор топика
Ответ на: комментарий от KRoN73

> Почему-то в крупных проектах Си++ сегодня почти не используется :) Почти все толстые решения сидят на Java.

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

// wbr

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

> ненависть она всегда по определению происходит от незнания и ограниченности мышления.

+1

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

>можно привести пример а лучше несколько?

В процентах не измерить :)

>по моему опыту всё как раз выглядит противоположным образом и альтернативы C++ просто нет.

Можно ссылку на твои Си++ проекты, чтобы хотя бы объём оценить? :)

Java у нас, скажем, вот тут есть: http://trac.balancer.ru/fortress

Ни один эмулятор L2 на Си++ (а попыток реализовать было много, тем более, что задача даже не в написании с нуля стоит, а в переписывании работающих решений на Java) так и не дошёл до рабочего состояния.

На Си++ был написан эмулятор WoW. Но качество этого эмулятора вышло на голову хуже L2-шного :)

...

А ведь это примеры _мелких_ проектов.

Крупные - это, например, банковские системы с сотнями мегабайт исходных кодов. Знакомые, кто занимается их разработкой, при слове Си++ только усмехаются :)

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

> В процентах не измерить :)

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

> Можно ссылку на твои Си++ проекты, чтобы хотя бы объём оценить? :)

мне не жалко, я бы дал чес слово. но, боюсь, смысла это не имеет. все проекты коммерческие -> естественно они закрытые. вы не сможете пройтись по cvs, слить тарбал или поковыряться в исходниках если вдруг возникнет такое желание. давать же ссылка на конторы, под крылом которых реализовался тот или иной проект IMHO не особо информативно. ничего кроме общей и в большинстве случаев рекламной информации на сайте контор нет и оценить, чем же они реально занимаются изнутри по ней совершенно не представляется возможным. это обратная [конечно, ожидаемая] сторона медали коммерческих разработок :) впрочем, это мелочи на фоне плюсов которые они дают участникам [и это не только деньги].

> Java у нас, скажем, вот тут есть: http://trac.balancer.ru/fortress

> Ни один эмулятор L2 на Си++ (а попыток реализовать было много, тем более, что задача даже не в написании с нуля стоит, а в переписывании работающих решений на Java) так и не дошёл до рабочего состояния.

> На Си++ был написан эмулятор WoW. Но качество этого эмулятора вышло на голову хуже L2-шного :)

если честно, термин "эмулятор L2" по крайней мере мне ни о чём не говорит.

> А ведь это примеры _мелких_ проектов.

это действительно примеры ммм.. не очень больших проектов :)

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

поверьте, далеко не только банковские системы измеряют дерево исходников проекта сотнями мегабайт исходников :)

> Знакомые, кто занимается их разработкой, при слове Си++ только усмехаются :)

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

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

// wbr

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

>чем более опытен разработчик тем меньше он склонен к категоричным обобщениям

Именно так :)

Поэтому категоричность утверждения «альтернативы C++ просто нет» и смущает :D

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

> Поэтому категоричность утверждения «альтернативы C++ просто нет» и смущает :D

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

// wbr

klalafuda ★☆☆
()

2

Нужен бывает крайне редко. Даже когда пишу быдлоподелки на работу в ИДЕ С++ лабаю на чистом С.

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

>по крайней мере я её, альтернативу, пока что не встречал

Всё равно не вяжется с твоим утверждением про опыт и категоричность :)

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

>ненависть она всегда по определению происходит от незнания и ограниченности мышления.

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

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

> Всё равно не вяжется с твоим утверждением про опыт и категоричность :)

а что поделать? все проекты [>90%] были в конечном итоге реализованы на C++. некоторые начинались как C, но с ростом дерева исходников maintainability рано или поздно начинала резко падать и каждый раз лишь после перехода на C++ всё приходило в норму и проект опять мог расти дальше. зачастую переход сопровождался полным редизайном и переписыванием части проекта, но это всё равно было существенно проще и дешевле, нежели сопровождение пухнущей Cшной массы.

// wbr

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

> Re: [C++][Опрос] Откуда такая ненависть?

> Absurd * (*)

/me пошел за попкорном...

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

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

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

// wbr

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

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

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

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

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

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

зачем все эти долгие слова? так и скажите "нужно полностью уничтожить индустрию разработки системного и прикладного ПО а на руинах построить новую". просто и понятно.

// wbr

klalafuda ★☆☆
()

8) Просто использую

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

> Знаю С++ намного лучше чем он этого заслуживает.

корона не жмёт?

anonymous
()

6) Пишу на С++ еще с тех пор, когда он был даже не С, а Фортраном :-)

Программировать вообще не нужно - все написано до нас. (с) не помню кто, но кто-то известный.

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

> Java у нас, скажем, вот тут есть: http://trac.balancer.ru/fortress

быдлоL2, быдложаба, быдлокодеры... стройный и логичный ряд получается

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

Конечно, Windows+MSO — мелкое нишевое никому не нужное решение, а банковская система банчишки на 1,5 филиала — это крупно, ынтырпрайзно, глобально и надёжно. Никто даже и не спорит.

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

>Конечно, Windows+MSO — мелкое нишевое

Крупное но ОЧЕНЬ нишевое и очень древнее. А так - сама же MS всё в сторону .NET гребёт.

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

это малая часть рынка ПО. Есть еще заказные решения, которых гораздо больше. И вот там С++ сосет. А корпоративное приложение с охрененной кучей бизнес-процессов может быть посложнее сраного офиса. А веб-сервисы, а веб-приложения, доля которых очень большая и постоянно растет. А unix-серверах в этом случае рулит ява (+ обычно Oracle), а на видне естественно .NET. А С++ по сути самокат. Он может быть полезен только для маленьких говноутилиток и программулек.

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

>Он может быть полезен только для маленьких говноутилиток и программулек.

даже там он не нужен, т.к. те же обжект паскаль/жаба - проще...

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

> даже там он не нужен, т.к. те же обжект паскаль/жаба - проще...

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

// wbr

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

Бывают исключения. Пример - freetype. Разработчики сознательно использовали Паскаль, и только потом переводили на Си.

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

>Паскаль с точки зрения языка конечно идентичен C, но вот проблем с выбором компилятора и окружения будет не в пример больше, нежели с C

именно поэтому я и предложил как альтернативу жабу...

>а тем более C++ вдруг начнёт проект на Паскале

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

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

> Бывают исключения. Пример - freetype. Разработчики сознательно использовали Паскаль, и только потом переводили на Си.

ну, подозреваю, реализовывали в первую очередь на том, что знали а там уж жизнь заставила переписать на C, так как аудитория реализации на Паскале а тем более в первую очередь под *NIX системы исчезающе мала в сравнении с :)

// wbr

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