LINUX.ORG.RU

Правда про язык С++


0

0

http://hacknet.spb.ru/html/review/001/03_bjstrous.html

Некоторые цитаты:

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

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

Что вы об этом думаете? :(

★★★★

Были как-то уже "интервью" с Дэнисом Ритчи и (к стыду, забыл его) - разработчиками С - в таком же ключе...

Утка :)

"и мне пришла в голову небольшая идейка, как хоть немного восстановить баланс" - это что-то новое... он раньше не говорил, что его волнует Cobol, а брал все из Simula...

Почитал дальше - сплошной бред... Типа файл 'Hello world' на 2.1 Mb - в топку :) К Бьярни не имеет никакого отношения.

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

А мне кажется, что всё описанное в интервью является правдой. Или очень похоже не правду :-) С++ действительно очень сложный и запутанный, что есть плохо. Некоторые сишники ненавидят плюсы...

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

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

Насчет C - это как ненавидеть Perl, Python - каждый язык хорош для своего :)

Spectr ★★★
()

ХаХаХа!!!! Реально посмешили:) Статья для поднятия настроения программистов :) Вот интересно правда, не влом было комуто изгаляться и такую чушь придумывать:) Столько времени потерять! Лучшебы "Язык С++" почитал, толкубы было больше

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

>Selecter (*) (07.06.2004 11:27:35)

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

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

:)

Мучал кресты уже давно, привык. Недавно пришлось C вспоминать - оказывается, и там довольно удобно работать! Размер кода и простота конечно привлекают и впечатляют.

Несколько не в тему, но все же - в новых GCC как с поддержкой C99(или C98 - точно не помню)? Там много разных вкусностей... :)

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

>С++ действительно очень сложный и запутанный, что есть плохо.

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

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

> А например считаю сложным и запутанным перл.

Ну так у него и возможности несравненно бОльшие.

anonymous
()

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

ага, на C++ так и есть (1 и 2ое)

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

>ага, на C++ так и есть (1 и 2ое)
я буквально пару месяцев назад решал одну задачу с++
полностью с помощью объектов и решалась она логично и красиво

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

С++ - замечательный язык!

Вы не любите кошек, потому что не умеете их готовить (С)

А так ... конечно, вкусы разные, о них даже не спорят. Кому-то нравится одно, кому-то - другое. У простого С и у ++ есть много преимуществ и недостатков, у каждого из них. Так что бессмысленно сравнивать. Нужно сравнивать на конкретной задаче.

RomanU
()

Хоть это и шутка, но правдивая. Язык, описание которого тянет под 1000 страниц - не имеет права на существование, а его разработчику - место в дурке или на погосте. Сравнивать с описанием R5RS - образцом красоты и лаконичности.

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

Дурак ты. Сложность - это ОБЪЕКТИВНОЕ понятие, а не субъективное. 1000 страниц спецификации - это чрезмерная, неоправданная сложность. Отсутствие ортогональности в языке - неоправданная сложность.

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

>Сложность - это ОБЪЕКТИВНОЕ понятие, а не субъективное. 1000 страниц спецификации - это чрезмерная, неоправданная сложность. Отсутствие ортогональности в языке - неоправданная сложность.

Что такое 1000 страниц? Ты, наверное, не видел объемы документации, которые авиаторы перелопачивают... Сразу взмолился бы)


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

а теперь посмотрим как мы со всей этой херней взлетим:)

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

Сложность конкретного технического решения - это одно. А вот сложность ИНСТРУМЕНТА, да ещё и основного, повседневного - совсем другое. Сложность самолёта меня не испугает - на то он и самолёт. А вот молоток, который изучить так же сложно, как ремонт и эксплуатацию истребителя - в жопу. С++ - как раз такой молоток. Он НЕОПРАВДАННО сложный. И неортогональный. За что и должен быть уничтожен.

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

Та лана, хватит заливать.

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

Если с тем же JAVA сравнивать, то просто в С++ много лазеек для каждого конкретного случая, когда обходной путь будет дороже. Вот и получается 1000 страниц документации. Почитай Страуструпа, почему язык получился с такой документацией, там доходчиво у него объяснено, что все возможности не из пальца высасывались, а под конкретные задачи. Многие другие языки или спроектированы, чтобы быть с документацией на 10-ть страниц, или создавались под конкретные задачи, и производительность их далеко не оптимальная. А если тебе нужна максимальная производительность, то тут уж извини...

Хватит гнать на языки, особенно если не используешь их и не совсем понимаешь, зачем они сделаны. Я вот не использую Perl - дуже он запутан для меня, а в Python очень дорогие OO возможности в плане реализации... Так что же? Их тоже надо в топку выкидывать?

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

Antichrist говорит про то что ''задумываться'' о том что сделает a++ статемент это слишком лишнее ... все должно быть просто

