Незаменимых — нет. Да, конечно, есть языки, которые создавали специально для упрощения программирования(например, SQL), но взаимозаменяемость сама по себе мифична. Нельзя приравнивать программистов по языку. Один разработчик БД будет стоить $120 000 в месяц, а другой $10 000 — насколько они взаимозаменимы?
Вопрос лишь в том, зачем тогда он создает свой язык? Все, мол, эзотерики, а он один сам себе герой? То он ругает «избранность», то тут же говорит о «великих», как-то двояко звучит…
Я так понимаю, автор считает нужным везде использовать универсальные плюсы, а все что не плюсы — эзотерика. А как насчет того, что профессиональный программист должен выбирать подходящий инструмент под задачу? Кто будет оплачивать лишние человеко-часы на программирование на плюсах, если задача оптимально решается на Lisp'e?
Оно приучает думать. И оптимизировать именно по заданным факторам. Это не значит, что нужно применять факторы, которые к данной задаче совсем не относятся.
R&D, наверное, что-нибудь еще новое фантастическое придумало и собирало данные для тестов, а спустя полгода-год появится какой-нибудь новый супергуглосервис, но работать в Германии начнет еще спустя пару лет :)
Именно в стандарте есть некоторая неопределенность:
The assignment operator(=) and the compound assignment operators all group right-to-left. All require a modifiable lvalue as their left operand and return the left operand as an lvalue. The result in all cases is a bit-field if the left operand is a bit-field. In all cases, the assignment is sequenced after the evaluation of the left and right operands, and before the evaluation of the assignment expression.
Но практически при вычислении такого выражения справа-налево и не сделать присваивание в ^= маловероятно. Во всяком случае, не встречал компилятора, который бы по-другому вычислял.
Решение на Java я смотрю аналогично.
The assignment operator(=) and the compound assignment operators all group right-to-left. All require a modifiable lvalue as their left operand and return the left operand as an lvalue. The result in all cases is a bit-field if the left operand is a bit-field. In all cases, the assignment is sequenced after the evaluation of the left and right operands, and before the evaluation of the assignment expression.
Но практически при вычислении такого выражения справа-налево и не сделать присваивание в ^= маловероятно. Во всяком случае, не встречал компилятора, который бы по-другому вычислял.