Thursday, October 25, 2007

Пятиминутка ненависти к C++

..на этот раз не моя, однако почитать другим пострадавшим будет довольно забавно. Автор — yousefk, видимо, годами записывал в книжечку все подлянки, которые ему устраивал C++, и в результате у него получился вот такой весьма объемный документ.

Называется это C++ Frequently Questioned Answers, и проезжается он практически по всем сколько-нибудь заметным фичам C++.

За основу взят широко известный C++ FAQ Lite, дополненный "альтернативными" ответами в среднеиздевательском тоне — то есть автор, к счастью, не совсем сваливается в непрерывное брюзжание (как я иногда), что сделало бы такой огромный труд невыносимо скучным.

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

8 comments:

Alex Ott said...

а нечего относиться к языкам так эмоционально. Пусть он на яве пишет, посмотрим что он про нее напишет :-)

semka said...

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

p.s. у Оруэлла, если отсылка к нему, была двухминутка ненависти (;

lrrr said...

Alex Ott> Да вот я тоже иногда эмоционально отношусь, я вот целыми днями на цпп по работе пишу, поэтому я человека понимаю :)

semka> Про пятиминутку ненависти откуда-то из подсознания непроизвольно всплыло, я ж вообще типичный дремучий программизд, читающий две художественные книжки в год %)

Ну да две минуты в данном случае и правда маловато.

migmit said...

Ммм...
Наудачу выбрал один пункт - input/output. Читаю:

Oh, now I get it - type safety is supposed to help the compiler catch errors. This is very important for people who never actually look at what they print

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

What on Earth prevents you from printing user-defined objects with printf?

Оно не prevents, просто печать собственных объектов через printf выглядит неконсистентно.

И так далее. C++, конечно, идиотский язык, но в этом FQA далеко не всё правда.

Anonymous said...

Довольно много фактических ошибок, если читать внимательно...

Yuriy Volkov said...

если вдруг еще не в курсе, то вот здесь
http://tdstir.com/10-2007_pyatiminutka-nenavisti-k-c.html
кто-то опубликовал украденную по видимому с этого блога статью. Впрочем там есть и статьи уведенные и с других блогов. Предлагаю придумать что-нибудь.

alexandroid said...

Яркий пример эволюционного развития при сохранении обратной совместимости?...

Anonymous said...

99% ненавистников просто не могут понять что такое указатели, ссылки, адресная арифметика, блоки и что на самом деле значит NULL (можно продолжать бесконечно)... Если человек не понимает как на самом деле представляются структуры данных, то он 100% возненавидит C и C++.