Задумайзя о фразе - "Совершенно достигнуто не когда больше нечего добавить, а когда больше нечего убрать."

а читать стратустрапа нет смысла - так как он шизнутый дурень

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

Сложность конкретного технического решения - это одно. А вот сложность ИНСТРУМЕНТА, да ещё и основного, повседневного - совсем другое. Сложность самолёта меня не испугает - на то он и самолёт. А вот молоток, который изучить так же сложно, как ремонт и эксплуатацию истребителя - в жопу. С++ - как раз такой молоток. Он НЕОПРАВДАННО сложный. И неортогональный. За что и должен быть уничтожен.

Уважаемый Antichrist :) С++ - для меня, самый легкий язык программирования в мире :), и если вы с ним не знакомы, то это еще не повод делать столь однозначные и категоричные заявления. Вы просто выставляете себя дураком :)

Если не секрет вы вообще какой-нибудь язык используете?

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

>Дурак ты.

Вот умный человек так никогда не скажет:)

>Сложность - это ОБЪЕКТИВНОЕ понятие, а не субъективное.

Вы видимо познали абсолютную истину?? :)

>1000 страниц спецификации - это чрезмерная, неоправданная сложность

Эти 1000 страниц - пример хорощей документированности проекта и не более того :)

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

Никак не пойму что значит эта фраза %)

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

>Antichrist говорит про то что ''задумываться'' о том что сделает a++ статемент это слишком лишнее ... все должно быть просто

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

>Задумайзя о фразе - "Совершенно достигнуто не когда больше нечего добавить, а когда больше нечего убрать."

Сам попробуй задуматься. Тут двоякая философия:)

>а читать стратустрапа нет смысла - так как он шизнутый дурень

Ну вот и ты туда же. Ты с ним знаком?:)

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

Тупишь. В C++ возможности и средства НЕ СООТВЕТСТВУЮТ заявленной цели. В других языках есть всё то же самое, и даже больше - но реализовано на порядки проще. Нет такой путаницы и многократного дублирования, как в этом языке для тупых подонков - в C++...

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

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

> С++ - для меня, самый легкий язык программирования в мире

Ну, сударь, для некоторых людей верх кайфа, когда их бьют чем-нибудь тяжелым. Таких людей зовут мазахистами. В принципе, кто как хочет, тот так и дрочит, только С++ зачастую просто не нужен. Мне С+Python+Erlang+OCaml за глаза и за уши.

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

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

Я, к сожалению, вынужден его использовать. Но делаю это только в крайних случаях - когда невозможно использовать Haskell, ML, Scheme или CL, Python, Java, Plain C.

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

> С++ - для меня, самый легкий язык программирования в мире

навскидку:

enum eee
{
   e0 = -1,
   e1 = 1,
   e2 = 2,
   e3 = 0xeeeeeeee
};

чему может а чему не может быть равен sizeof( eee )?

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

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

Antichrist
()

2Selecter: Не знаю как расценивать этот твой пост. Как откровенную провокацию флейма? Или, извини уж, откровенную глупость? ИМХО больше на первое похоже...

Спор OO vs ВсеОстальное совершенно ни к чему не приведет. Каждая пародигма хороша для своих задач! Можно писать бизнесс-логику на lisp а логику первого порядка описывать на питоне, но это бред получиться.

Предлагаю тему закрыть.

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

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

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

>Оно и видно - мыслей нет, одни мосли... "Программисты" на C++ - весьма таки забавные обезьянки. Разум отсутствует, а на человеков при этом похожи (чисто внешне). Смешно!

Тебя видно в детстве обидели злые-коварные программисты на Си++ :) Кстати еще ни разу не видел ни одного программиста который использует только какой либо один язык программирования, обычно под разные задачи используют разные языки. Я например при кодировании модулей ядра использую C (угадай почему :)) А для реализации БИЗНЕС ЛОГИКИ :), конечно же C++. Ну и т.д....

Ты сам то к программированию хоть какое-либо отношение имеешь? Или школу еще не закончил? :)

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

> Я, к сожалению, вынужден его использовать. Но делаю это только в крайних случаях - когда невозможно использовать Haskell, ML, Scheme или CL, Python, Java, Plain C.

а пример подобной задачи можно? для которой требовался бы исключительно с++?

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

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

> В данном случае он однозначно равен sizeof(0xeeeeeeee ). Так на вскидку а вы знаете сколько это будет ?

Это тебе ржущая компания подсказала?

Он будет равен sizeof( 0xeeeeeeee ) только в том случае если бОльших интегральных типов просто нет. Ну или если компилятор нарушает стандарт. В типичном случае типичного компилятора на x86 -- sizeof( 0xeeeeeeee ) будет равен sizeof( unsigned int ), то есть 4. А sizeof( eee ) будет равен sizeof( long ) т.е. 8.

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

