Три шага к свободному ПО
Не все знают, что стоимость проприетарного (коммерческого) программного обеспечения, способного превратить «компьютерное железо» в современный компьютер, значительно больше стоимости самого «железа». Не знают зачастую потому, что используют контрафактное (то есть приобретённое без лицензии) ПО, что является нарушением действующего законодательства.
Последние несколько лет отмечены небывалым ростом интереса к свободным программным продуктам, которые могут быть приобретены бесплатно или за символическую цену, и причин у этого явления достаточно много. Кроме очевидных экономической (существенная разница в цене) и «политической» (независимость от конкретной фирмы-производителя), очень важны также наличие общедоступных исходных текстов программ (что является гарантией отсутствия «закладок») и возможность создания дистрибутивов, содержащих множество свободных программ, которые могут быть установлены на компьютер все сразу (в случае проприетарных программных продуктов каждый из них необходимо устанавливать отдельно, затрачивая на это немало времени). Свободное ПО сейчас лучше превращает компьютерное «железо» в удобный инструмент для работы, учёбы и отдыха, чем широко распространённые в России программные продукты от фирмы Microsoft. Оно является более надёжным и защищённым, почти не подвержено атакам компьютерных вирусов, а работать с ним ничуть не сложнее, чем с каким-либо иным.
К настоящему времени в целом ряде стран решения об отказе от массового использования проприетарных продуктов приняты на правительственном уровне. Среди них Германия, Франция, Индия, Китай, Япония и другие. Мы гордимся тем, что Учёный Совет МГИУ ещё несколько лет назад принял решение о всемерной поддержке перехода от проприетарного ПО к свободному. Реализуя это решение, информационно-вычислительный центр МГИУ разработал программу «Три шага к свободному ПО», основное назначение которой – познакомить пользователей компьютеров с миром свободного программного обеспечения и дать возможность переходить к его применению постепенно и безболезненно, шаг за шагом.
Шаг 1 – FSF-Windows. Знакомство с лучшими свободными программами, устанавливаемыми на компьютер с операционной системой Windows.
Шаг 2 – VMware ASPLinux. Установка на компьютер с ОС Windows эмулятора, позволяющего запускать «почти настоящий Linux», не нуждающийся в дополнительной настройке.
Шаг 3 – MSIU ASPLinux. Переход к использованию доработанного в МГИУ дистрибутива ОС Linux, который может быть установлен на компьютер без удаления имеющейся версии Windows.
Приложения
A.1 Базовые типы. Базовыми типами языка Ruby являются числа, строки (объекты класса String), массивы (класс Array), диапазоны (Range), хэши или ассоциативные массивы (Hash), символы (Symbol) и регулярные выражения (объекты класса Regexp). Любое целое число x G Z может быть представлено объектом класса Fixnum (если величина |x| не слишком велика) или Bignum (иначе), но лишь конечное подмножество из несчётного множества действительных чисел R представимо в виде объектов класса Float, часто называемых числами с плавающей точкой.
Таблица A.1. Примеры чисел
Выражение | Значение | Комментарий |
123 | 123 | целое число – объект класса Fixnum |
–1234567890 | –1234567890345 | целое число – объект класса Bignum |
1_234_567_890 | 1234567890345 | подчёркивания в записи чисел игнорируются |
–123.45 | –123.45 | «действительное» число (класс Float) |
1.2345e+2 | 123.45 | экспоненциальная формы записи |
0xff | 255 | шестнадцатеричное (hexadeciamal) число |
037 | 31 | восьмеричное (octal) число |
0b1011 | 11 | двоичное (binary) число |
Для задания строк можно использовать кавычки (") или апострофы (’). В первом случае распознаются и интерпретируются так называемые эскейп-последовательности (например, \n, \", \t, \r) и выполняется подстановка результатов вычисления выражения expr вместо подстроки #{expr}. В обоих случаях последовательности \\ и \’ преобразуются в символы \ и ’ соответственно. Существуют и другие способы задания строк, некоторые из которых показаны в таблице А.2.
Таблица A.2. Примеры строк
Выражение | Значение | Комментарий |
"2 + 3 = #{2+3}" | "2 + 3 = 5" | подстановка вычисленного выражения |
’2 + 3 = #{2+3}’ | "2 + 3 = #{2+3}" | подстановка не выполняется |
%q(Язык Ruby) | "Язык Ruby" | аналог строки в апострофах |
%Q(#{2**32}) | "4294967296" | аналог строки в кавычках |
’a\nb’ | здесь четыре символа: буква а, символ \ и буквы n и b | |
"a\nb" | всего три символа: буквы а и b разделены символом \n |