Skip to content

Commit

Permalink
Improve about/index page (ru) (#2032)
Browse files Browse the repository at this point in the history
Co-Authored-By: lex111 <[email protected]>
Co-Authored-By: Chayoung You <[email protected]>
  • Loading branch information
2 people authored and JuanitoFatas committed Apr 11, 2019
1 parent fa0136b commit 318297a
Showing 1 changed file with 39 additions and 39 deletions.
78 changes: 39 additions & 39 deletions ru/about/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ lang: ru
### Идеалы создателя Ruby

Ruby – это тщательно сбалансированный язык. Его создатель [Юкихиро
Мацумото][matz] (так же известный как "Matz"), объединил части его любимых
Мацумото][matz] (также известный как "Matz"), объединил части его любимых
языков (Perl, Smalltalk, Eiffel, Ada и Lisp) чтобы сформировать новый
язык, в котором парадигма функционального программирования сбалансирована
принципами императивного программирования.

Он часто повторял, что он "пытается сделать Ruby естественным, но не
простым" языком, который отражает жизнь.
Он часто повторял, что «пытается сделать Ruby естественным, но не
простым» языком, который отражает жизнь.

Основываясь на этом, он добавляет:

Expand All @@ -39,20 +39,20 @@ Ruby-Talk, основная [рассылка](/ru/community/mailing-lists/) д
стало использовать несколько тематических рассылок вместо одной общей.

Индекс [TIOBE][tiobe], который измеряет рост популярности языков
программирования, помещает Ruby на 9 место среди общепризнанных языков
программирования, помещает Ruby в десятку общепризнанных языков
программирования. Во многом, рост популярности языка приписывается
популярности программного обеспечения, написанного на Ruby, в
особенности – [Ruby on Rails][ror], среде разработки веб-приложений.
особенности – [Ruby on Rails][ror], фреймворку для разработки веб-приложений.

Ruby также [абсолютно открыт]({{ site.license.url }}). Открыт для бесплатного использования,
изменений, копирования и распространения.

### Всё в Ruby – объекты.

