Сага о найденных мегагерцах 24.06.2003 Илья Щуров Voyager
Для Палма я нашел программный калькулятор, который вызывает у меня то же ощущение изящества, что и его прототипы. EasyCalc — калькулятор довольно строгий по дизайну (никаких украшений, все функционально, но удобно) и совершенно фантастический по возможностям (рис. 2). Комплексные числа и операции над матрицами, вплоть до решения систем линейных уравнений произвольного порядка, разноцветные графики в любых координатах (декартовых, полярных, параметрическое задание), множество специальных функций, численные методы (интегрирование, дифференцирование, нахождение корня и т. д.), работа в разных системах исчисления, возможность создания своих переменных и функций, история расчетов… Есть все, чего только неравнодушная к математике душа может пожелать. И даже больше: программа бесплатная и распространяется с открытыми исходниками, так что в комплект, помимо документации, входит средство против похудения кошелька (или, в нашем случае, поддержания совести в кристально чистом состоянии), а также возможность добавить какую-нибудь специфическую нереализованную функцию. Программируем
Инструменты бывают разными. Любителям языка Си (к коим я себя отношу), а также всем Истинным Программистам (которым я не являюсь) должен понравится OnBoardC (рис. 3). Это самый настоящий Си-компилятор, создающий программы маленькие и быстрые, а главное, не зависящие от каких-либо runtime-библиотек, то есть полноценные и самостоятельные (то, что называется standalone). К нему также прилагается SrcEdit — довольно удобный, хотя и не совсем безглючный программерский редактор. Еще можно скачать RsrcEdit — редактор ресурсов, позволяющий создавать и менять интерфейс приложений: работать с формами, всевозможными кнопочками и менюшками в почти визуальном режиме (рис. 4). С одной стороны, процесс разработки привычен, а с другой — имеет свои нюансы. Стандарт ANSI C, хоть и поддерживается, но не до конца. В частности, неполно реализована работа с плавающей точкой, иногда приходится отлавливать ошибки в совершенно неожиданных местах, что не очень приятно при написании именно математических программ. Впрочем, к этому можно приспособиться. К PalmAPI тоже надо привыкать, а лучше — почитать документацию (www.palmos.com/dev/support/docs). В общем и целом необходимость реализовывать многое «руками» и внимательно следить за тем, что делает программа (в случае возникновения каких-то проблем легко получить сообщение «Segmentation fault» с недвусмысленным предложением перезагрузиться), компенсируется свободой, широкими возможностями и эффективностью.
Но если все-таки мысль о написании программ на Си вселяет в вас ужас, а скорость, переносимость и компактность программ не принципиальны, советую обратить внимание на Plua (рис. 5). Сия разработка является Палмовой версией интерпретатора языка Lua (www.lua.org), который на первый взгляд представляет собой гремучую смесь Бейсика, Паскаля, Перла и, возможно, чего-то еще. На самом деле, у Lua есть своя философия, но мы в нее углубляться не будем. Программировать на нем довольно просто, по сравнению с Си — даже очень просто. Создание интерфейса не выглядит подвигом, достойным упоминания в древнегреческих мифах; числовые переменные автоматически конвертируются в строковые и обратно; о том, что какая-нибудь ячейка памяти будет ошибочно освобождена в самый неподходящий момент, думать не приходится. Плюс ко всему — поддерживается объектно-ориентированное программирование, есть такая удобная структура, как ассоциативный массив, а также много других вкусностей и полезностей.
Теперь вы знаете, что где бы вы ни были — в отпуске на берегу моря или в полярной экспедиции, в пещере или на вершине Эвереста, — если вам вдруг понадобится вспомнить доказательство Великой теоремы Ферма, нарисовать пятимерный куб или исследовать поведение системы дифференциальных уравнений, вы сможете это сделать без особых проблем. Был бы Палм под рукой — а остальное приложится.
3 (назад) Правда, для его включения пришлось немножко почитать документацию по пятой PalmOS.
|