Re: [gnome-cyr] =?koi8-r?b?5tLFys3Xz9LLIHZzIOvB0svB0w==?=



On Wed, 25 Aug 2010 13:57:20 +0300
Leonid Kanter <leon asplinux ru> wrote:

> Непонятно - слово фреймворк уже окончательно втянуто в русский язык как
> перевод framework или всё же нужно переводить как каркас? см. 
> http://ru.wikipedia.org/wiki/%D0%A4%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%
> D1%80%D0%BA

Во-первых, на мой взгляд имеет место быть неверная постановка вопроса.
Речь идёт не о втянутости слова "фреймворк" в русский язык, но о
распространённости термина "фреймворк" в профессиональных кругах.

Во-вторых, я бы хотел высказаться по поводу альтернативных переводов.
Постараюсь ничего не забыть. Итак.

Каркас, остов, скелет, основа. Эти варианты не подходят по смыслу. Все
эти три слова означают нечто статичное, с чего можно начать стройку.
Фреймворк же -- это нечто большее чем "каркас" приложения. Фреймворк
позволяет создавать каркасы, развивать каркасы, получать законченные
приложения и, впоследствии, вносить в них изменения.

Оснастка. У меня оснастка ассоциируется с тем, что натягивается на
каркас. Скажем паруса, натянутые на мачты и реи. И если я прав, то это
опять не совсем то, что нужно.

Обвязка. То же, что и "оснастка". Обвязка -- это что-то не столь
существенное, накрученное поверх уже почти готового продукта. Скажем
"обвязка системных вызовов" -- будет означать скорее всего, некий набор
функций user-space библиотеки, который немного расширяет
функциональность доступную через системные вызовы, например,
обеспечивания user-space буферизацию данных, с целью минимизации
количества системных вызовов. И, кстати, слово "обвязка" уже
используется в профессиональной среде именно в таком смысле, то есть
пример, который я привёл, выдумав из головы, запросто может встретится
на практике. Очень похоже на библиотеку, но это скорее "маленькая"
библиотека, которая является неотемлимой частью одной программы. В
отличие, скажем, от libc, которая существует вне зависимости от
какого-либо конкретного приложения.

Платформа. Неудачно, ибо коррелирует с "программно-аппаратной
платформой". Можно найти аналогичные косяки переводов для примера,
скажем "stream" и "thread", "statement" и "operator", "character" и
"symbol". Все эти пары слов, как правило, переводятся на русский язык
так, что потом не отличишь первое от второго. Если выбрать для
framework в качестве перевода "платформа", то есть немалый риск
получить в дальнейшем ещё одни грабли лежащие на пути переводчика.
Насчёт того, что дотнет называют платформой, замечу что его называют
именно в смысле "программно-аппаратная платформа": наличие своего
процессора (пускай и виртуального) и количество библиотек вполне
позволяет назвать дотнет платформой.

Система. Абстрактно как-то... Тогда уж "система разработки
специализированных приложений". Или сокращённо СРСП. Хотя нет,
фреймворк не является законченной системой разработки приложений.
Значит "система поддержки разработки специализированных приложений",
или СПРСП.

Среда. Коррелирует с environment из Integrated Development Environment
(IDE). Совпадение в написании и произношении с днём недели, наверное
неважно, но и тем не менее оно тоже есть. А фреймворк -- это не IDE.
IDE -- это законченная среда для создания приложений, среда содержащая
с себе компилятор, компоновщик, систему сборки (build system),
специализированный текстовый редактор с подсветкой синтаксиса и удобной
навигацией по тексту программы, и кучу других утилит. IDE имеет много
такого, что как правило отсутствует во фреймворке. Кроме того, IDE
ориентирована на создание самого общего приложения, в то время как
фреймворк всегда специализирован на какой-то теме.

Инфраструктура. Это близко по смыслу. Использования в англоязычной
IT-литературе слова infrastructure в других смыслах, которые могут
пересекаться с framework я не упомню. "Инфраструктура для разработки
web-приложений Ruby On Rails хорошо зарекомендовала себя...". Неплохо,
по-моему. А? Меня смущает лишь одно: хоть infrastructure вроде и не
имеет никакого специального смысла в IT (не является IT-термином), нет
никаких гарантий, что это слово не станет общепринятым термином среди
IT-специалистов через два года. А если такое случится, то возникнет
очередная проблема перевода: как перевести слово infrastucture, чтобы у
русских IT-специалистов свободно владеющих техническим английским, не
возникло путаницы в голове при чтении переводов на русский. Моё мнение:
глупость переводить английское слово на русский, другим английским
словом, даже если оно уже заимствовано давно и прижилось.

Движок. Движком как правило, называют графическую библиотеку, как
правило 3D. В игровой индустрии очень распространён этот термин. Ах да.
Ещё ведь есть движок javascript, движок рендеринга html. Но все эти
примеры -- это примеры библиотек, но никак не примеры framework'ов.

Тулкит или набор инструментов. Фреймворк больше чем набор инструментов.

Моё (возможно неполное и/или неверное) понимание термина "framework"
таково: фреймворк -- это:
1. Набор соглашений об архитектуре (design) программы создаваемой на
базе фреймворка. Эта архитектура может затрагивать не всё приложение в
целом, а только ту его часть, которая работает в области специализации
фреймворка;
2. Набор библиотек, упрощающих следования п. 1 ("чтобы меньше писать");
3. Набор инструментов, которые призваны автоматизировать рутинную
работу программиста, связанную со следованием пункту 1.

Замечу, что пункты 2 и 3 необязательны. Но если во "фреймворке" не
будет ничего кроме первого пункта, то это будет не фреймворк, а
"архитектура", "паттерн" или ещё что-нибудь в этом роде. Отсутствие
третьего пункта, по-моему, возможно, но если мы глянем, например, на
библиотеку gtk+, которая накладывает определённые ограничения на
архитектуру клиентской программы, то увидим что никто не называет её
фреймворком.

Также, на мой взгляд, для фреймворка характерно то, что он пытается
увязать воедино несколько "технологий". Например, Ruby On Rails,
упрощает работу с СУБД, работу с шаблонами html/xml и взаимодействие с
http сервером. Кстати быть может эта особенность и исключает gtk+ из
списка фрейморков.

В общем, если хочется перевод согласно англо-русскому словарю, то
наиболее адекватным оказывается перевод "рамка", в том смысле, что
фреймворк своими соглашениями об архитектуре программы загоняет
программиста в рамки. Но я думаю, что такой смысл -- это не то, что
обычно программисты видят в слове framework.

ps. Приношу свои извинения, за "столькабукф", но мне действительно
показалось, что обсуждение пошло не в то русло. Адекватность перевода,
в данной ситуации, по-моему заключается в том, чтобы не пришлось
прилагать к GNOME русско-английский словарь, для тех, кто знает слово
"framework", но не знает что имелось в виду под словом "каркас". Ещё
существенно было бы, чтобы после каждого слова "платформа" не добавлять
в скобочках англоязычный термин, который был переведён таким образом
("platform" или "framework"), чтобы исключить разночтения перевода.

С уважением,
Тимофей.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]