интересно что же это за типический компилятор на x86, который компилит так что sizeof(int) это 4, а sizeof(long) это 8, и что это за x86 на котором такое дело? нука колись ..

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

ну ладно, пусть он атипичный.

Допустим int 4 байта а long 8. Байт 8-битный:)

Тогда sizeof( 0xeeeeeeee ) == sizeof( unsigned int ).

С другой стороны в качестве underlying type для энума eee компилятор обязан выбрать long, а не int. Потому что он будет считать константу 0xeeeeeeee в определении энума беззнаковой -- а она вместе с -1 не влезет в int..

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

long и int на x86 это одно и тоже, а long long это вообще отдельная песьня - этот тип появился только в C99 насколько я помню

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

мне пофиг. В случае если long 8-байтовый то ответ kiv неверен. То есть он просто пернул в лужу.

Я в отличие от него не говорю что я суперспец.

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

>мне пофиг.

нафиг :)

> В случае если long 8-байтовый то ответ kiv неверен.

Ты биты и байты вообще различаешь, дитя?

>То есть он просто пернул в лужу.

У тебя второй ник случаем не Antihrist. Ато такой же бескультурный клоун получаешься:)

>Я в отличие от него не говорю что я суперспец.

Ты внимательней читай чужие посты, дружок:) Я не говорил что я суперспец. (хотя есть немного :) Я говорил что для меня С++ самый легкий язык, и не более того %)

kiv
()

Апологеты с++, вы наверно ничего слаще редьки не пробовали.. Был "высокоуровневый ассемблер" C, решили еще его на уровень выше поднять, получилась херня, потому что всё равно всё основывается на C и абстракциях уровня ассемблера. В большинстве других языков более совершенные абстракции, существенно упрощающие программисту жизнь (и не всегда за счёт производительности). А в c++ даже OOP плохо поняли ( Мейера почитайте), реализация genericity ужасная и нахрена он получается вообще нужен? Есть C для скорости, есть удобные языки (часто, с интерфейсом к C модулям), а c++ - уродский гибрид посередине. Писать на c++ конечно можно, но с возрастанием сложности он не слишком хорошо справляется, абстракции херовые, а для простых вещей вообще плюсов никаких нет (пардон за каламбур).

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

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

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

>> Antichrist говорит про то что ''задумываться'' о том что сделает a++ статемент это слишком лишнее ... все должно быть просто

> Мне кажется он просто пытается выпендриться за счет опускания другого. Вот пусть создаст язык которым будут пользоваться миллионы разработчиков, вот тогда и послушаем его :)

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

>> Задумайзя о фразе - "Совершенно достигнуто не когда больше нечего добавить, а когда больше нечего убрать."

> Сам попробуй задуматься. Тут двоякая философия:)

Конечно, фраза не простая и я ее приводил не для того чтобы сказать какой кастрат C и какой обдутый C++, дело лишь в том что с помощью сложного инструмента практически невозможно делать вещи ''без ошибок'', я не уважаю C++ потомучто написав софт на C++, я не могу сказать заказчику что "софт работает", ну не умею я врать :(

>> а читать стратустрапа нет смысла - так как он шизнутый дурень

> Ну вот и ты туда же. Ты с ним знаком?:)

в том то и дело что мне приходилось читать его бредни :(

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

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

Да не в OOП дело, хотя и оно там реализовано не самым лучшим образом. ООП не спасёт от кривости базового языка, это вообще несравнимые вещи. Алгоритмы то всё равно надо писать, и тут вы останетесь с языком, дружелюбным к машине, а не программисту. В принципе Antichrist всё по делу сказал.. если вам c++ лёгкий, вы его возможности поверхностно используете (что часто бывает), а тогда он весьма беспонтовый, сравнивая с другими языками, хотя и быстрый.

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

Совершенство достигается только к моменту полного краха. - К.Н. Паркинсон:)

>например фраза "ты пидарас" совсем но значит что тебя ебут в жопу грязные негры

То есть возможно что негры чистые и вовсе не негры:)? А что например по твоему эта фраза может означать:)?

> я не уважаю C++ потомучто написав софт на C++, я не могу сказать заказчику что "софт работает"

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

>в том то и дело что мне приходилось читать его бредни :(

Может у него просто нет литературного таланта:)???

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

>Да не в OOП дело, хотя и оно там реализовано не самым лучшим образом.

А вы можете привести пример языка где ООП реализовано лучше (желательно с аргументами) и на котором ведуться реальные проекты?

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

ИМХО весьма голословное заявление. Есть более дружелюбный язык? Если можно какой и за счет чего он более дружелюбен?

>поверхностно используете (что часто бывает), а тогда он весьма беспонтовый

Беспонтовый это как - пузьрьковая сортировка без шаблонов,исключений и работы над контейнерами?:)

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