Саш, тут Linus Torvalds написал об использовании C++ в весьма колоритных выражениях типа bullshit и тому подобному... Ссылочку сходу не приведу, но написано было смачно...Shaos wrote:Засылай
CLASHA - Объектно-ориентированное программирование на Си
Moderator: Shaos
-
- Senior
- Posts: 180
- Joined: 28 Feb 2006 21:34
-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
Это наверно отголоски какой-то холливор... Не люблю когда ругают языки программирования.d_wanderer wrote:Linus Torvalds написал об использовании C++ в весьма колоритных выражениях типа bullshit и тому подобному... Ссылочку сходу не приведу, но написано было смачно...
Они всёж сделаны людьми и для людей.
Другое дело, что в большинстве они имеют некую направленность, но в принципе
на всём можно написать всё.
А всёж интересно было бы ссылочку глянуть. Читал я, что Linus Torvalds
высказался в том плане, что человек он обеспеченный и ему на многое плевать...
А тут...
-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
Не это ли??? (Нарыл по Гуглю: Linus Torvalds C++ bullshit)
Довольно давнее сообщение: Date: 2007-09-06 17:50:28 GMT
Кто-бы перевёл... весьма специфичный на разные "термины" текст...
http://harmful.cat-v.org/software/c++/linusLinus Torvalds on C++ wrote:*YOU* are full of bullshit.
C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.
In other words: the choice of C is the only sane choice. I know Miles
Bader jokingly said "to piss you off", but it's actually true. I've come
to the conclusion that any programmer that would prefer the project to be
in C++ over C is likely a programmer that I really *would* prefer to piss
off, so that he doesn't come and screw up any project I'm involved with.
C++ leads to really really bad design choices. You invariably start using
the "nice" library features of the language like STL and Boost and other
total and utter crap, that may "help" you program, but causes:
- infinite amounts of pain when they don't work (and anybody who tells me
that STL and especially Boost are stable and portable is just so full
of BS that it's not even funny)
- inefficient abstracted programming models where two years down the road
you notice that some abstraction wasn't very efficient, but now all
your code depends on all the nice object models around it, and you
cannot fix it without rewriting your app.
In other words, the only way to do good, efficient, and system-level and
portable C++ ends up to limit yourself to all the things that are
basically available in C. And limiting your project to C means that people
don't screw that up, and also means that you get a lot of programmers that
do actually understand low-level issues and don't screw things up with any
idiotic "object model" crap.
So I'm sorry, but for something like git, where efficiency was a primary
objective, the "advantages" of C++ is just a huge mistake. The fact that
we also piss off people who cannot see that is just a big additional
advantage.
If you want a VCS that is written in C++, go play with Monotone. Really.
They use a "real database". They use "nice object-oriented libraries".
They use "nice C++ abstractions". And quite frankly, as a result of all
these design decisions that sound so appealing to some CS people, the end
result is a horrible and unmaintainable mess.
But I'm sure you'd like it more than git.
Linus
Довольно давнее сообщение: Date: 2007-09-06 17:50:28 GMT
Кто-бы перевёл... весьма специфичный на разные "термины" текст...