Вначале Matz рассматривал другие языки в поисках идеального синтаксиса.
Вспоминая свои изыскания, он говорил: "Мне нужен был скриптовый язык,
Вспоминая свои изыскания, он говорил: «Мне нужен был скриптовый язык,
который был бы более мощным, чем Perl, и более объектно-ориентированным,
чем Python."<sup>[2](#fn2)</sup>.
чем Python<sup>[2](#fn2)</sup>.»

В Ruby всё – объект. Для каждой частицы информации или кода могут быть
определены собственные свойства и действия. В объектно-ориентированном
Expand All @@ -74,7 +74,7 @@ Ruby также [абсолютно открыт]({{ site.license.url }}). От

Ruby очень гибкий язык, так как он позволяет его пользователям свободно
менять его части. Основные части Ruby могут быть удалены или
переопределены по желанию. А к существующие части можно модифицировать.
переопределены по желанию. А существующие части можно изменять.
Ruby старается ни в чём не ограничивать пользователя.

Например, сложение выполняется операцией плюс (`+`). Но, если вы хотите
Expand All @@ -95,17 +95,17 @@ y = 5.plus 6
Операторы в Ruby – синтаксический сахар для методов. Вы также можете
переопределить их.

### Блоки, по-настоящему выразительная конструкция
### Блоки по-настоящему выразительная конструкция

Блоки в Ruby также являются отличным источником гибкости. Программист
может добавить замыкание к любому методу, описывая, как этот метод
должен действовать. Замыкание называется *блок* и является одной из
должен действовать. Замыкание — это *блок*, являющийся одной из
наиболее популярных конструкций для пришедших в мир Ruby из мира императивных
языков программирования, таких как PHP или Visual Basic.

Создание блоков было вдохновлено функциональными языками
программирования. Matz говорил, "замыканиями в руби я хотел отдать дань
уважения культуре языка Lisp<sup>[3](#fn3)</sup>."
программирования. Мац (Matz) говорил, «замыканиями в Ruby я хотел отдать дань
уважения культуре языка Lisp<sup>[3](#fn3)</sup>.»

{% highlight ruby %}
search_engines =
Expand All @@ -124,7 +124,7 @@ search_engines =

В отличие от многих объектно-ориентированных языков, Ruby **намеренно** предоставляет
лишь одиночное наследование. Но Ruby также предоставляет концепцию модулей
(называемых Категориями в Objective-C). Модули – это коллекции методов.
(называемых «категориями» в Objective-C). Модули – это коллекции методов.

Классы могут свободно вмешивать модуль и получать все его методы.
Например, любой класс, который реализует метод `each`, может подмешать
Expand All @@ -144,14 +144,14 @@ end
### Визуальное представление Ruby

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

* `var` может быть локальной переменной.
* `@var` переменная объекта.
* `$var` глобальная переменная.
* `var` может быть локальной переменной.
* `@var` переменная объекта.
* `$var` глобальная переменная.

Данная символика повышает читабельность, позволяя программисту легко
идентифицировать роль каждой переменной. Это также позволяет не
Expand All @@ -164,12 +164,12 @@ Ruby полон другими особенностями и конструкц
* В Ruby есть конструкции для обработки исключений, как в Java или Python,
которые позволяют проще работать с ошибками.

* В Ruby представлен настоящий mark-and-sweep (пометь и отчисти) сборщик
мусора для всех Ruby объектов. Не нужно вручную отслеживать количество
ссылок в сторонних библиотеках. Как говорит Matz, "Это полезней для
вашего здоровья."
* В Ruby представлен настоящий сборщик мусора типа mark-and-sweep
(пометь и отчисти) для всех Ruby0объектов. Не нужно вручную отслеживать
количество ссылок в сторонних библиотеках. Как говорит Matz,
«Это полезней для вашего здоровья.»

* Писать расширения на C в Ruby проще чем в Perl или Python при помощи
* Писать расширения на C в Ruby проще, чем в Perl или Python при помощи
очень элегантного API для вызова Ruby из C. Он включает в себя вызовы
для встраивания Ruby в программное обеспечение, чтобы использовать его
как скриптовый язык. Также доступен интерфейс SWIG.
Expand All @@ -179,40 +179,40 @@ Ruby полон другими особенностями и конструкц

* В Ruby реализованы независимые от операционной системы потоки.
Таким образом, на любых платформах, где вы запускаете Ruby, вы также
имеете возможность использовать многопоточность, не зависимо от того,
можете использовать многопоточность, не зависимо от того,
поддерживает ли данная система потоки или нет. Вы можете использовать
возможности многопоточности даже в MS-DOS!

* Ruby отличается высокой переносимостью: он был разработан большей
частью на GNU/Linux, но работает на многих типах UNIX, macOS,
Windows, DOS, BeOS, OS/2, и так далее.

### Другие имплементации Ruby
### Другие реализации Ruby

Ruby как язык имеет несколько разных имплементаций. Данный сайт
посвящен имплементации **MRI** ("Matz's Ruby Interpreter" – Ruby
Ruby как язык имеет несколько разных реализаций. Данный сайт
посвящен реализации **MRI** ("Matz's Ruby Interpreter" – Ruby
интерпретатор Матца) или **CRuby**, но также существует несколько
других. Они бывают очень полезны в различных ситуациях, предоставляют
большую интеграцию с другими языками или окружениями, или имеют
возможности, которых нет в MRI.

Список имплементаций:
Список реализаций:

* [JRuby][jruby] это Ruby реализованный на JVM (Java Virtual Machine),
использует оптимизированный JIT компилятор, сборщик мусора, нативные
* [JRuby][jruby] это Ruby, реализованный на JVM (Java Virtual Machine),
использует оптимизированный JIT-компилятор, сборщик мусора, нативные
потоки, инструментальную экосистему и огромное количество библиотек JVM.
* [Rubinius][rubinius] это "Ruby написанный на Ruby". Реализован на основе LLVM –
* [Rubinius][rubinius] это — «Ruby написанный на Ruby». Реализован на основе LLVM –
изящной виртуальной машине, на который созданы и другие известные
языки.
* [mruby][mruby] это легковесная реализация Ruby, которая может быть
слинкована и встроена в приложение. Возглавляет разработку mruby создатель
языка Ruby, Yukihiro “Matz” Matsumoto.
* [IronRuby][ironruby] это имплементация "тесно интегрированная с .NET
Framework".
* [MagLev][maglev] это "быстрая, стабильная имплементация Ruby с
интегрированным постоянством объектов и распределенным открытым
* [mruby][mruby] это легковесная реализация Ruby, которая может быть
подключена и встроена в приложение. Возглавляет разработку mruby создатель
языка Ruby, Юкихиро Мацумото (Yukihiro Matsumoto), известного под псевдонимом Мац (Matz).
* [IronRuby][ironruby] это реализация «тесно интегрированная с .NET
Framework».
* [MagLev][maglev] это «быстрая, стабильная реализация Ruby с
интегрированным долговременным хранением объектов и распределенным открытым
кешем".
* [Cardinal][cardinal] это "компилятор Ruby для виртуальной машины [Parrot][parrot]"
* [Cardinal][cardinal] это «компилятор Ruby для виртуальной машины [Parrot][parrot]»
(Perl 6).

### Ссылки
Expand Down

0 comments on commit 318297a

Please sign in to comment.