Цитата:
Сообщение от
Eldar9x
X++ такой же унылый язык, как и C#, хоть и удобный для своих задач.
Х++ - это во многом Domain Specific Language, а не язык программирования общего назначения, как тот же C#/Java/C++, так что их сравнение в плане "крутизны" или "унылости", по-моему, некорректно. А на счет "унылости" C# - это тема, наверно, не для этого форума.
Цитата:
Сообщение от
Мартынов Дмитрий
В языке X++ есть конструкция инкремента i++; Она взята из C++
Это спорный вопрос, если учесть, что X++ проектировался с ориентиром на Java
Цитата:
Сообщение от
Мартынов Дмитрий
но в оригинале она имеет два варианта: i++, ++i и суть этих вариантов заключается в том, что она может быть использована внутри другого оператора.
Это, строго говоря, два разных оператора, отличающихся приоритетом выполнения; изменения приоритета выполнения в большинстве случаев можно добиться в т.ч. и с помощью круглых скобок.
Цитата:
Сообщение от
Мартынов Дмитрий
В X++ таких вариаций нет. Конструкция i++; может быть использована только как самостоятельный оператор.
И слаба богу. Многие "возможности", перекочевавшие в тот же С++ из С, были, похоже, придуманы людьми, которых больше заботило число нажатий на клавиши, нежели читабельность и сопровождаемость кода. Отсюда же пошли и присваивания, разрешенные везде и всюду, в т.ч. в if, отсюда же потом пошли уродские конструкции вида if (константа == переменная_или_выражение) для обхода возможных опечаток, по которым в том же приложении Аксапты однозначно выделяется код, написанный людьми, далекими от Х++ (они еще после throw пишут ret = false)... В общем, как кто-то метко заметил, в С++ вы запросто "прострелите себе ногу", как только попытаетесь написать что-то сложнее "Hello, world!". По мне, так дополнительные ограничения иногда только на пользу. Эх, был бы еще X++ регистрозависимым (но без возможности создавать объекты, чьи имена отличаются только регистром букв), чтоб как назвали один раз объект приложения/оператор/функцию - так и пиши везде в коде, и НЕ фиГ кОвЕрКаТь регИСТР БуКВ!..