-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
Хотя времени полно прошло. А Линус - фигура крупная - перевели ужо...
Линус Торвальс против С++
http://cplusplus.dshevchenko.biz/critiq ... lds_vs_cpp
Линус Торвальс против С++
http://cplusplus.dshevchenko.biz/critiq ... lds_vs_cpp
Линус Торвальдс wrote:C++ - ужасный язык. Еще более ужасным его делает тот факт, что его использует множество неквалифицированных программистов, причем там, где с его помощью проще всего создать полнейшее фуфло. Честно говоря, даже если язык C использовался бы только для того, чтобы держать в отдалении программистов на C++, это само по себе послужило бы достаточным оправданием использования этого языка.Другими словами, выбор языка C является единственным разумным выбором. Я пришел к выводу, что программист, который предпочел бы при написании какой-либо программы использовать язык C++, а не C, скорее всего, принадлежит к такому типу программистов, которых я бы предпочел выгнать вон, так, чтобы они не смогли прийти и испортить проект, которым я занимаюсь. C++ является причиной плохих проектных решений. Вы неизбежно начинаете использовать «изящные» возможности таких библиотек языка, как STL, Boost и другую подобную ерунду, которая может «помочь» вам программировать, однако добиваетесь этим только:
- бесконечного геморроя, когда они не работают (и каждый, кто скажет мне, что STL и, в особенности, Boost, стабильны и переносимы, просто несет полный бред, и это даже не смешно).
- создания неэффективных, оторванных от жизни программных моделей; в результате через пару лет вы замечаете, что некоторые абстракции не слишком эффективны, однако весь ваш код уже находится в зависимости от всех этих изящных объектных моделей, и вы не можете исправить его, не переписав при этом всё приложение.
Другими словами, единственный способ использовать хороший, эффективный, системный и переносимый C++ заключается в том, чтобы ограничить себя теми возможностями, которые в принципе доступны в языке C. Кроме того, использование языка C означает, что никто не испортит ваш проект, и вы сможете найти кучу программистов, которые действительно разбираются в низкоуровневых проблемах и не испортят все дело какой-нибудь идиотской объектно-моделируемой чепухой.
-
- Senior
- Posts: 185
- Joined: 07 Aug 2006 10:18
Да там смешная история была: в список рассылки git (система управления версиями) пришёл C++ программист и удивлённо начал вопрошать что-то типа "Вы пишите на C? Это же устаревший ужасный язык! Там нет наследования, шаблонов, перегрузки операторов. Вы используете макросы -- это же небезопасно Почему вы не пишете на C++? В нём так удобно работать со строками! А ну-ка переписывайте git на C++, или Страуструп обидится." Ну и так далее, в общем он нёс бред обычный среди C++-программистов. Ему предложили идти мимо, но он не понял, продолжал замусоривать список рассылки своими сообщениями. Тогда пришёл Торвальдс и написал что C++ это бычачье дерьмо. В списке рассылки после этого холивар достаточно быстро прекратился, но потом полгода C++-программисты по всему интернету писали в своих блогах записи типа "почему C сосёт у C++".Lavr wrote:А всёж интересно было бы ссылочку глянуть. Читал я, что Linus Torvalds
высказался в том плане, что человек он обеспеченный и ему на многое плевать...
А тут...
-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
Я как-то старался не влезать в холивары и мне даже казалось, что всеbar wrote:но потом полгода C++-программисты по всему интернету писали в своих блогах записи типа "почему C сосёт у C++".
повзрослели и всё кончилось... Но НЕЕЕЕТ!!!! Чисто для приколу ткнул
Гугл... всё НЕ кончилось... всё продолжается бесконечно...

Логикой убивает так, что даж смеяцца не хочется:

http://xakepy.cc/showthread.php?t=37335&pagenumber=С - да простят мне эту вольность - надассемблерный язык. Т.е. фактически картина такая: ассемблер - джидайский световой меч (чуток нето задел - и пис*ец), С - самурайский меч(в принципе можно рискнуть помахать - но без должной подготовки, готовся принять иудаизм), VB - бейсбольная бита. Очень по американски. Мощно , красиво, быстро, эффективно - но ! реально сосет против самурайского меча, не говоря уже о джидайском!
-
- Admin
- Posts: 24097
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Всё правильно Линус пишет
Вон в америке уже в некоторых университетах стали убрать ООП как обязательный предмет - ибо не учит параллельному программированию и т д
Вообще людей, которые с разу на C++ подсаживаются в качестве своего первого языка, к серъёзному программированию подпускать нельзя - у них башка снесена полностью...
P.S. По последнему линку несколько не то - там VB "воюет" с C/C++ (большинство людей до сих пор думают, что C и C++ это один и тот же язык)
Вон в америке уже в некоторых университетах стали убрать ООП как обязательный предмет - ибо не учит параллельному программированию и т д
Вообще людей, которые с разу на C++ подсаживаются в качестве своего первого языка, к серъёзному программированию подпускать нельзя - у них башка снесена полностью...
P.S. По последнему линку несколько не то - там VB "воюет" с C/C++ (большинство людей до сих пор думают, что C и C++ это один и тот же язык)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
Да ктоб с кем ни воевал - логика на уровне приведённой цитаты...Shaos wrote:P.S. По последнему линку несколько не то - там VB "воюет" с C/C++
Уважая посетителей форума и коллег, я не стал цытировать борцов
С - С++... Они... скажем так... более суровы в высказываниях.

