Дож писал(а):Можно же не останавливаться на 1 уровне, а пойти и ещё дальше: ошибкой компиляции обязать везде ставить скобки! Например, для выражений вида a * b + c выдать неаккуратному программисту «Fatal Error: Ambiguous operators order.»
чтобы таких ошибок избегать, используют
обратную польскую запись/нотацию к сожеланию, количество операций, основывается на синтаксисе языка программирования.
Даже если сравнивать паскаль и Си.
В Си операцией считается то, что в паскале не считается операцией.
Например, получение элемента из индекса массива или вызов функции.
Опять же в паскале, присваивание это выражение, а не операция как в си. (любимый патрон новичков if (c = 1) {...} )
В паскале почти нет унарных операций ( if not a then ... )
И пока что нет тринарного ? .. : ..
Но при этом язык, в техническом плане Си не уступает. (т.е. задачи решаемые на Си и на Паскале, одни и те же)
Т.е. если одну и ту же задачу, можно решить с меньшей нагрузкой (меньшим количеством приоритетов операции), то какую нагрузку лучше выбрать?
Дож писал(а):И как там, здорово писать программы на ассемблере?
до сих пор же пишут... почему-то. Или нет?
а ещё хуже, пишут ассеблерные реализации кусков алгоритма, в тех случаях, где возможности компилятора либо не дотягиваю.
Тут действительно вопрос в эффективности, и очень часто вопрос в эффективности исполнения операций.
(для fpc в частности это довольно больное место, которое последнее время получает всё больше и больше внимания)