Во-первых, всех с новым годом етс.
По случаю чего даю ссылку на
Истинное Новогоднее Обращение Владимира Владимировича Путина (виа Зи) (мой моск, оказывается, основательно испорчен разного рода эмбиентом: я сидел, слушал и получал удовольствие. Там голоса!).
И ещё ссылку на
обращение Л. И. Брежнева по случаю нового, 1971 года (
виа Жмурри). Вот
(
Read more... )
плюсы страуструпа были серьезным достижением относительно си. И кста вполне отвечали заложенным требованиям.
Reply
Apparently this situation looks discouraging even from inside the C++ universe, as indicated by the following rather sad comment found in one of the header files of the GNU STL. You can probably decipher it, unless the 5 stupid things above have already faded from your memory:
// Note: In what follows, the left- and right-hand-side iterators are
// allowed to vary in types (conceptually in cv-qualification) so that
// comparison between cv-qualified and non-cv-qualified iterators be
// valid. However, the greedy and unfriendly operators in std::rel_ops
// will make overload resolution ambiguous (when in scope) if we don't
// provide overloads whose operands are of the same type. Can someone
// remind me what generic programming is about? -- Gaby
This could be amusing (an implementor of the standard library of a language complaining about this language in files delivered to users and all) if it weren't so mind-numbing. People who think they ( ... )
Reply
вообще, у C++ на мой взгляд есть два плюса (!):
- развитие C (шаги в сторону удобства нотации и безопасности типов и компоновки);
- некоторые полезные фишки из STL (контейнеры в основном).
алгоритмы STL -- это, конечно, ни разу не generic programming, а вообще уебство какое-то, которым пользоваться абсолютно нереально. :\
Reply
Единственная проблема в том, что очень тяжело удержаться на вменяемом уровне использования плюсовых фишек. Написал темплейт и появляются мысли, что нехило б его специализировать. И ещё что-нибудь сделать. И ещё. И вдруг обнаруживается, что ты уже очень далеко зашёл в ту стрёмную область, в которой эти пять правил выглядят откровенным издевательством. Или ты используешь библиотечку, автор которой совершил подобную ошибку (а они все этим занимаются постоянно). У С такой проблемы нет, почему-то, как и у многих других языков.
Reply
ну да, для удовлетворения собственной любознательности есть много красивых языков.
заниматься этим в промышленности (то есть с плюсами) -- откровенная глупость.
> Или ты используешь библиотечку, автор которой совершил подобную ошибку (а они все этим занимаются постоянно).
в этих библиотеках есть еще более страшные проблемы для промышленности.
реальный пример: невозможность заменить real-time signals на epoll при использовании PoCo C++ Libraries (сужу по отзывам коллег).
а ведь подобные PoCo ужосы используются для удобства!
о каком вообще удобстве может идти речь, когда у программиста по сути дела связаны руки?
зы: в C99 тоже можно объявлять локальные переменные где угодно. я именно помощь плюсов в развитии стандарта C имел в виду. :)
Reply
Reply
у меня gcc без опций объявления где угодно, кроме внутренностей for хавает. :(
хотя в C99 оно должно быть.
Reply
Этот ужас нарушает все пять правил.
Reply
понятно что с++ далеко не идеален, а развитие идей страуструпа до их логического завершения привело к абсурдной сложности простых вещей.
Но из собственного опыта. Когда мне в 94 пришлось на год забыть про ++ и сесть на голый Си. Даже не ансишный а еще K&R. Дорабатывал большой программный пакет для соляриса. Вот тут то я и узнал что такое счастье, но было поздно :)
Так что ++ имху честнее сравнивать с тем что было до него (а не то что после, мысль -- она не стояла на месте)
Reply
Leave a comment