Ruby/Основные свойства Ruby: различия между версиями
< Ruby
Содержимое удалено Содержимое добавлено
ISbot (обсуждение | вклад) м {{BookCat}}; избыточные <big /> и <font /> вокруг <source />; ссылки; пробелы. |
|||
Строка 39: | Строка 39: | ||
* Открытость исходного кода даже в готовой программе (есть [http://exerb.sourceforge.jp/index.en.html средство упаковки исходного кода в .exe-файл] под [[w:Microsoft Windows|Windows]]); |
* Открытость исходного кода даже в готовой программе (есть [http://exerb.sourceforge.jp/index.en.html средство упаковки исходного кода в .exe-файл] под [[w:Microsoft Windows|Windows]]); |
||
* Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ. |
* Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ. |
||
[[Категория:Ruby|Основные свойства Ruby]] |
|||
{{BookCat}} |
Версия от 18:10, 1 июня 2014
Основные свойства Ruby
Интерпретируемый язык:
- Возможность прямых системных вызовов.
- Мощная поддержка операций со строками и правилами (регулярными выражениями).
- Мгновенное проявление изменений во время разработки.
- Отсутствие стадии компиляции.
Простое и быстрое программирование:
- Не надо объявлять переменные.
- Переменные динамически типизированы.
- Простой и последовательный синтаксис.
- Автоматическое управление оперативной памятью.
Объектно-ориентированное программирование:
- Всё есть объект. Даже имя класса есть экземпляр класса
Class
. - Классы, методы, наследование, полиморфизм, инкапсуляция и так далее.
- Методы-одиночки.
- Примеси при помощи модулей (возможность расширить класс без наследования);
- Итераторы и замыкания.
- Широкие возможности метапрограммирования.
Удобства:
- Неограниченный диапазон значений целых чисел.
- Модель обработки исключений.
- Все операторы возвращают значения, даже управляющие структуры.
- Динамическая загрузка.
- Механизм перехвата исключений.
- Поддержка потоков; как собственных, так и систем семейства UNIX.
Недостатки:
- Неуправляемость некоторых процессов (таких, как выделение памяти), невозможность задания низкоуровневых структур данных или подпрограмм;
- Невозможность компиляции и сопутствующей ей оптимизации программы;
- Открытость исходного кода даже в готовой программе (есть средство упаковки исходного кода в .exe-файл под Windows);
- Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ.