Здравствуйте, Слава, Вы писали:
С>Здравствуйте, netch80, Вы писали:
N>>Вирт, кстати, часть этих огрехов Pascal исправил, создав Modula.
С>Вы забыли ещё про синтаксический оверхед написать.
Ну тут уже я на нём не настаивал, вопрос спорный. Если речь про то, что begin — end надо было бы заменить на {}, то да, есть такое. Но в линии Modula, Ada сделали иначе — например,
if условие then
тело
else
тело2
end
что по-своему тоже неплохо, хотя и заметно иначе. Главное — что скобки обязательны. Скобки типа {} сейчас обязательны в Go, Swift, ещё много где, и это хорошо (для C++ на текущей работе их форсируют через uncrustify).
Если про стиль объявления переменных, то я, наоборот, категорически везде хотел бы видеть
var x: int;
или пусть даже
var x int // Go
чем
int x;
потому что последнее хорошо только в простых случаях, а в сложных оно приводит ко всяким хитровывернутым
typedef int (*foo)(double)[3];
которые ещё надо уметь разобрать "изнутри".
То же про необходимость слов procedure и function (хотя можно было бы всё таки сократить до function, func, fn).
Если про слово div, то опять таки я за принципиальное разделение двух видов деления на уровне синтаксиса.
Собственно из оверхеда остаётся только ":=" вместо "=". Ну да, с простым "=" было бы лучше (а особенно когда в сочетании со всякими +=).