Чтение онлайн

на главную - закладки

Жанры

Внутреннее устройство Linux
Шрифт:

Теперь рассмотрим некоторые языки.

15.5.1. Python

Python — это язык сценариев с хорошим сопровождением и набором мощных функций, таких как обработка текста, доступ к базам данных, работа с сетью и многопоточный режим. Он обладает производительным интерактивным режимом и хорошо организованной объектной моделью.

Его исполняемый файл называется python и обычно помещается в каталоге /usr/bin. Тем не менее язык Python применяется не только для создания сценариев командной строки. Его можно встретить также в качестве инструмента для создания сайтов. Замечательным справочником, который содержит в начале небольшое

руководство, может стать 4-е издание книги Дэвида М. Бизли (David M. Beazley) Python Essential Reference («Основной справочник по языку Python», Addison-Wesley, 2009).

15.5.2. Perl

Одним из старейших языков сценариев Unix, разработанным независимо, является Perl. Это действительно «швейцарский армейский нож» среди инструментов программирования. Хотя язык Perl в последние годы уступил часть позиций языку Python, он превосходен, в частности, при обработке текста, конвертации файлов и работе с ними. Вы можете встретить много инструментов, созданных с его помощью. Введением, изложенным в стиле учебника, может послужить 6-е издание книги Рэндала Л. Шварца (Randal L. Schwartz), Брайана Д. Фойя (Brian D. Foy) и Тома Феникса (Tom Phoenix) Learning Perl («Осваиваем язык Perl», O’Reilly, 2011). Более полным справочником является книга Modern Perl («Современный язык Perl») группы Chromatic (Onyx Neon Press, 2014).

15.5.3. Другие языки сценариев

Вы можете встретить также следующие языки сценариев.

PHP. Этот язык обработки гипертекста часто можно увидеть в динамических веб-сценариях. Некоторые пользователя применяют язык PHP для автономных сценариев. Сайт проекта PHP — http://www.php.net/.

• Ruby. Приверженцы объектно-ориентированного подхода и веб-разработчики обожают программировать на этом языке .

• JavaScript. Этот язык применяется в браузерах в основном для работы с динамическим содержимым. Наиболее искушенные программисты остерегаются использовать его как средство для создания автономных сценариев из-за его многочисленных недостатков, но этого практически невозможно избежать в веб-программировании. В своей системе вы сможете отыскать его реализацию с именем Node.js и исполняемым файлом node.

• Emacs Lisp. Разновидность языка программирования Lisp, которая используется в текстовом редакторе Emacs.

• Matlab, Octave. Matlab является платным языком программирования и би­блиотекой для матричных и математических вычислений. Существует очень похожий на него бесплатный проект Octave.

• R. Популярный бесплатный язык для статистического анализа. Дополнительную информацию можно получить на сайтеи в книге Нормана Матлофа (Norman Matloff) The Art of R Programming («Искусство программирования на языке R», No Starch Press, 2011).

• Mathematica. Еще один коммерческий математический язык программирования с библиотеками.

• m4. Это язык обработки макроопределений, который обычно находится только в утилите GNU autotools.

• Tcl (Tool command language, инструментальный командный язык). Это простой язык сценариев, обычно ассоциируемый с инструментарием графического интерфейса пользователя Tk и утилитой автоматизации Expect. Хотя язык Tcl уже не столь широко распространен, как раньше, не пренебрегайте его возможностями. Многие бывалые разработчики предпочитают использовать язык Tk, в особенности за его внедренные возможности. Подробности можно узнать на сайте http://www.tcl.tk/.

15.6. Java

Язык Java является транслируемым, подобно языку C, с более простым синтаксисом и мощной поддержкой объектно-ориентированного программирования. В си­стемах Unix у него несколько специальных применений. Так, он часто используется как среда для веб-приложений, а также популярен для специальных программ. Например, приложения для платформы Android обычно написаны на языке Java. Хотя он и не часто встречается в типичном рабочем столе Linux, вы должны знать, как он работает, по меньшей мере в автономных приложениях.

Есть два вида компиляторов Java: собственные компиляторы, создающие машинный код для вашей системы (подобно компилятору С), и компиляторы байт-кода для его использования в интерпретаторе байт-кода (иногда называемом виртуальной машиной, которая отличается от виртуальной машины, предлагаемой гипервизором, как описано в главе 17). В Linux вы практически всегда будете встречать байт-код.

Имена файлов байт-кода Java заканчиваются на .class. Среда времени исполнения Java (JRE, Java runtime environment) содержит все команды, которые необходимы вам для запуска байт-кода. Чтобы выполнить байт-код, используйте такую команду:

$ java file.class

Можно также встретить файлы байт-кода, которые оканчиваются на .jar; это подборки заархивированных файлов .class. Чтобы запустить файл .jar, используйте следующий синтаксис:

$ java -jar file.jar

Иногда вам потребуется указать в переменной окружения JAVA_HOME путь к среде Java. Если вам сильно не повезет, то придется использовать переменную CLASSPATH, чтобы включить все каталоги, которые содержат ожидаемые командой классы. Этот список каталогов приводится с разделителем-двоеточием, подобно обычной переменной PATH для исполняемых файлов.

Если вам необходимо скомпилировать файл .java в байт-код, потребуется набор для Java-разработки (JDK, Java Development Kit). Запустить компилятор javac из набора JDK для создания файлов .class можно так:

$ javac file.java

В набор JDK входит также команда jar, которая позволяет собирать файлы .jar. Она работает подобно команде tar.

15.7. Заглядывая вперед: компиляция программных пакетов

Мир компиляторов и языков сценариев велик и постоянно расширяется. Пока пишутся эти строки, набирают популярность новые транслируемые языки, такие как Go (golang) и Swift.

Инфраструктура компиляции LLVM существенно облегчила разработку компиляторов. Если вам интересно узнать о разработке и реализации компиляторов, в этом вам помогут две хорошие книги: Compilers: Principles, Techniques and Tools («Компиляторы: принципы, методы и инструменты») Альфреда В. Эхоу (Alfred V. Aho) (2-е издание, Addison-Wesley, 2006) и Modern Compiler Design («Разработка современного компилятора») Дика Грюна (Dick Grune) и др. (2-е издание, Springer, 2012). О разработке с помощью языков сценариев лучше узнавать из онлайн-ресурсов, поскольку реализации весьма различаются.

Поделиться:
Популярные книги

Газлайтер. Том 8

Володин Григорий
8. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 8

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

#Бояръ-Аниме. Газлайтер. Том 11

Володин Григорий Григорьевич
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Темный Патриарх Светлого Рода 5

Лисицин Евгений
5. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 5

Иван Московский. Том 5. Злой лев

Ланцов Михаил Алексеевич
5. Иван Московский
Фантастика:
попаданцы
альтернативная история
6.20
рейтинг книги
Иван Московский. Том 5. Злой лев

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18

Сумеречный стрелок 7

Карелин Сергей Витальевич
7. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок 7

Курсант: Назад в СССР 7

Дамиров Рафаэль
7. Курсант
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Курсант: Назад в СССР 7

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Назад в СССР: 1985 Книга 4

Гаусс Максим
4. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Назад в СССР: 1985 Книга 4

Лорд Системы 8

Токсик Саша
8. Лорд Системы
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Лорд Системы 8