vkACL.jar, версия 19.08.15 (26), программа на каждый день

Download vkacl.zip — 2.94 Mб, архив полной версии программы

Download vktot.zip — 1.39 Mб, архив словаря для проверки правописания в редакторе текстов

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

Данная версия программы может работать сразу в трех модификациях: как среда разработки и запуска готовых ACL программ, как интерпретатор одной ACL программы с внешним видом, и как интерпретатор одной ACL программы без внешнего вида. Для выбора нужного режима достаточно указать значение одного числа. Программа содержит аппарат работы с pdf файлами и это часто бывает полезно. В данной версии массив r() имеет размер 26 миллионов чисел, и с таким размером программа не пройдет в 32 битной ОС или с 32 битной JRE. Раньше размер был 7 миллионов. Если кому надо маленький размер массива r(), то пишите мне по е-почте и я вышлю. Сам я работаю именно с такой версией, но могу очень легко сделать версию на любой размер массива r().

Что надо делать. Скачиваете архив программы. В архиве три файла: vkACL.jar (сама программа), vkACLa.zip (дополнительные файлы готовых программ общего назначения) и vkArxiv.zip (дополнительные файлы моих программ для решения некоторых научных задач). Файлы надо скопировать в ПУСТУЮ папку. Это обязательно. При первом запуске программа сама себя инициирует, то есть вынимает из архивов все файлы, какие ей необходимы.

Версия программы указываются в титульной строке ее окна. Каждая новая версия отличается от старой расширением возможностей языка программирования ACL, улучшением внешнего вида программы и ее функциональности, а также набором готовых программ. Соответственно меняются файлы с описанием языка. Как правило, тексты программ, написанные под старую версию продолжают работать, но в редких случаях они могут приводить к ошибкам. В этом случае нужно заново посмотреть описание и исправить текст в соответствие с описанием к новой версии. Попутно я исправляю обнаруженные ошибки. Можно новую версию программы записывать в новую папку и переносить в нее постепенно файлы из старой версии. А можно наоборот переносить новые файлы в старую папку, то есть делать апгрейд (обновление).

Файл программы включает в себя библиотеку [iText] Java классов для создания и модифицирования PDF-файлов. Соотвественно в ACL существуют команды создания PDF документов из различных источников и модификации существующих pdf-файлов. Новые версии не содержат описания языка ACL на английском языке, зато описание на русском языке сделано более понятным и стоит в интернете, ссылку я дал выше.

vkACL.jar -- это Java программа, написанная на языке программирования Java-1.6.4. Напомню, что любая Java-программа исполняется интерпретатором, то есть требует установки специальной программы, называемой Java Runtime Environment, или короче JRE, которая существует во всех операционных системах. Ее еще называют "виртуальная машина" или Java VM. В операционной системе Виндовс ее надо установить самостоятельно, скачав дистрибутив последней версии c вэб-страницы . Более подробно написано в файле readme.txt архива программы. Сам я перешел на работу в одной из последних версий JRE, что и всем желаю. Хотя для работы программы это не обязательно. Нужно устанавливать только 64-битную версию JRE.

Программу vkACL.jar я пишу для себя, и я постоянно ее использую, так как она умеет решать почти все задачи на компьютере. Она может быть полезной и интересной широкому кругу пользователей компьютера от инженеров до компьютерных фанатов. Моя цель -- создание достаточно компактной, и в то же время универсальной программы, которая была бы способна выполнять любую работу по представлению, анализу и обработке научной, графической или любой другой информации. Я давно пришел к выводу, что писать компилируемую программу такого типа -- очень неблагодарная задача, главным образом, потому, что трудно разработать дизайн, который бы удовлетворял как меня, так и всех моих пользователей в течение какого-то времени. Программы постоянно развиваются и надо иметь возможность быстро и просто модифицировать как дизайн, так и структуру представления информации. Для этих целей больше подходит не компилируемая программа, а интерпретатор относительно простого, но достаточно развитого языка программирования. И хотя в мире существует очень много профессиональных программ с весьма широкими возможностями, я все же не нашел для себя ничего подходящего по всем параметрам.

