Обращаю внимание на свежую сборку Блэкбокса, в которой были исправлены пара огрех, проявляющихся при работе с юникодными идентификаторами.
http://blackboxframework.org/unstable/m ... c1.581.zip
http://blackboxframework.org/unstable/m ... -setup.exe

Хотя юникодные названия констант, переменных, модулей и процедур поддерживались давно, переход на процедуры из контекстного меню происходил некорректно. Этот досадный недочет теперь исправлен.

Поддержка юникодных обозначений позволяет программировать на кириллице как в школьной сборке 1.5.

Кириллица часто избавляет от необходимости дополнительных комментариев в коде и создает дополнительный уровень абстракции, отделяя вызовы ваших модулей в коде от вызовов модулей каркаса. Так код становится более информативным, хотя требуется некоторая привычка, чтобы сломать психологический барьер, выработавшийся годами использования латиницы.

Небольшой пример ниже.
## Код:
```
MODULE ПередачаПример;
   
   IMPORT Log, Dialog, StdCmds, ПередачаПоследовательная;
   
   VAR
      соединение: ПередачаПоследовательная.Соединение;
      списокПортов*: Dialog.List;
   
   PROCEDURE ПробныйСтарт*(порт, скорость: INTEGER);
   BEGIN
      ПередачаПоследовательная.отладка := TRUE;
      NEW(соединение);
      соединение.Связаться(порт, скорость)
   END ПробныйСтарт;
   
   PROCEDURE Отправить*;
   BEGIN
      IF соединение.ПроверитьПорт("ECHOWHO ") THEN
         Log.String("Отправка прошла"); Log.Ln
      ELSE
         Log.String("Порт не годится"); Log.Ln
      END;
   END Отправить;
   
   PROCEDURE Отключить*;
   BEGIN
      соединение.Отключить
   END Отключить;
   
   PROCEDURE ВыбратьПорт*;
   BEGIN
      ПередачаПоследовательная.СписокПортов(списокПортов);
      Dialog.UpdateList(списокПортов);
      StdCmds.OpenToolDialog("Передача/Rsrc/ВыборПорта", "Выбор порта")
   END ВыбратьПорт;
   
END ПередачаПример.
```
