Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
diplom.doc
Скачиваний:
11
Добавлен:
14.05.2015
Размер:
469.47 Кб
Скачать

1.2. Язык программирования ruby

Ruby – динамический, рефлективный, интерпретируемый высокоуровневый язык программирования для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, сборщиком мусора и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk. Также некоторые черты языка взяты из Python, Lisp, Dylan и Клу. На сегодняшний день интерпретатор Ruby реализован практически для всех платформ( Unix, Win32, OS X). Создателем языка является Юкихиро Мацумото.

Ruby – полностью объектно-ориентированный язык программирования. Всё является объектами, а функции — методами этих объектов [3].

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

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

Возможность прямых системных вызовов.

Мощная поддержка операций со строками и правилами (регулярными выражениями).

Мгновенное проявление изменений во время разработки.

Отсутствие стадии компиляции.

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

Не надо объявлять переменные.

Переменные динамически типизированы.

Простой и последовательный синтаксис.

Автоматическое управление оперативной памятью.

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

Всё есть объект. Даже имя класса есть экземпляр класса Class.

Классы, методы, наследование, полиморфизм, инкапсуляция и так далее.

Методы-одиночки.

Примеси при помощи модулей (возможность расширить класс без наследования);

Итераторы и замыкания.

Широкие возможности метапрограммирования.

Удобства:

Неограниченный диапазон значений целых чисел.

Модель обработки исключений.

Все операторы возвращают значения, даже управляющие структуры.

Динамическая загрузка.

Механизм перехвата исключений.

Поддержка потоков; как собственных, так и систем семейства UNIX.

Недостатки:

Неуправляемость некоторых процессов (таких, как выделение памяти), невозможность задания низкоуровневых структур данных или подпрограмм;

Невозможность компиляции и сопутствующей ей оптимизации программы;

Открытость исходного кода даже в готовой программе

Следствие двух первых недостатков — весьма низкая скорость запуска и выполнения программ [4].

Также стоит отметить, что для Ruby существует множество модулей (дополнений) практически для любого вида задач (программирование интерфейсов, сложные математические вычисления, работа с аудио, видео, 3D и т.п). Поэтому этот язык программирования был выбран в качестве основного для написания практической части.

1.3. Язык упрощённой разметки haml

Haml - язык разметки для упрощённой генерации XHTML. HAML компилируется в HTML. Haml намного проще Html'`а так, как позволяет упростить и ускорить написание веб-приложений.

Например, данный кусок кода на Haml'е

!!!

%html{ html_attrs('ru') }

%head

%title Мой блог

%meta(http-equiv="Content-Type" content="text/html; charset=utf-8")

= stylesheet_link_tag "main"

%body

#header

%h1 Мой блог

%h2 Записи

#content

- @entries.each do |entry|

.entry

%h3.title= entry.title

%p.date= entry.posted.strftime("%A, %B %d, %Y")

%p.body= entry.body

#footer

%p.copyright

Все права защищены © Иван

трансформируется Html-код

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html lang='ru' xml:lang='ru' xmlns='http://www.w3.org/1999/xhtml'>

<head>

<title>Мой блог</title>

<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />

<link href="/stylesheets/main.css?" media="screen" rel="Stylesheet" type="text/css" />

</head>

<body>

<div id='header'>

<h1>Мой блог</h1>

<h2>Записи</h2>

</div>

<div id='content'>

<div class='entry'>

<h3 class='title'>Хеллоуин</h3>

<p class='date'>Четверг, 31 октября, 2006</p>

<p class='body'>

Ох уже эти американские праздники.

</p>

</div>

<div class='entry'>

<h3 class='title'>Новый язык шаблонов для Rails</h3>

<p class='date'>Пятница, 11 августа, 2006</p>

<p class='body'>

Haml — супер круто и жутко удобен. Моя Rails-душа наполнена счастьем. Это что?

</p>

</div>

</div>

<div id='footer'>

<p class='copyright'>

Все права защищены © Иван ???

</p>

</div>

</body>

</html>

[5]

Видно, что 19 строк кода трансформируются в 35.

Реализация Haml'а существует для множества языков программирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]