Кстати, вот музыкой навеяло.
http://en.wikipedia.org/wiki/C++0xОхуеть.
Я вообще люблю С++ сентиментальной сыновьей программистской любовью, метапрограмминг всякий там, статические вычисления, но это уже пиздец.
Когда в языке одновременно а) перегрузка операторов б) ламбда исчисление в) библиотека boost::lambda, сделанная через перегрузку операторов - это как-то мммм... слишком хорошо. Т.е. не то, что бы очень плохо, но как-то осадок остается. Ну я не знаю.
Вообще, давно пора сделать язык типа "С++--". Изменить семантику указателей на аналогичную ссылкам в Java, вставить сборку мусора, вставить нормальную многопоточность, возложить на компилятор решение о статическом/динамическом выделении памяти под объект. И тогда наворачивайте сколько угодно систему типизации любой сложности и красивости, и наследование, и лямбды, и прочие высокоморальные и приятные штуки.
Но, блядь, нельзя сделать хороший язык и хороший оптимизирующий компилятор, когда тут lambda calculus, а там pointer arithmetics. Есть ощущение, что если бы я писал компилятор, то имел бы стойкое желание дать в бубен стандартизаторам: всякие итераторы и лямбды при современном уровне развития того же GCC, могут компилироваться в чудесно оптимизированный код, однако необходимость сохранять совместимость со старорежимной сишной дребеденью связывает руки. В итоге лямбда, то оно конечно лямбда, но память освободить не забудь.
Вспоминается анекдот про "мужчина, вы уже определитесь или туда или обратно".