Технический перевод

Перевод технической литературы

Перевод технической литературы осуществляем давно и основным направлением в технических переводах уделяем переводу специализированной литературы. Хочу представить недавно проработанный заказ, связанный переводом одного из языков программирования Scala.

Заказчик впервые его заказал именно у нас и остался доволен, продлив с нами договор на на перевод всей книги.

Перевод текста

Глава 1

 Масштабируемый язык

 Название «Scala» происходит от «scalable language» (англ. масштабируемый язык). Этот язык был разработан таким образом, чтобы его можно было расширять, в зависимости от потребностей пользователя, отсюда он и получил свое название. Вы легко можете применять Scala для выполнения широкого круга задач: от написания небольших сценариев (скриптов),  до создания сложных систем.[1]

 Научиться работать со Scala – очень легко. В основе Scala лежит стандартная платформа Java, что позволяет эффективно взаимодействовать со всеми библиотеками Java. Scala прекрасно подходит для написания сценариев, объединяющих компоненты Java. Тем не менее, Scala можно гораздо более эффективно применяться для создания сложных систем и фреймворков повторно используемых компонентов.

 С технической точки зрения, Scala представляет собой смесь концепций объектно-ориентированного и функционального программирования в статически типизированном языке. Слияние объектно-ориентированного и функционального программирования проявляется в различных аспектах языка Scala и, вероятно, является более всеобъемлющим, чем в любом другом распространенном языке программирования. Два стиля программирования обеспечивают дополнительную мощность, когда речь заходит о масштабировании. Структуры функционального программирования в Scala позволяют быстро и легко составить небольшие программы из простых частей, в то время как структуры объектно-ориентированного программирования облегчают процесс создания более крупных систем и их адаптации, в соответствии с потребностями пользователя. Сочетание обоих стилей в языке Scala позволяет создавать новые виды шаблонов программирования и абстракций компонентов. Кроме того, Scala позволяет добиться более понятного и сжатого стиля программирования. Благодаря такой гибкости, программировать в Scala – одно удовольствие.

 Первая глава этой книги отвечает на вопрос «Почему именно Scala?». Вы подробно узнаете о структуре Scala и принципах ее работы. По прочтении главы Вы будете иметь общее представление о том, что такое язык Scala и какие виды задач он позволяет выполнять. Несмотря на то, что данная книга является практическим руководством к программированию в Scala, первая глава не входит в состав непосредственного руководства. Если Вам не терпится приступить к написанию программы в Scala, перейдите к Главе 2.

 1.1  Язык, который растет вместе с Вами

 Программы различного размера, как правило, требуют различных структур программирования. Рассмотрим, к примеру, следующую небольшую программу в Scala:

 var capital = Map(“US” -> “Washington”, “France” -> “Paris”)

capital += (“Japan” -> “Tokyo”)

println(capital(“France”))

 Данная программа создает массив, состоящий из стран и соответствующих им столиц, потом изменяет этот массив, добавив новую привязку  (“Japan” -> “Tokyo”), а затем выводит значение столицы, привязанной к стране France (Франция).[2] Обозначения, приведенные в этом примере, являются высокоуровневыми, все команды приведены по существу, и программа не перегружена излишними точками с запятой или сигнатурами типа. В действительности, такая программа напоминает современные языки написания сценариев, например, Perl, Python или Ruby. Общей для всех этих языков характеристикой, которая также относится и к приведенному выше примеру, является поддержка структуры ассоциативного массива в синтаксисе языка.

 Ассоциативный массив очень удобен, поскольку он позволяет сделать программы более понятными и сжатыми. Тем не менее, такой универсальный подход не всегда будет отвечать поставленным требованиям, так как в некоторых случаях Вам может понадобиться более детальный контроль над характеристиками массивов, используемых в Вашей программе. Язык Scala предоставляет такую возможность, поскольку используемые в Scala массивы не входят в синтаксис языка. Они представляют собой абстрактный тип данных библиотеки, которую Вы можете расширять и настраивать.

 В вышеуказанной программе Вы по умолчанию получите ассоциативный массив Map. Но это легко можно изменить, указав определенный вид реализации, например, HashMap или TreeMap, или же указав, что массив должен быть потокобезопасным (thread-safe), путем примеси трейта SynchronizedMap. Вы также можете указать значение массива по умолчанию или же переопределить любой другой метод создаваемого массива. В любом случае Вы можете использовать тот же синтаксис удобного доступа для массива, как в примере выше.

 На данном примере показано, что Scala – это одновременно удобный и гибкий язык программирования. В Scala имеется набор удобных структур, которые помогают Вам быстро приступить к работе и программировать в удобном и сжатом формате. В то же время, Вы можете быть уверены в том, что Вы никогда не выйдете за рамки языка. Вы всегда сможете задать для программы параметры, в соответствии с Вашими пожеланиями, поскольку язык Scala основан на библиотечных модулях, которые Вы можете, при необходимости, выбирать и настраивать.

 [1] Scala произносится, как «ска-ла»
[2] Не переживайте, если пока не разобрались во всех аспектах программы. Мы подробнее расскажем о них в следующих двух главах.

Технический перевод