LINUX.ORG.RU
ФорумTalks

C++ - некошерно, C - кошерно. Почему?


0

0

Решил тут поднять свой левел знания С/С++ дальше понимания синтаксиса и пр., т.к. с Pascal'ем в моем городе дальше хобби не "уехать" по всей видимости :) Ну и собственно начал практиковаться, переводя один свой проЭкт на С. Почему-то расстроило отсутствие аргументов по умолчанию, с трудом привык к работе со строками и пляскам вокруг ручного контролирования выделения под них памяти и т.д. Свыкся с разбивкой модулей на *.c/*.h(даже проникся)... в общем ладно, отошел от темы немного ) Хотел поинтересоваться, какие реальные аргументы на тему "С++ - УГ" можно привести? :) И будет ли извратом/некошерно использовать C++ не прибегая к использованию классов/STL/etc.?

ЗЫ: давно подобных тредов не было, лень искать старые.

★★★★

> Pascal'ем в моем городе дальше хобби не "уехать" по всей видимости :)
Тут поверхностно просматривал ADA синтаксис такой паскалевый, вообщем может обратишь внимание и привычнее и "круче" :)

splinter ★★★★★
()

На Си ты можешь написать своё KDE! Но на тулките Clutter.

wyldrodney
()

> Почему-то расстроило отсутствие аргументов по умолчанию

я очень надеюсь что сейчас идет речь не о аргументах функций С++, потому как "по умолчанию" там конечно же предусмотрено...

> И будет ли извратом/некошерно использовать C++ не прибегая к использованию классов/STL/etc.? 

использовать С++ без классов? да вы в своем уме?
а на счет STL, то использовать лучше только при острой необходимости, така как либка ужасная... 

fabregas
()

Да в принципе Торвальдс эту тему раскрыл, хотя и эмоционально. Соотношение профит/сложность в С++ самое плохое из всех языков вообще, при этом никаких рулезов которых можно ожидать от высокоуровневого языка в С++ нет. Поизучай Loki::Functor - каких усилий стоит сделать даже такую тривиальную вещь.

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

>> я очень надеюсь что сейчас идет речь не о аргументах функций С++,

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

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

ну я в курсе, что кака, это так, между слов просто добавил в список :)

Andru ★★★★
() автор топика

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

Не, конечно выучить слово "class" и "reinterpret_cast" может любой быдло-школьнег, однако написать код так, что его не заплюет более-менее опытный C++ разработчик -- для этого требуется как минимум пара лет непрерывной разработки на C++.

Так что C++ - это непосильная для быдла тягомотина, а C - простой язык, и дает ощущение крутости "я пишу на низком уровне, вай, я хакерЪ", которое в принципе проходит чере пару лет у любого C-кодера, когда они таки понимают, что C, в основном -- язык неудачников, если не считать kernel и очень низко-уровневого system девелопмента.

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

Забыл сказать -- на этом сайте тусуются в осномном те, кто плюсы не осилили

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

> Не, конечно выучить слово "class" и "reinterpret_cast" может любой быдло-школьнег, однако написать код так, что его не заплюет более-менее опытный C++ разработчик -- для этого требуется как минимум пара лет непрерывной разработки на C++.

согласен

> C, в основном -- язык неудачников


не согласен

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

> Так что C++ - это непосильная для быдла тягомотина

Кто не воюет с мельницами, тот лох и быдло (c) дон Кихот

a3
()

и правда, а чего не python? или произодительность критичней времени разработки?

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

Вы сказали все в грубой форме, но по сути я с вами согласен!
У С своя ниша, а вот когда начинают сравнивать плюсы з жабой или еще с каким то мраком, то тут ваши слова будут абсолютно к месту "С++ настолько сложен, что быдло его не асиливает."

fabregas
()

Некошерно.

>И будет ли извратом/некошерно использовать C++ не прибегая к использованию классов/STL/etc.?

Будет. Более того, смешивать процедурную и ОО парадигмы крайне некошерно. Так что либо пиши функциями на C, либо классами/методами на C++.

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

>> и правда, а чего не python? или произодительность критичней времени разработки?

Смотря что разрабатывать. Хотя даже софт я бы не стал писать на питоне.

Andru ★★★★
() автор топика

Потому как индусы пишут и много пишут на C++, но не могут ничего напейсать на pure C. Видать, особенность менталитете в Бангалоре такая.

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

> Хотя даже софт я бы не стал писать на питоне.

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

fabregas
()
Ответ на: Некошерно. от Camel

Да мне хватило бы и процедурной парадигмы, но вот не задача, в быдло-венде, к примеру, некоторые API на плюсах с быдло-COM'ом... Хотя все равно основной код будет процедурной оберткой над API.

Andru ★★★★
() автор топика

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

Bioreactor ★★★★★
()
Ответ на: Некошерно. от Camel

> смешивать процедурную и ОО парадигмы крайне некошерно. Так что либо пиши функциями на C, либо классами/методами на C++.

ыыыы... какая чушь

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

>> "даже софт"... а что бы на питоне стали писать? деревянные двери?)

да ничего не собрался ) "даже софт" написал потому, как занимался и разработкой игр :) А python не импонирует, как и любой другой интерпретируемый язык.

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

> Хотя даже софт я бы не стал писать на питоне.

Хм... а что еще на Питоне можно написать, кроме софта? Стихи? %)

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

