Ruby/Основные свойства Ruby: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 18: Строка 18:


* Всё есть [[w:Объект (программирование)|объект]]. Даже имя класса есть экземпляр класса <code>Class</code>.
* Всё есть [[w:Объект (программирование)|объект]]. Даже имя класса есть экземпляр класса <code>Class</code>.
* [[w:Класс (программирование)|Классы]], [[w:Метод|методы]], [[w:Наследование (программирование)|наследование]], [[w:Полиморфизм(программирование)|полиморфизм]], [[w:Инкапсуляция (программирование)|инкапсуляция]] и так далее.
* [[w:Класс (программирование)|Классы]], [[w:Метод|методы]], [[w:Наследование (программирование)|наследование]], [[w:Полиморфизм (программирование)|полиморфизм]], [[w:Инкапсуляция (программирование)|инкапсуляция]] и так далее.
* [[w:Одиночка (шаблон проектирования)|Методы-одиночки]].
* [[w:Одиночка (шаблон проектирования)|Методы-одиночки]].
* [[w:Примесь (программирование)|Примеси]] при помощи модулей (возможность расширить класс без наследования);
* [[w:Примесь (программирование)|Примеси]] при помощи модулей (возможность расширить класс без наследования);

Версия от 13:56, 19 июня 2013

Основные свойства Ruby

Интерпретируемый язык:

Простое и быстрое программирование:

Объектно-ориентированное программирование:

Удобства:

  • Неограниченный диапазон значений целых чисел.
  • Модель обработки исключений.
  • Все операторы возвращают значения, даже управляющие структуры.
  • Динамическая загрузка.
  • Механизм перехвата исключений.
  • Поддержка потоков; как собственных, так и систем семейства UNIX.

Недостатки:

  • Неуправляемость некоторых процессов (таких, как выделение памяти), невозможность задания низкоуровневых структур данных или подпрограмм;
  • Невозможность компиляции и сопутствующей ей оптимизации программы;
  • Открытость исходного кода даже в готовой программе (есть средство упаковки исходного кода в .exe-файл под Windows);
  • Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ.