|
Некоторые нюансы терминологии
В настоящее время еще не сформировалась русскоязычная терминология в области
объектно-ориентированного проектирования. С другой стороны сократилось время на
подготовку переводных книг к изданию. Возможно, поэтому перевод некоторых терминов
выполнен с некоторым искажением смысла. Ниже приведены термины, имеющие различное
толкование в английском и русском языках.
Programming - программирование, кодирование.
В английском языке programming соответствует этапу кодировки.
В русском программирование охватывает весь процесс разработки программного
обеспечения (ПО):
- анализ ( analysis ) [например, object-oriented analysis
(OOA)];
- конструирование ( design ): формирование моделей, описывающих работу ПО [например,
object-oriented design (OOD)];
- кодирование ( programming ): формирование программного кода [например,
object-oriented programming (OOP)].
Именно поэтому в книгах, посвященных OOP, авторы обычно ограничиваются
декларацией основных свойств OOP (абстрагирование, инкапсуляция, наследование,
...) и демонстрируют, как эти свойства реализуются на каком-либо языке программирования.
Учитывая, что разные люди придерживаются разных трактовок термина
программирование имеет смысл употреблять другие термины (например, термин
кодирование для этапа формирования программного кода).
Design - проектирование, конструирование.
В английском design соответствует этапу OOD (смотри выше).
В русском проектирование содержит две фазы: анализ (соответствует OOA)
и синтез (соответствует OOD).
Нередко подчеркивается, что разделить эти фазы четко нельзя. В англоязычной литературе
встречается термин OOAD (OOA&OOD), что
соответствует русскому термину проектирование.
Термин конструирование ( моделей ) лучше передает смысл английского
design. Поэтому его употребление вместо design предпочтительней.
Modelling - моделирование.
В OOAD modelling трактуется как описание (построение) моделей.
Русское моделирование обычно имеет оттенок испытания, натурного или численного
эксперимента.
Поэтому UML (Unified Modelling Language переводится как унифицированный язык
моделирования) надо понимать как унифицированный язык описания моделей.
Actor - актер, действующее лицо.
В английском actor - 'воздействователь' с оттенком активности.
В русском актер имеет смысл исполнителя, причем с оттенком пассивности (он
играет чужую роль, играть под чужую дудку и т.д.).
Термин действующее лицо несколько лучше, но содержит два слова.
При взаимодействии с системой actor выступает в одной или нескольких
ипостасях-ролях (role). Возможно поэтому в литературе actor
обычно переводится как актер.
Pattern - образец, шаблон, паттерн.
В английском pattern обычно толкуется как:
- шаблон, которому нужно следовать;
- пример удачного решения (пример для подражания);
- план действий.
В русском образец носит оттенок эталонности (образец для подражания) или
типичности (образец пород), т.е. потерян смысл примера ( примеров для подражания может
быть несколько, а эталон один ).
Использование термина шаблон для pattern вряд ли удачно, т.к. он уже
используется для перевода термина template.
Наиболее предпочтительно использование термина паттерн, т.к.
- данный перевод (паттерн) уже встречается в литературе по OOAD
(перевод GoF "Паттерны проектирования");
- термин паттерн уже существует в русском языке во многих прикладных областях
(архитектура, медицина, музыка, НЛП, ...);
- толкование этого термина паттерн в других областях очень похоже ( возможный
вариант, наиболее часто встречающийся вариант, ... );
- все другие варианты перевода этого термина являются не совсем удачными, т.к. имеют
уже некоторое привычное устоявшееся толкование, отличное от толкования термина
pattern .
Надеюсь, что приведенная информация поможет понять в нюансах то, что хотел сказать
автор до перевода.
|