vkACL.ewe (для КПК) версия 6.5.28 и выше


[Download   vkACLp.zip   500 Kb]

Карманные компьютеры уже давно превратились из игрушек в настоящих друзей человека. Я не знаю ни одного, кто бы раскаивался в том, что купил карманный компьютер. Для медиа-приложений (книги, музыка, даже кинофильмы) он намного удобнее как большого компьютера, так и ноутбука. Читать бумажные книги нет времени. Читать на ноутбуке нельзя, надо работать. А карманный компьютер можно использовать в таких ситуациях, когда ничего другое просто невозможно. Что касается фотографий и вообще картинок, то малый размер экрана все же ограничивает. Но вот в научных целях, для програм, не требующих высокой скорости счета, он может быть очень полезен. В январе 2004 года я купил себе карманный компьютер Rover PC P4 с операционной системой Pocket PC 2003. Он весит всего 120 грамм и его удобно носить в кармане рубашки или жилетки. Он всегда со мной и мне никогда не бывает скучно.

Но одна проблема все же существует. До сих пор нет достаточно удобного программного продукта, позволяющего использовать КПК для математических расчетов. Программы, сделанные для большого компьютера, нельзя использовать из-за разницы в операционных системах и размерах экрана. Есть много возможностей делать программы на большом компьютере и затем использовать на КПК. Но в стандартной операционной системе КПК, такой как Windows Mobile, нет возможности программировать прямо на КПК. Из готовых внешних программ есть какой-то Бейсик, есть эмулятор DOS и даже компилятор с языка С. Я их не пробовал и не уверен, что это удобно -- программировать на КПК с компиляцией и только для КПК.

Полное решение проблемы состоит в том, чтобы делать программы, которые одинаково работают как на КПК, так и на большом компьютере. При этом можно начать работу на одном, продолжить на другом, а затем снова вернуться на первый. Даже если нет карманного компьютера, то такую программу все равно можно использовать, а как только он появится его можно подключить к работе. Для решения такой задачи наилучшей реальной платформой на сегодня являются Java-Ewe виртуальные машины, разрабатываемые Микаэлем Бреретоном и выставленные на сайте http://www.ewesoft.com. Виртуальные машины разработаны для всех типов карманных компьютеров, а также для Windows и Linux на десктопах. Для остальных операционных систем можно использовать стандартную Java виртуальную машину и специальный файл, содержащий все дополнительные классы.

Для тех, кто не знает, объясняю, что Java виртуальная машина -- это программа, один раз и очень просто устанавливаемая на компьютер. После этого компьютер становится способен выполнять программы, написанные на языке Java. Эти программы оказываются очень компактными и всесильными как раз потому, что все стандартные операции уже запрограммированы в виртуальной машине. К сожалению сама по себе, виртуальная машина не дает возможности что либо делать. Нужно писать программы на Java и компилировать их используя Java SDK (software development kit). Это можно делать только на большом компьютере. После этого программа будет работать как на большом, так и на КПК. Но это неудобно. И мало найдется желающих учить Java для решения какой-то простой задачи.

Я сделал следующий шаг. Я разработал универсальную программу, которая способна читать текст из любого файла, находить в нем понятные ей команды и выполнять их. Текст можно написать используя любой редактор, в том числе и на КПК. Но у программы есть и родной редактор, в котором можно не тольно набрать текст, но и запустить программу на выполнение, а в случае ошибки, программа вернется в редактор как раз в то место, где она обнаружила ошибку. Это очень удобно при отладке программ. Команды, которые понимает программа, составляют основу нового языка программирования ACL (advanced command language), названный по аналогии с известной программой IDL. Команды ACL имеют очень компактные названия и все программы получаются предельно компактные, что очень важно, учитываю неудобную клавиатуру КПК. Программа имеет достаточно возможностей для любой работы в файлами, текстами, создания интерактивных оболочек, простых баз данных, есть готовая графика. Ну и конечно она умеет вычислять. Правда скорость вычислений невысокая, но для многих простых расчетов вполне достаточная. Возможности языка ACL можно легко себе представить просмотрев демонстрационную программу, которую я специально написал. Она же использовалась и для выявления ошибок. Сама программа [vkACL.ewe] является исполнителем команд и только. Ее возможности будут постоянно возрастать при увеличении ACL-программ, то есть готовых программ, написанных на языке ACL. Программа, написанная кем либо, может использоваться другими. Кроме того, любая программа может запустить другую программу и вообще все наработанные программы можно организовать как одну универсальную программу.