Кроме того, многие программы стоят денег, и не все можно сделать бесплатно, как на ACL. Из программ аналогичного профиля, которые я знаю больше или меньше, могу отметить IDL, IGOR-Pro, Mathematica, MathLab и многие другие такого же типа. Но указанные программы -- это огромные и дорогие монстры, возможности которых намного превосходят потребности рядового пользователя. И пользоваться ими для создания собственных приложений не так уж и удобно. Из указанных программ я работал только с IGOR-Pro. Поначалу было интересно, но очень скоро программа перестала нравиться из-за невозможности сделать все именно так, как мне надо. Тем не менее, дизайн моей программы в некоторой степени копирует дизайн IGOR-Pro.

В конце концов, я решил сделать собственную программу -- интерпретатор собственного языка программирования, который я назвал ACL (advanced command language) по аналогии с IDL. Мне это было относительно просто по той причине, что этот язык в своем ядре очень мало отличается от того языка, который я разработал в начале 90-х годов прошлого века для персональных компьютеров первого поколения, работающих в ДОС, начиная с 086. Тогда почти ничего не было, и я очень удобно работал на своем языке, имея фактически быструю Windows среду на ДОС компьютере. В 2004 году мне осталось только перетранслировать интерпретатор с фортрана, усиленного асемблером, на Java. Естественно нельзя сделать все сразу, поэтому программа развивалась постепенно. Версия данной программы указана в заголовке. Ее смысл - просто дата создания, например 19.08.15 - это 15 августа 2019 года. Такой подход легко позволяет различать версии. В отличие от указанных выше программ моя программа не ограничивается техническими расчетами, она способна делать все, что мне надо. И использует всю мощь Java. С 2014 года программа имеет разные модификации. Я предлагаю в интернете модификацию, которая требует умеренный размер оперативной памяти, так как у нее массив r() имеет размер 26 миллионов. У меня есть версия, в которой этот массив имеет размер 150 миллионов, но такую программу можно запустить не на всяком компьютере. В любом случае для работы программы нужна 64-битная операционная система и 64-битная JRE.

Язык программирования ACL -- это набор команд для исполнения, как в старом Бейсике или в любом командном файле операционной системы. Некоторые команды могут выполнять только одну операцию, другие команды выполняют любую из некоторого набора операций. Даже синтаксис языка оформлен в виде команд. Это означает, что по грамматике в языке нет различия между микро и макро командами. Команды можно организовывать в процедуры, а процедуры записывать либо в основном файле, либо в других файлах или даже временно в текстовом массиве памяти программы. Есть команды для выполнения элементарных математических вычислений и есть команды для выполнения макро-вычислений типа двумерного преобразования Фурье или конвертирования форматов изображений и даже показа автоматического слайд-шоу.

К основным командам относятся команда вычислений, команда чтения и записи данных любого формата, в том числе форматированного текста, команда для работы с файлами, а также команды для создания циклов, условий и процедур. Дополнительно к ним есть относительно развитый математический блок, команды для создания интерфейса и графики вплоть до анимации и звука. Возможности элементарной графики не ниже, чем у Java, так как из Java взято практически все. Есть градиент цвета, клип, сложный контур, заполнение областей фактурой. Однако данная версия имеет дополнительно много возможностей для быстрого создания графического файла любой степени сложности, включая квази-трехмерные графики двумерных зависимостей и трехмерные графики, то есть аксонометрические проекции объемных объектов, а также изображения матриц в виде карт почернения и возможность прозрачного сложения нескольких картинок.

С другой стороны, возможности создания интерфейса пока ограничены только наиболее распространенными потребностями, зато все делается намного проще, чем в любом визуал языке или на Java. Более того, процедуры, записанные в файлы, можно оформить таким образом, что они становятся суперкомандами и вызываются просто по имени файла. Это предельно упрощает написание головной программы, так как всю вспомогательную работу можно оформить в виде суперкоманд. Суперкоманды пишет сам пользователь, а определенный базовый набор я стал постепенно собирать в рамках базовой версии программы. Удобство суперкоманд еще и в том, что раз сделанная суперкоманда может долго быть полезной и с течением времени программировать становится все легче. Появляется супер-язык макросов, причем у каждого пользователя он может быть своим собственным, хотя возможен и обмен библиотеками. Они также являются хорошими примерами использования языка для начинающих. Набор суперкоманд увеличивается от версии к версии даже быстрее, чем сами команды. Тем не менее и команды улучшаются, так что советую следить за появлением новых версий и использовать их.

