Здравствуйте, Chervyachok, Вы писали:
M>>Тогда зачем там слово procedure? Оверхед
C>У вас void (либо тип возвращаемой переменной) — что с того?
Ты топик (довольно старый кстати, нафига вообще было его поднимать?

) весь прочитал или просто ткнул "ответить" на случайном письме? Начинался он с того, что C++ обвинили в обилии "лишних" синтаксических элементов, не нужных, дескать, компилятору. Когда разумные аргументы о том, что на трудности компилятора программеру начхать, и куда важнее читабельность программы, не возымели действия — над оберонистами начали банально стебаться, указывая на бревна в их собственном глазу. Отквоченое тобой — один из таких примеров, не надо воспринимать его серьезно, никто не заставляет оберонистов выкидывать все "лишнее" из своего языка — пусть только не трогают чужие.
C>Служебные слова — это не шум, это должно быть отделено от творчества программиста тем или иным образом.
Нафига? Программист мыслит не "словами", а "предложениями" — строками и блоками кода. И далеко не всегда управляющие структуры языка играют в них основную роль — зачастую используемые модули и классы позволяют сделать что-то, полностью скрывая при этом реализацию. Скажем эти два фрагмента чисто технически могут делать одно и то же, при том, что во втором нет вообще ни одного служебного слова. И что в нем выделять?
1.
VAR
len : INTEGER;
i : INTEGER;
item : SomeClass;
BEGIN
len = collection.length;
FOR i := 1 TO len DO
item := collection.get(i);
IF item.isAccessible() THEN
process(collection.get(i));
END
END
END
2.
Iterator iterator = Iterator.create(...);
Filter filter = new AccessibleFilter(...);
Processor processor = Processor.create(...);
iterator.forEach(filter.filter(collection), processor);
Куда важнее ИМХО возможность выделения не "слов", а именно "предложений" — корректно расставленные отступы, например, или единый для команды coding-style. Но это-то как раз лежит за пределами использования цветовой подсветки и/или заглавных букв.