Файл: Анализ и оценка средств реализации объектно-ориентированного подхода к проектированию экономической информационной системы.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 11.03.2024

Просмотров: 26

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

3.3 Ruby

Ruby — интерпретируемый объектно-ориентированный язык программирования, созданный в 1995 году Ruby – это тщательно сбалансированный язык. Его создатель Юкихиро Мацумото (также известный как “Matz”), объединил части его любимых языков (Perl, Smalltalk, Eiffel, Ada и Lisp) чтобы создать новый язык, в котором парадигма функционального программирования сбалансирована принципами императивного программирования. Особенностью языка является то, что в нем можно изменить любой класс в любое время. Как и во многих современных языках, в Ruby все данные является объектом (даже классы являются объектом класса Class), а все функции — методами. Пример реализации класса на Ruby на рис.3.3.

Рисунок 3.3 – Пример реализации класса в Ruby

С практической точки зрения данный язык оказывает конкуренцию JAVA.

Идеалы создателя Ruby

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

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

Ruby прост на вид, но очень сложен внутри, подобно человеческому телу.

Рост популярности Ruby

Со времени выпуска публичной версии в 1995 году, Ruby привлек внимание программистов со всего мира. В 2006 году Ruby завоевал массовое признание. В крупнейших городах по всему миру активно действуют группы пользователей Ruby, а конференции, посвященные Ruby, заполнены до предела.

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

Ruby также свободен для бесплатного использования, изменений, копирования и распространения.

Вначале Matz рассматривал другие языки в поисках идеального синтаксиса. Вспоминая свои изыскания, он говорил: «Мне нужен был скриптовый язык, который был бы более мощным, чем Perl, и более объектно-ориентированным, чем Python2.»

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


В большинстве языков числа и другие примитивные типы данных не являются объектами. Ruby под влиянием языка Smalltalk позволяет задать методы и переменные объекта всем типам данных. Это упрощает использование Ruby, так как правила применимые к объектам – применимы ко всему Ruby.

Гибкость Ruby

Ruby очень гибкий язык, так как он позволяет его пользователям свободно менять его части. Ruby старается ни в чём не ограничивать пользователя. Основные части Ruby могут быть удалены или переопределены по желанию. А существующие части можно изменять. Например, сложение выполняется операцией плюс (+). Но, если вы хотите использовать для этого более читаемое слово «plus» – вы можете добавить такой метод прямо в Numeric, внутренний класс языка Ruby.

Операторы в Ruby – синтаксический сахар для методов. Вы также можете переопределить их.

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

На создание блоков было обретено вдохновление функциональными языками программирования. Мац (Matz) объяснял это тем, что «замыканиями в Ruby я хотел отдать дань уважения культуре языка Lisp3.»

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

Классы могут свободно вливать модуль и получать все его методы. Например, любой класс, который реализует метод each, может добавить модуль Enumerable, который привнесёт кучу методов использующих each для создания циклов.

Зачастую, пользователи Ruby находят это более прозрачным, нежели множественное наследование, которое может быть довольно сложным и иметь ограничения.

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

var — может быть локальной переменной.

@var — переменная объекта.

$var — глобальная переменная.

Данное обозначение символами повышает воспринимаемость, позволяя программисту легко идентифицировать роль каждой переменной. Это также позволяет не использовать утомительное self. для каждого объекта.


Ruby имеет много других особенностей и конструкций, и вот некоторые из них:

В Ruby имееются конструкции для обработки исключений, как в Java или Python, которые позволяют проще работать с ошибками.

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

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

Ruby может загружать сторонние библиотеки динамически, если позволяет операционная система.

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

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

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

JRuby — это Ruby, реализованный на JVM (Java Virtual Machine), использует оптимизированный JIT-компилятор, сборщик мусора, нативные потоки, инструментальную экосистему и огромное количество библиотек JVM.

Rubinius это — «Ruby написанный на Ruby». Реализован на основе LLVM – изящной виртуальной машине, на который созданы и другие известные языки.

mruby — это легкая реализация Ruby, которая может быть подключена и встроена в приложение. Возглавляет разработку mruby создатель языка Ruby, Юкихиро Мацумото (Yukihiro Matsumoto), знаменитого под псевдонимом Мац (Matz).

IronRuby — это реализация «тесно интегрированная с .NET FrameWork».

MagLev — это «быстрая, стабильная реализация Ruby с интегрированным долгосрочным хранением объектов и распределенным открытым кешем”.

Cardinal — это «компилятор Ruby для виртуальной машины Parrot» (Perl 6).

ЗАКЛЮЧЕНИЕ

Целесообразность использования объектно–ориентированного подхода огромна. И поэтому он пользуется высокой популярностью с начала его эксплуатации в 80-х годах прошлого века. Актуальность использования его в том, что объектно-ориентированные системы более открыты и легче поддаются внесению изменений, так как их конструкция базируется на устойчивых формах. Именно это дает возможность программам развиваться постепенно и не приводит к полной ее переработке даже в случае существенных изменений исходных требований. К недостаткам можно отнести: возрастающие требования к вычислительным средствам, на которых будет работать разработанная программа, и к вычислительным средствам, используемым при разработке. Кроме этого, увеличивается стоимость разработки, однако возрастает ее оперативность.


СПИСОК ЛИТЕРАТУРЫ

  1. Иванов А.Г., Карпова А.В., Семик В.П., Филинов Ю.Е. Объектно-ориентированная среда программирования. Системы и средства информатики. Вып.2. - М.: Наука, 2011.
  2. Козырев А.А. Информационные технологии в экономике и управлении – СПб.: Изд-во Михайлова В.А., 2013
  3. Уткин В.Б., Балдин К.В. Информационные системы и технологии в экономике. – М.: ЮНИТИ, 2007.
  4. Хотинская Г.И. Информационные технологии управления. – М.: Дело и Сервис (ДИС), 2013.
  5. Stroustrup D. The C++ Programming Language. Addison-Wesley, 1986.
  6. А. А. Вичугова Методы и средства концептуального проектирования информационных систем: сравнительный анализ структурного и объектно-ориентированного подходов 2014
  7. Буч Г. Объектно-ориентированное проектирование с примерами применения. Пер. с англ. Киев: Диалектика, 1992
  8. Шлеер С., Меллор С. Объектно-ориентированный анализ: моделирование мира в состояниях. Пер. с англ. Киев: Диалектика, 1993
  9. Заботина Н.Н. Проектирование информационных систем: учебное пособие. – М.: Инфра-М, 2013.
  10. Йордан Э. Объектно-ориентированный анализ и проектирование систем. – М.: ЛОРИ, 2012
  11. Павловская Т.А. С++. Объектно-ориентированное программирование : практикум : учеб. пособие для вузов / Т. А. Павловская, Ю. А. Щупак . – СПб.: Питер 2015
  12. В.Н. Волкова и В.Н. Юрьева Информационные системы в экономике учебник для экономического бакалавриата Москва ЮРАЙТ 2019
  13. А.М. Вендоров. Проектирование программного обеспечения экономических информационных систем «Финансы и статистика» 2006
  14. Джей Макгаврен Head First. Изучаем Ruby перевод: Е.А. Матвеев 2016
  15. И.Ю. Коцюба, Чунаев А.В., А.Н. Шиков Основы проектирования информационных систем Учебное пособие 2015
  1. Иванов А.Г., Семик В.П., Карпова А.В., Филинов Ю.Е. Объектно-ориентированная среда программирования. Системы и средства информатики. Вып.2. - М.: Наука, 2011.