Многие уже обратили внимание на забавный пример эзотерического языка программирования - ArnoldC. Отметим и мы этот проект. Также будут представлены: продвинутый выключатель ПК KShutDown, мультиархиватор PeaZip, и программа для создания дизайна вышивок KXStitch.
ArnoldC
Проекты СПО бывают в основном двух типов: или это очень практичные и утилитарные программы, или же это проекты, воплощающие исключительно свободу мысли ради искусства программирования.
На Github недавно многие обозреватели софта заметили забавный проект - ArnoldC. Его создал программист из Финляндии Лори Хартикка (Lauri Hartikka).
ArnoldC представляет собой описание и компилятор языка программирования, в качестве базовых команд в котором используются "крылатые фразы" героев кинофильмов, в которых снимался известный американский актёр Арнольд Шварценеггер. Это, например, такие выражения, как "You have been terminated", "Hasta la vista, baby" и другие "перлы" Железного Арни.
Как и полагается, приведём в качестве показательного примера синтаксиса нового языка программу "Hello World", написанную с помощью ArnoldC.
IT'S SHOWTIME TALK TO THE HAND "hello world" YOU HAVE BEEN TERMINATED
Конечная программа генерируется в байт-код Java. Скачаем компилятор, написанный на Java, соберём байт-код и выполним программу.
wget http://lhartikk.github.io/ArnoldC.jar java -jar ArnoldC.jar hello.arnoldc java hello
На данный момент в ArnoldC имеется около трёх десятков команд, которые позволяют создавать и более сложные примеры программ.
Самое первое впечатление от знакомства с ArnoldC - это ещё один так называемый эзотерический язык программирования, наподобие Ook (на основе звуков, издаваемых орангутангами) или COW (на основе мычания парнокопытных). Можно, конечно, сказать, что язык киборгов, которых играл Шварцнегер, недалеко ушёл в развитии от языка орангутангов, и ArnoldC является логическим продолжением COW и Ook.
Однако с другой стороны, не такая уж и бесполезная хакерская забава этот ArnoldC. Язык ArnoldC вполне можно назвать даже новым шагом и новой ступенью в развитии высокоуровневых языков программирования, как C++, C#, Java, JavaScript, Python, PHP и др.
Одним из множества принципов создания высокоуровневых языков является читабельный, максимально приближенный к человеческому синтаксис исходного кода программ. То есть "человекообразный" код прочитать и понять гораздо легче, чем набор машинных инструкций.
Однако если попробовать озвучить, прочитать или надиктовать код на современных высокоуровневых языках, то из этой затеи вряд ли получится что-то вразумительное. В этом отношении ArnoldC - язык программирования, который не только читабельный, но который можно даже озвучивать и слушать, как обычную человеческую речь. Код ArnoldC можно надиктовать на смартфон, сгенерировать с помощью синтезатора речи, а потом прослушать на ночь вместо аудиокнижки. Не говоря уже о том что, звуковой код, как и аудиокниги, поможет сохранить программистам немало диоптрий зрения. Многим программерам должно понравиться.
Современные же системы распознавания речи уже способны переводить звуковой код программы в исходный текст.
KXStitch
Дальше в этом обзоре у нас пойдут уже практичные и утилитарные программы первого типа - например, для любителей вышивания. Занятия вышиванием замечательно успокаивают нервную систему и могут рекомендоваться даже программистам. Ведь, несомненно, лучше в качестве отдыха от работы - не играть в бесполезные игры, а хотя бы вышить на наволочке портрет Линуса Торвальдса.
Примером свободной программы в помощь вышивальщикам можно назвать KXStitch, которая предназначена для автоматизации создания и редактирования шаблонов вышивки. KXStitch создана исключительно для систем GNU/Linux, и для её работы потребуется библиотеки Qt и KDE. Программа недавно обновилась до версии 1.0.3.
KXStitch это программа, которая позволяет создавать схемы вышивки крестиком. Это такой вид рукоделия - вышивание рисунков на канве с помощью цветных нитей.
Нельзя сказать, чтобы KXStitch была волшебной программой и мечтой вышивальщицы, и которая позволяла бы только загрузить картинку, ткнуть кнопочку и тут же получить готовую схему с расшифровкой по палитре цветов нитей, да ещё и разных производителей.
Тем не менее, программа позволяет создавать схемы вышивки не только с нуля на основании сетки. Предлагается возможность создания схем вышивки и из изображений. В программе предлагаются инструменты для манипуляций с цветовой гаммой изображения и производства на его основе окончательного дизайна шаблона для вышивания. Также картинки можно использовать в качестве фона при создании схемы вышивки с нуля.
В набор предлагаемых инструментов входят: создание прямоугольников и эллипсов, дублирование областей, повороты выделенных частей схемы. Существует также библиотека шаблонов, которую можно использовать для хранения небольших моделей, и которые затем могут быть повторно использованы в других узорах. Узоры в этой библиотеке хранятся в виде иерархического списка, что позволяет их сортировать.
Когда схема готова, её можно распечатать в различных форматах. Есть варианты распечатки с инструкциями и таблицей мулине, включающей количество используемой нити и количество стежков.
Говоря о программах для вышивания, можно напомнить, что сейчас имеются и веб-сервисы, аналогичные KXStitch. По крайней мере, я от своих приятельниц слышал о подобных интернет-ресурсах.
KShutDown
Выключение и перезагрузка компьютера - казалось бы, совершенно рядовая операция, средства для которой в обязательном порядке предоставляет любая операционная система. Те несколько штатных системных кнопок для отключения и перезагрузки ПК обычно вполне устраивают большинство пользователей.
Но всё ж таки иногда возникают случаи, когда нужно автоматизировать выключение системы. Например, бывает нужно, чтобы компьютер выключился через некоторое время самостоятельно, когда его владельца рядом не будет.
Для подобных задач рекомендуется выучить работу консольной утилиты shutdown. Эта утилита присутствует и в Windows, и в Linux. Она работает из командной строки и имеет множество опций для разных вариантов отключения и перезагрузки компьютера, как локально, так и по сети.
Но многие пользователи, особенно пользователи Windows, не расположены осваивать консольные утилиты, и для них созданы продвинутые выключатели системы с графическим интерфейсом. Среди утилит со свободным кодом и бесплатным распространением такой является программа KShutDown, последнее обновление которой было 23 февраля. Её текущая версия - KShutDown 3.2.
KShutDown является кроссплатформенным ПО для Windows, Mac OS и Linux. В первую очередь программа может быть интересна пользователям Windows, так как линуксоиды в большинстве случаев вполне умело орудуют штатными средствами выключения. К тому же KShutDown в Linux требует громоздкие библиотеки KDE, а версия для Windows весит меньше пяти мегабайт.
Программа предоставляет пользователям простой в использовании графический интерфейс, который отчасти даже русифицирован. KShutDown интегрируется в область уведомлений и может показывать всплывающие сообщения. Также программа имеет и интерфейс командной строки для систем Linux и BSD.
В отношении возможностей автор программы уверяет, что его творение функциональнее даже консольной утилиты shutdown. Утилита предназначена для выключения, перезагрузки компьютера, включения спящего и ждущего режима, завершения текущего рабочего сеанса. Особенностью KShutDown является способность обнаруживать бездействие пользователя. Также KShutDown может быть обычной программой-напоминалкой, которая просто выводит заранее заданные сообщение в определённое время.
PeaZip
Архивирование файлов и папок - это ещё одна распространённая задача, для решения которой часто хватает штатных или привычных средств. Например, Winrar устраивает большинство пользователей Windows, а в системах GNU/Linux по умолчанию входит немало свободных архиваторов.
Тем не менее, возникают случаи, когда скачанный с Интернета архив штатными средствами не открыть. Форматов для архивирования данных существует не меньше, чем, наверное, кодеков для видео. В таких случаях для неискушённых пользователей, чтобы не разбираться с каждым форматом архивации по отдельности, можно порекомендовать программу PeaZip.
PeaZip - это такой мощный комплект архиваторов, который может открыть около 80 форматов архивов. Программа может не только распаковывать, но и создавать архивы BZ2, TBZ27Z, 7Z-sfx, GZ, TGZ, PAQ, LPAQ, QUAD, UPX, ZIP, TAR. Имеется в PeaZip даже собственный формат архивирования - PEA, с возможностью создания многотомных самораспаковывающихся и зашифрованных архивов. Достаточно быстро с помощью этой программы можно переконвертировать имеющиеся файлы из одного формата в другой. Также утилита может делить архивы на части любых размеров.
Для неискушённого пользователя немаловажным будет наличие в PeaZip графического интерфейса с поддержкой технологии Drag&Drop. Интерфейс локализован на три десятка языков, в том числе и на русский.
К плюсам PeaZip следует отнести наличие портативной версии, не требующей установки в систему. Хотя возможна и установка в систему с интеграцией в контекстное системное меню.
Программа кроссплатформенна. Размер приложения около 10 мегабайт. Последняя версия за февраль месяц - PeaZip 5.2.2.
Михаил АСТАПЧИК
Горячие темы