А вы были на домашней страничке Бьярна Страуструпа?
Мне показался очень интересным раздел "Bjarne Straustrup's FAQ":
http://www.research.att.com/~bs/bs_faq.html
В частности:
Q: Что бы думаете о C#?
A: По поводу C# как языка -- без коментариев. Меня придется долго
убеждать в том, что миру нужен ещё один проприетарный язык (yet another
proprietary language -- YAPL). Особенно трудно будет меня убедить в том,
что миру нужен язык, тесно интергрированный с конкретной проприетарной
операционной системой.
Если хотите писать исключительно для платформы .Net, то C# -- не
худший вариант, но помните, что C++ -- хорошо поддерживаемая, хотя и не
такая раздутая, альтернатива.
Q: Почему Вы так ревностно относитесь к переносимости?
A: Успешные программные проекты живут долго. Нередко в течение
нескольких десятилетий. Хорошая программа часто переживает железо, для
которого она была создана, операционную систему, для которой она была
написана, СУБД, которую она использовала, и т. д. Часто хорошие куски
программ переживают компании, предоставляющие основные технологии,
используемые для их создания.
Часто пользователи успешних программных продуктов предпочитают
различные платформы. Множесто предпочитаемых платформ меняется вместе с
изменением людей. Привязываться к одной платфоме или поставщику означает
ограничивать потенциальное использование программы.
Очевидно, полная независимость от платфомы несовместима с возможностью
использовать удобства конкретной платфомы. Тем не менее, часто можно
достич платфоменной независимости используя для каждой платформы "тонкий
интерфейс", реализованный в виде библиотеки.
Q: Почему в C++ нет сборшика мусора?
A: Если вам нужна автоматическая сборка мусора, то для C++ есть много
хороших комерческих, а также свободно распространяемых сборщиков мусора.
Для приложений, где предпочтительно использование сборщика мусора, C++
-- это отличный язык с поддержкой сборки мусора и с производительностью,
которая хорошо соотноситься с производительстью языков со встроенной
сборкой мусора. По поводу дискуссий о сборке мусора в C++ можете
обратиться к книге The C++ Programming Language (3rd Edition).
Кроме того, C++ поддерживает техники программирования, которые
позволяют сделать управление памятью безопастным и прозрачным без
использоваиня сборщика мусора
(
http://www.research.att.com/~bs/bs_f...l#memory-leaks)
Q: Почему для C++ нет графическго интерфейса (GUI)?
A: Для C++ есть множество комерческих и поставляемых с исходным кодом
графических интерфейсов (Gtkmm, SmartWin++, V C++ GUI, FLTK и Qt). В
частности, постовщик каждой платфомы предоставляет C++-библиотеку, для
доступа к графическому интерфейсу. Проблема в том, что не существует
стандартного графического интерфейса, а это, действительно, большая
проблема.
Заметте, что предоставление GUI -- это как техническая, так и
политическая проблема. Существует множество графических интерфейсов и
множество пользователей, и, как правило, им бы не понравилось, если бы
какой-то не их графический интерфейс был бы объявлен стандартом.
Как бы ни было, у комитетов по стандартизации недостаточно ресурсов для
создания нового и лучшего графического интерфейса.
И ещё много-много интересных вопросов-ответов.