Я наконец то закончил третью версию программы [vkACL.ewe] для КПК. Номер версии 6.5.17 просто указывает дату ее выпуска: 6 = 2006, 5 = май, 17 = день выпуска. Вторая версия программы, была поставлена в интернет ровно год и три месяца назад. Чтобы установить новую версию, надо, как и раньше, скачать файл "vkACLp.zip", кликнув на кнопку [Download vkACLp.zip]. Файл имеет размер около 0.5 Мб. В Netscape надо при этом держать нажатой клавишу "Shift". Внутри файла-архива находится 4 файла, среди которых есть "readme.txt" с краткой инструкцией по установке. Короче, файлы надо просто перенести на КПК, я их записываю на SD-карту прямо через USB-переходник. Никакой синхронизации не требуется, файлы на КПК и на Десктопе являются точными копиями.

Новая версия имеет значительные преимущества. Я сам ей давно пользуюсь, да все никак не удавалось закончить проект. Грубо можно охарактеризовать ее так - больше переменных, больше математики, больше форматов, меньше ошибок и больше их диагностика. А также больше готовых программ. Но главное - это то, что данная версия может работать с русскими аски-файлами. И соответственно я уже сделал программу чтения русских книг в виде аски-текстов с закладками во всех книгах, поставленных на полку, одновременно. Есть возможность просматривать все файлы и редактировать русские тексты. Есть новая программа базы данных в виде картотеки типа телефонной книги с алфавитом. Она позволяет очень быстро находить и редактировать нужные сведения и не надо никакого OUTLOOK. Файлы доступны и являются полной копией файлов на больших компьютерах.