Но если лично у меня есть кусок кода на С++ (или на чем другом),
который решает нужную мне проблему - то я его использую, не глядя
на мнения.
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Лично я не признаю никакие языки кроме нативного АСма под конкретную платформу и Васика для сложных вычислений и формул. В остальное время под х86 пишу на паскале, так как мне не трудно набирать токены полностью, а не тыцкать по одной клавише в погоне за ленью. И да, ЯВУ отличается от НЕ ЯВУ тем, что программа должна выглядеть понятным ЧЕЛОВЕКУ языком. Программа на бейсике понятна? Без сомнений. Программа на паскале тоже (человеку знакомому с английским). А вот на С, что означают эти закорючки и фигурные скобки?! И не говорите мне, что С - это ЯВУ... :3 Мое ИМХО, не обязано совпадать с вашим.
-
- Supreme God
- Posts: 16703
- Joined: 21 Oct 2009 08:08
- Location: Россия
И не рискнём, уважаемый. С - это кроссплатформенный ассемблер. Васиком онHardWareMan wrote:И не говорите мне, что С - это ЯВУ...
быть не обязан. А если уж говорить о ЯВУ - то что там говорили в ВУЗ-е?
В пределе оси развития ЯВУ, машина должна научиться понимать тебя со слов.
Щелкнул пальчиками - и сказал: "А налейка мне кофе!" А она - "Нет такого
оператора, ошибка компиляции, Сер!"
В этом плане что-то всегда вспоминается заставка к "Another World", когда
перец садится за трёхмерный терминал - а машина ему:"Бон джорно, профессуре!"


PS. Но в чем я с HardWareMan-ом бесспорно согласен, да и не мы с ним это придумали,
ЯВУ должен быть максимально близок к понятному человеку языку.
-
- Admin
- Posts: 24097
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
недавно в инете пролетало - пишу по памяти: чувак захотел научиться программировать игры - поставил студию, создал проект - написал текстом "симулятор игры в футбол" и чего-то у него оно не скомпилировалось и не заработало - подумал, что тупой компилятор...
P.S. лично я не признаю никакие языки - только программирование в кодах конкретного процессора
однако иногда бывает не хватает времени и приходится наступать песне на горло и мучать ассемблер с его буковками
но частенько лень пересиливает любовь к прекрасному (когда очень быстро надо получить работающую программу) - приходится писать на сях
P.S. лично я не признаю никакие языки - только программирование в кодах конкретного процессора

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