А в чем тут Ксеноцефал aka Антихрист aka Маухуур не прав?

Недоязычок, который не приспособлен не для прикладных (для этого есть Java, Obj-C или C#), ни для системных задач (для этого есть pure C) - зачем он нужен?

Где "экологическая ниша" С++?

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

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

Есть еще понятие "инженерная культура", которое требует простоты.

>Не, конечно выучить слово "class" и "reinterpret_cast" может любой быдло-школьнег, однако написать код так, что его не заплюет более-менее опытный C++ разработчик

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

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

И в эти два года должна быть написано куча рака убивающего С++?

>Так что C++ - это непосильная для быдла тягомотина, а C - простой язык, и дает ощущение крутости "я пишу на низком уровне, вай, я хакерЪ"

Наверное это проекция. Хацкеры - зубрилки плюсы обычно предпочитают.

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

>Не, конечно выучить слово "class" и "reinterpret_cast" может любой быдло-школьнег, однако написать код так, что его не заплюет более-менее опытный C++ разработчик -- для этого требуется как минимум пара лет непрерывной разработки на C++.

вот только пока он эти пару лет будет асиливать С++ то самое быдло возьмет язык попроще и попродуктивнее и решит все задачи на порядок быстрее и лучше.

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

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

> Где "экологическая ниша" С++? 

Я вам отвечу: в софте, гдк важна производительность! и только там... в других сферах действительно использовать плюсы накладно...

p.s. Java,C# - уж очень не убедительно...

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

> для прикладных (для этого есть Java, Obj-C или C#)

Java - тормоз
Obj-C - сразу видно макофила, кроме Apple им мало кто пользуется
C# - привязан к ОС и потому не нужен

что же остается... может С++? :)

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

>ненависть и слюни с++-ненавистников доставляют :)

доставляет то, что ярые С++ утверждают что его на юзать везде, несмотря на все кривости и уродства реализаций конкретных алгоритмов

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

> доставляет то, что ярые С++ утверждают что его на юзать везде

врете, никто не пишет, что С++ надо юзать везде

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

>> Игры не софт???

в моем понимание это разные термины, уж так повелось, что разграничиваю понятия программы/приложения и игры :) Пускай и существует термин "игровое приложение", но сленговое "софт" ассоциируется именно с неигровым ПО.

Andru ★★★★
() автор топика

попробуйте сделать и использовать шареную библиотеку на C и на C++ и ответите для себя на один из важных вопросов.

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

Почему тогда не Pure C?

В каком конкретно софте "где важна производительность"? JVM? И всё?

Скажу по секрету - бимеры пытались пейсать OC на C++ (Taligent) - и кирдык проекту. Потому как тормоза были.

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

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

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

>Я вам отвечу: в софте, гдк важна производительность! и только там... в других сферах действительно использовать плюсы накладно...

а почему-бы не использовать скриптовый язык(Python/Ruby) с расширениями на С? Скорость работы будет не сильно медленее, зато скорость разработки и простота поддержки налицо

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

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

писали, пользовали - может объясните? а то не очень понятно, что у вас за трудности были

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

В каком конкретно софте "где важна производительность"? 

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

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

> Скажу по секрету

Дооо, это сикрет!!!111

> бимеры пытались пейсать OC на C++ (Taligent) - и кирдык проекту. Потому как тормоза были.

А на чем BeOS написана, не подскажешь?

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

вынужден констатировать, что вы говорите о вещах, в которых не очень разбираетесь

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

> Java - тормоз

Читайте внимательно - я сказал "прикладные задачи"

Есть много чего пейсать для мобил.

(И где это Java тормоз? Не enterpriZe серверах?)

> Obj-C - сразу видно макофила, кроме Apple им мало кто пользуется

Читайте внимательно - я сказал "прикладные задачи"

Есть много чего пейсать для iPhone/iPod

> C# - привязан к ОС и потому не нужен

Читайте внимательно - я сказал "прикладные задачи"

Есть много чего пейсать для коммуникаторов.

> что же остается... может С++? :)

В том то и дело, что задач под С++ остается не так уж и много.

Язык выбирается под задачу, а не задача под язык!

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

> Ниша ждет своего обитателя :)

разве она уже не занята? есть огромная куча прикладных программ на Qt/wxWidgets/gtkmm/FLTK/MFC etc.

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

>> бимеры пытались пейсать OC на C++ (Taligent) - и кирдык проекту. Потому как тормоза были.

>А на чем BeOS написана, не подскажешь?

Почитай правила кодирования для BeOS - там в основном огромное нагромождение костылей в потугах добиться бинарной стабильности.

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

> сервера с большой степенью нагрузки к примеру...

И что будет с тем "программистом", который предложит (только скажет проджет манагеру) пейсать сервер enterpriZe приложений на C++? Через сколько секунд уволят?

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

> Есть много чего пейсать для мобил.
> Есть много чего пейсать для iPhone/iPod

> Есть много чего пейсать для коммуникаторов.


LOL, вы наверное пишете для мобилок?

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

>> что же остается... может С++? :)
>
>В том то и дело, что задач под С++ остается не так уж и много. 

Да о чем вы говорите? как это не много?? "прикладные задачи" и это все что нужно разрабатывать? если у вас нет опыта разработки серьезных систем, то это не значит что их нет!

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