Помимо готовых программ появилась серия готовых подпрограмм типа тех, что существуют во всех языках. Я их называю супер-командами, так как они запускаются непосредственно как команды и никакой привязки, как в библиотеках, не требуется. Фактически, все что я сделал - добавил в карманную версию многое из того, что было наработано в большой версии. Но есть один новый момент. Новая версия позволяет менять размер системных фонтов, чего не было раньше. В меню [Help//Settings] можно поменять размер фонта. После чего лучше всего выйти из программы по кнопке [Prog//Exit] и снова ее запустить. При этом на декстопе автоматически меняется также размер окна программы.

Как и во второй версии, у программы есть раздел в меню с названием "Run", который позволяет запускать готовые программы. Среди них есть навигатор файлов, показывающий всю файловую структуру компьютера и позволяющий открывать редактирование файлов ACL-программ, имена которых имеют расширение ".acl". Эта функция очень похожа на ту, которая обычно присутствует в оконных программах в меню [File / Open]. Здесь же есть возможность запускать мои готовые программы, написанные на ACL, список которых увеличился. Среди них есть демонстрационная программа, показывающая некоторые возможности языка в областях создания интерфейса и графики. Я сделал также очень хороший "Калькулятор", позволяющий вводить формулы для 8 переменных и запоминать уже набитые формулы в 53 ячейках базы данных. С его помощью можно делать относительно простые расчеты даже не зная ACL. Есть и другие программы. Специальная опция меню предназначена для запуска готовых программ, написанных самими пользователями. Она просто запускает ACL-программу с заданным именем, которую пользователь может написать сам. Отмечу, что язык устроен таким образом, что любая программа может выполнять бесконечное число операций путем запуска других программ.

Как и раньше специальная опция в меню "Exec" позволяет блокировать выполнение циклов, если программа вдруг неожиданно долго считает и вам необходимо прервать счет. В результате теперь по окончании работы ACL-программы, оболочка не возвращает исходный текст программы на редактирование. Это надо делать руками, используя опцию меню [Prog//Continue]. Но если зафиксирована ошибка, то место ошибки при этом все равно показывается. В новой версии исправлены кое-какие неточности и добавлены новые команды. Команда оконной графики #win теперь позволяет формировать достаточно сложные рисунки, среди них - карты почернений с осями координат и шкалой, показывающие функции двух переменных в виде черно-белого контраста. Кроме того, есть команда #graph общей графики, позволяющая программировать произвольный рисунок и содержащая все стандартные элементы типа линий, текстов, прямоугольников, эллипсов и дуг. Но в ней есть и нестандартные элементы типа осей координат, позиционирования функций и рисования аксонометрической проекции трехмерных объектов.

Дополнительно добавлено много математических процедур, позволяющих быстро делать вычисления над матрицами и зависимостями. Среди них есть программа быстрого преобразования Фурье, сплайн-интерполяция, двумерная свертка с гауссовой функцией и даже деконволюция, то есть восстановление исходной функции из свертки. Ясно, что для такой работы с матрицами высокого ранга мощности карманного компьютера может не хватить. Но можно отлаживать программу с матрицами низкого ранга, а потом перенести ее на большой компьютер. Наконец, новая версия может работать с zip-архивами, то есть создавать zip-архив из файлов по списку или из нескольких папок целиком, а также вынимать файлы и папки из zip-архива. Как раз эта функция используется при инсталляции. Можно также получить каталог zip-архива. Усилена команда для установки окон ввода, в частности это использовалось при написании "Калькулятора". Добавлены новые команды для работы с файлами. Рисунки, помещенные на этот сайт позволяют представить некоторые возможности новой версии.

Описание новой версии языка встроено в программу в меню "Help" в виде набора текстовых файлов. Сейчас есть как английское так и русское описание. HTML-вариант описания ACL [ACLdoc] я пока не менял. Ее можно запустить кликнув на имени и затем спасти на свой компьютер и распечатать. Это описание по-прежнему на английском языке. Тем, кто не знает английского, читайте встроенное описание и вводную статью на русском языке тоже в виде HTML-страницы [ACLinfor]. Она поможет хотя бы немного начать работу с простых вычислений. Есть еще один неприятный момент для использования русского языка. Редактор Ewe написан таким образом, что в не полностью руссифицированных операционных системах, он не показывает русских букв при набивке с клавиатуры. У меня это происходит на десктопе. То есть текст набирается правильно, но чтобы увидеть русский текст надо все записать (выйти из редактора), а потом снова прочитать. Как с этим бороться пока не знаю. На КПК у меня все нормально.

Повторяю еще раз, что программа-интерпретатор написана на языке Java-Ewe и EweVM можно получить на сайте [http://www.ewesoft.com]. Чтобы программа "vkACL.ewe" могла работать, на компьютере необходимо установить Ewe-интерпретатор, или по другому, Ewe виртуальную машину (то есть EweVM). Для этого надо зайти на сайт [http://www.ewesoft.com] и кликнуть там на ссылку Downloads.

Последнее время я работаю с версией 1.43, хотя там время от времени появляются все новые версии. На момент написания этой статьи там стоит версия 1.49, хотя уже давно обещали 1.5. Но и 1.43 оказалась очень удобная. Что касается Windows компьютера, то процедура установки не изменилась. Скачиваете файл, например, Ewe143-Installer-Win32.zip, вынимаете из него exe-файл и запускаете. А для карманного компьютера сейчас установка делается несколько иначе. Скачиваете файл, например, Ewe143-Cab-PocketPC2003.zip и вынимаете из него cab-файл, переносите его (ActivSinc не обязательно) на карманный компьютер в любое место и затем запускаете через "Проводник" (File explorer). Для других версий операционной системы надо скачать другие файлы. Такая система сделана для того, чтобы можно было установить на компьютере аналог функции "uninstall" в разделе операционной системы по удалению программ. Раньше для этого надо было удалять все файлы. Так как Cab-файл исчезает при загрузке, то я его держу на SD-карте. И когда КПК совсем слетает - иногда бывает и такое - то установить EweVM очень просто - я копирую Cab-файл в оперативную память и запускаю. Он исчезает, но исходная копия на SD-карте у меня остается. ПОСЛЕ УСТАНОВКИ EweVМ НАДО СНАЧАЛА ЗАПУСТИТЬ ПРОГРАММУ Ewe Launcher (ewe.exe) И ТОЛЬКО ПОТОМ vkACL.ewe.

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


19 июля 2006 года

[ НАВЕРХ ]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hosted by uCoz