Некоторые относительно старые рекламные картинки можно посмотреть в левой колонке, но продемонстрировать все возможности новой версии невозможно. Сама программа имеет набор демонстраций, которые можно посмотреть после ее скачивания и установки. Язык ACL позволяет выполнять практически любую работу с картинками (фотографиями), файлами, zip-архивами, графикой, включая постскрипт и pdf, текстами и таблицами, двоичными данными и многое другое. Даже сама программа упакована в два файла "vkACL.jar" и "vkACLa.zip". При первом запуске она сама себя распаковывает. У команды #file есть опция навигации по всей файловой структуре компьютера и возможность делать предварительный просмотр файлов с картинками. Есть возможность показа вэб-страниц, написанных на языке HTML с помощью встроенного браузера. Появились первые версии постскрипт-генератора для автоматического создания постскрипт графики и pdf-генератора для создания pdf-графики. Такие графики весьма полезны для подготовки научных статей и для печати на постскрипт принтерах. Попутно замечу, что для постскрипт графики у меня есть старая и очень развитая программа VKPS (см. описание на моем сайте ), но она написана на фортране и у нее свой язык. Здесь аналогичная работа программируется на ACL.

Программа-интерпретатор дополнена большой серией готовых программ на языке ACL. При первом запуске программы она записывает на жесткий диск несколько папок c файлами, которые затем использует. Часть из этих программ можно запускать на исполнение прямо из меню главного окна. Более того, есть аппарат настройки меню программы для вызова других ACL программ. Так в меню "Run" есть кнопка "Build-in ACLpro". Эта кнопка позволяет запустить в работу серию готовых программ, для которых изучение языка ACL уже не требуется. Эти программы позволяют сделать очень много работы вообще не изучая язык ACL, а с другой стороны, служат хорошими примерами ACL кода. По клику кнопки программа показывает другую таблицу кнопок, каждая из которых запускает отдельную программу, либо новую таблицу кнопок. Небольшую информацию о программах можно получить кликая кнопку [Help]. Быстрый вызов таблицы кнопок делается клавишами [Alt]+[B].

С кнопкой меню "Run/User's ACLpro" можно связать программы, разрабатываемые самими пользователями, а можно просто расширить основное меню. Так как из любой программы можно вызывать любые другие программы, то интерпретатор может выполнять бесконечную ACL программу, выполняющую практически все, что написано на ACL, наподобие интернета, впрочем ACL программы, размещенные в интернете он тоже может выполнять при большом желании, хотя я сам это не практикую. Естественно, что я и свои собственные научные программы также пишу на ACL и их достаточно много. Это и многочисленные презентации, и программы специальных научных расчетов. Программы анимации могут эффективно работать с картинками, а также звуком.

Должен сказать, что я все расчеты научного моделирования физических процессов делаю в одной этой программе на языке ACL, мне так удобно. Расчетные модули пишутся на языке Java, а ACL их запускает как процедуры. Размер программы интерпретатора от этого растет незначительно, потому что речь идет только о голых вычислениях, все остальное делается на языке ACL. Но если кому-то нужно связать программу со своими собственными расчетами, то ACL способен вызывать другие программы и использовать результаты их расчетов. Внешние программы могут быть написаны на любом языке программирования. Небольшое замечание касается того, что в меню "Run/User's ACLpro" показаны иконки моих программ, которые в поставке этого сайта не работают. Это мои личные программы и я просто не включил их в поставку, так как они нужны только мне. Но меню менять не стал. Меню стоит как у меня на компьютере. Каждый может переписать его под себя.

Программа использует очень мощный встроенный редактор текстов, который запускается как процедура. То есть его можно использовать во всех ACL программах. У редактора есть свое очень большое меню. И есть возможность проверки правописания на русском и английском языках на основе поиска слов в словаре. Если слова в словаре нет, то в нем возможна ошибка. Словарь к программе устанавливается из меню и может дополняться новыми словами (редактироваться). Вверху указана ссылка на скачивание моего собственного словаря. Скачиваете архив, вынимаете файл, куда-то записываете и потом указываете программе редактора где его искать.

Если будут проблемы или вопросы, то пишите мне на e-mail адрес kohnvict@yandex.ru.


Виктор Кон, 20.08.2019
































.

.

  Внимание! Сайт оптимизирован под браузер Google Chrome.