но частенько лень пересиливает любовь к прекрасному (когда очень быстро надо получить работающую программу) - приходится писать на сях

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Admin
- Posts: 24097
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Кстати я это сообщение почти сразу же тут в форуме процетировал - ещё в 2007 году:Lavr wrote:Не это ли??? (Нарыл по Гуглю: Linus Torvalds C++ bullshit)
http://harmful.cat-v.org/software/c++/linus
Довольно давнее сообщение: Date: 2007-09-06 17:50:28 GMT
Кто-бы перевёл... весьма специфичный на разные "термины" текст...
viewtopic.php?t=9479
P.S. Не понимаю людей, которые прикипели к Паскалю - как им не лень набирать все эти BEGIN-ы и END-ы...
P.P.S. Вобщем я для себя сделал вывод, что если хочется получить по настоящему переносимую программу - пиши на си. Я не спорю, что на С++ тоже можно писать переносимые программы, однако С++ компиляторов несколько меньше чем С компиляторв (что уже сужает рамки портабельности), ну и чтобы программа на С++ была переносимой между разными платформами и компиляторами, нужно использовать только очень узкое подмножество языка С++, причём оказывается, что всё тоже самое можно написать и на обычном С (см. начало топика) - тогда зачем гнаться за С++ с его фенечками и рюшечками?
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Banned
- Posts: 2139
- Joined: 20 Mar 2005 13:41
- Location: От туда
Вот именно: не лень. Более того, я на пасе (точнее дельфи, но можно и голом пасе) напишу нужную мне тулзу за полчаса, при этом если мне надо будет ИДЕ мне прекрасно поможет в отладке. Но как правило, мой код начинает работать в 95% случаев, некоторый сразу с первого набора и компиляции, без проверки на синтаксис даже (было такое, да)...Shaos wrote:P.S. Не понимаю людей, которые прикипели к Паскалю - как им не лень набирать все эти BEGIN-ы и END-ы...
-
- Admin
- Posts: 24097
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
ага, дельфи - мертвечина ещё таHardWareMan wrote:Вот именно: не лень. Более того, я на пасе (точнее дельфи, но можно и голом пасе) напишу нужную мне тулзу за полчаса, при этом если мне надо будет ИДЕ мне прекрасно поможет в отладке. Но как правило, мой код начинает работать в 95% случаев, некоторый сразу с первого набора и компиляции, без проверки на синтаксис даже (было такое, да)...Shaos wrote:P.S. Не понимаю людей, которые прикипели к Паскалю - как им не лень набирать все эти BEGIN-ы и END-ы...

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 185
- Joined: 07 Aug 2006 10:18
Нет, если программа пишется на понятном незнакомому с программированием человеку, то эта программа написана не на ЯВУ а на естественном языке, родном (или впоследствии изученном) для человека. К высокому уровню это не имеет никакого отношения. ЯВУ -- это несколько иное, это высокий уровень абстракции от единичек и ноликов при программировании.HardWareMan wrote:И да, ЯВУ отличается от НЕ ЯВУ тем, что программа должна выглядеть понятным ЧЕЛОВЕКУ языком. Программа на бейсике понятна? Без сомнений. Программа на паскале тоже (человеку знакомому с английским).
И при таком подходе паскаль приравнивается к C. Их уровень абстракции практически идентичен. basic -- какой басик имеется в виду? Тот на котором я писал в школе на БК-0010? Или что-то уровня Visual Basic? Visual Basic -- это тот же паскаль/C, но там ещё классы. Классы считают повышением уровня абстракции, поэтому VB будем считать уже уровня Delphi и Java. C++ я затрудняюсь куда-то приписать -- сам я им не пользуюсь, C++-программисты считают его венцом развития, поэтому оставим его в стороне. VB/Delphi/Java -- это, конечно, ещё не самый верх уровня программирования, куда можно залезть. Но в область всяких там лиспов я тоже не полезу.
Я лишь к тому, что не надо привязывать высокоуровневость языка к "фигурным скобочкам". Да, C -- это низкоуровневый язык, и он с гордостью носит неофициальное звание кроссплатформенного ассемблера. Но это вовсе не потому, что при создании C из алгола удалили begin'ы и end'ы, и заменили их фигурными скобочками.
Да все и так знают, что паскалисты любят паскаль по двум причинам, как раз по этим:HardWareMan wrote:Более того, я на пасе (точнее дельфи, но можно и голом пасе) напишу нужную мне тулзу за полчаса, при этом если мне надо будет ИДЕ мне прекрасно поможет в отладке. Но как правило, мой код начинает работать в 95% случаев, некоторый сразу с первого набора и компиляции, без проверки на синтаксис даже (было такое, да)...
1. они отлично знают именно паскаль;
2. им очень удобна IDE под названием Delphi.
Я несколько лет назад был вынужден связаться с паскалём, и писал на паскале в emacs'е. begin/end -- это всё фигня и мелочи. При желании можно заточить текстовый редактор, чтобы он менял {} на begin/end и не знать проблем. В паскале есть куча других раздражающих неудобств, от которых избавиться сложнее.Shaos wrote: P.S. Не понимаю людей, которые прикипели к Паскалю - как им не лень набирать все эти BEGIN-ы и END-ы...