Шимигон Алексей Сергеевич.
Родился и живет в городе Невинномысске Ставропольского края. Учится в институте СевКавГТУ. Создатель программы X-Player - мультимедийного проигрывателя для Siemens с экраном 132х176.
- Начнем с самого начала. Что тебя заставило вступить на тернистый путь программиста и тем более писать программы для Siemens?
- Программировать я начал уже очень давно. Тогда это был ZX-Spectrum (где ещё программы загружались с обычных магнитофонных кассет) с платформой «Бейсик версия 2.0» где-то 1994-1995 года. Конечно, там всё было просто. Помню, что моя первая «игра» заключалась в том, чтобы за ограниченное время найти нужную кнопку для запуска ракеты по космическому кораблю противника, при этом не попасть на кнопку «самоуничтожение».
Когда перешел на ПК (2000 – 2001 год), сразу начал разбираться с «родным» Бейсиком, пробовал его визуальную версию. Далее в школе рассказали про Паскаль – перешел на Delphi, начал самостоятельно изучать литературу. Мне просто понравилось программировать – больше никак не могу объяснить своё упорство.
Совсем недавно (летом 2006-го) узнал про Free Pascal и Lazarus (из интернета) – перешел на него. Как-то лазил по форуму www.freepascal.ru и наткнулся там на тему «Паскаль для мобилок» - решил попробовать. Первым (не считая Hello World) моим проектом стал X-Player (ибо стандартный плеер меня совсем не устраивал), сейчас его и развиваю. В процессе разработки познакомился с Java, сейчас активно использую его для написания своих библиотек для MIDlet Pascal.
MIDlet pascal имеет в своём составе довольно ограниченный набор функций, но разработчиками была создана поддержка пользовательских библиотек, написанных непосредственно на Java. Такие возможности нужны, например, если пользоваться файловой системой телефона, которые весьма специфичны у различных производителей и поэтому не включены в стандартный набор функций.
Сами библиотеки являются Ява-классами (*.class), а не мидлетами.
Вобще мидлет - это программа на Java 2 micro edition, имеющая расширение *.jar (по сути zip-архив с классами и другими ресурсами).
- Расскажи немного про свои программные продукты.
- У меня было где-то с десяток небольших проектов различного направления. Писал в основном для себя, когда появлялись какие-либо идеи полезных утилиток. Среди них интерфейс для UPX (упаковщик программ) – пользуюсь постоянно, конвертор bmp в ico – создаёт иконки. Найти их можно на моём сайте (shimigon.narod.ru/soft.html). Более крупными проектами у меня были Central Defenser – аркадная игра по мотивам Dune с платформы Sega Genesis и Dark Town Engine – движок для RPG 3D игр, находящийся сейчас в начальной стадии разработки. Тут уж я вообще залез на DirectX.
Некоторые мои утилиты были навсегда утрачены: когда у меня ещё не было сайта, случилось горе – "полетел" винт. Наиболее значимой там была программа для создания установщиков и движок для классических квестовых игр (2D)
- Какими инструментами ты пользуешься в своей работе?
- Программирую на FreePascal через FPShell (IDE от одного нашего соотечественника, использую его также для написания программ на Java), Lazarus и MIDlet Pascal имеют свои встроенные редакторы. На Java пользуюсь J2SE_SDK + J2ME_WTK последних версий где-то на осень 2006.
Также пользуюсь GIMP (аналог Photoshop, только бесплатный), Imagine (аналог ACD See, версия 0.9 – плагин к Total Commander) – это всё, связанное с графикой. Веб странички с сайта пишу по старинки – в Блокноте.
- Чем на твой взгляд вызвана популярность языка Java? Например, корпорацией Microsoft активно продвигаются различные вариации Бейсика, существует поддержка в Internet Explorer, однако, Java уже завоевывает мобильные платформы, видимо дело не только в простоте языка?
- Точно утверждать не могу, но, по-моему, Microsoft сильно увлеклась новыми технологиями, что совсем забыла про компактные устройства и спохватилась лишь к появлению смартфонов. Хотя учитывая заторможенность Java-интерпретаторов, можно предположить, что скоро эта платформа уйдёт на задний план, уступив место полноценным программам (проверено на Siemens CX75: ZX-эмулятор на Java работает в десятки раз медленнее, чем такой же, но написанный в виде эльфа.
- Давай, объясним поподробнее читателю: кто же такие эльфы?
- Эльфы (ELF - Executable and Linking Format) - это полноценные компьютерные программы (типа *.exe), пишущиеся в данном случае для телефонов Сименс (про их использование на телефонах других производителей не слышал, исключение - смартфоны, но там архитектура немного другая). За счёт того, что они обрабатываются непосредственно процессором телефона (а не Java-интерпретатором), достигается максимальное быстродействие, многозадачность, выполнение фоновых процессов. Изначально телефон (Siemens) не поддерживает эльфы, сначала нужно установить несколько патчей в прошивку.
- Насколько перспективно низкоуровневое программирование под мобильные платформы?
- Можно предположить, что основным недостатком низкоуровневого программирования является специфичность каждой модели телефона (смартфона/КПК) Поэтому, наверное, Java и стала столь популярна (из-за своей универсальности). Но думаю, что в скором времени производители аппаратов наконец придут к общему знаменателю в вопросе архитектуры и тогда всё будет лучше чем сейчас.
- Не кажется ли тебе, что в будущем программист уподобится простому пользователю? Наличие, каких то фундаментальных знаний перестанет играть существенную роль? Уже сегодня в огромном количестве предлагаются так называемые визуальные системы разработки, где весь интерфейс строится в несколько щелчков мышью.
- Нет. Интерфейс программы – это её "лицо", а всё остальное создаётся посредством кода, причём, знание языка не достаточно, тут нужно ещё и некое воображение и логика.
- Интернет – это единственный источник информации для начинающего программировать для Siemens, да и вообще под мобильные платформы? Существует ли какая нибудь литература в данной области?
- Для меня – да. Но литература, безусловно, существует, только она довольно дорогая, и в нашей глубинке ее, наверное, можно достать только через интернет.
- На сегодняшний день создано немало видео и аудио форматов, какие из них перспективны и в будущем, по твоему, получат наиболее широкое распространение в мобильниках?
- Ну, mp3 навряд ли в ближайшее время уйдёт, AAC и WMA наверное будут существовать с ним за компанию. OGG, который, по-моему, используется на смартфонах, скоро получит аппаратную поддержку. Другие форматы, например VQF, скорее всего, забудутся.
- Поговорим про Ogg Vorbis. Почему, на твой взгляд, производители телефонов игнорируют аппаратную поддержку этого формата?
- Дело тут, на мой взгляд, в его сравнительно малой известности. Какие форматы сегодня поддерживаются телефонами? MP3 – с ним всё ясно, WMA – практически навязывается самой Microsoft, хотя по всем основным параметрам отстаёт от mp3 (исключение – малые битрейты, но они мало кому сейчас нужны), AAC – я познакомился с ним недавно, но ведь это разработка тех же людей, которые создали mpeg (если не ошибаюсь), причём, он похож на mp3 и получил свою известность во многом благодаря этому. OGG, хоть он и лучше всех этих форматов вместе взятых, не был достаточно разрекламирован в широких кругах. Тут получается нечто вроде замкнутого круга: большинство музыки кодируется в mp3 из-за того, что его поддерживают даже самые простые плееры (хотя, что им ещё поддерживать, если не mp3), а производители добавляют в свои продукты среднего и низкого класса поддержку самых известных форматов (в которые наиболее часто кодируют музыку)… В более дорогих продуктах поддержка Vorbis уже, слава Богу, появилась.
Хотя почему это не коснулось телефонов? Дело тут, наверное, в том, что для реализации поддержки Ogg необходимо устанавливать дополнительный декодер, а это свободное место и деньги (в современной гонке производителей – основные качества). Мало кто из пользователей, при покупке дорогого аппарата обратит внимание на поддержку Ogg (не знаю правда, есть ли таковые сейчас) и согласится переплатить N рублей только из-за этого. Конечно, я бы переплатил, но знающих людей меньшинство.
Сейчас хотя бы производители игровых программ начали широко применять этот формат, ведь на больших ПК его можно воспроизвести достаточно легко. Да и поговаривают, что он использует меньше системных ресурсов (правда я это не проверял лично)
В общем, есть два выхода: реклама или программное декодирование. Второй, конечно, реализовать намного проще.
- Потеряют ли в будущем свою актуальность форматы, основанные на компрессии материала?
- Ты имеешь ввиду, что в будущем, возможно, останется один WAV из-за растущих мощностей и объёмов памяти?
- Да.
- Скоро темпы их роста приостановятся – есть же какие-то пределы. Да и не потеряли же свою актуальность архиваторы.
- Как ты относишься к идее открытого кода и вообще к бесплатным программам? Собираешься ли ты в будущем заняться коммерческим распространением своих продуктов?
- Я думаю, что это дело программиста - навязывать плату за использование его продуктов или нет. Конечно, если сравнить время и усилия, затрачиваемые на написание даже не очень сложной программы с услугами, к примеру, специалистов по установке газовых котлов, то окажется, что большинство программистов весьма благородные люди.
Навязывание платы за использование моих программ считаю излишним, думаю, что лучше предоставлять VIP-пользователям дополнительные средства, повышающие возможности программы, ну или лишающие их каких-либо неудобств. Правда мне ещё пока рановато говорить об этом, в будущем возможно и буду «подзарабатывать» этим.
Исключение, конечно, составляют программы, пишущиеся на заказ…
- Мобильные устройства с каждым днем все стремительнее догоняют по своим характеристикам настольные компьютеры. Не приведет ли это к полному исчезновению последних?
- Давай-ка пока подождём и проверим, исчезнут ли проводные телефоны, а там и с компьютерами будет всё ясно. Хотя есть одна загвоздка: upgrade. С этим делом у портативных устройств всегда были проблемы, поэтому в исчезновении ПК я сомневаюсь (во всяком случае в ближайшие 15-20 лет)
- Сегодня практически каждый человек плохо представляет себя без мобильного телефона. Не кажется ли тебе, что мы впадаем в некоторую зависимость от современных технологий?
- Этот вопрос задавался каждый раз, когда появлялись какие-либо принципиально новые устройства, поэтому я думаю, что такая зависимость появилась уже давно.
Я два года учился в Таганроге, из них первые пол года жил без компьютера – и вроде бы выжил. Человек имеет такое свойство – приспосабливаться к окружающей его действительности, а значит в случае какой-либо (не дай Бог, конечно) глобальной катастрофы мы выживем, пусть даже заново научившись получать огонь без спичек.
- И в заключение расскажи о твоих планах на будущее.
Я обычно не строю глобальных планов, но в ближайшее время планирую разобраться с прокруткой mp3 на Siemens и реализовать это в X-Player (стандартные средства Явы тут не работают - проверено), хочу разобраться с 3gp – попробовать получить из файла длительность и FPS, чтобы сделать их качественную прокрутку всё в том же X-Player (некачественную я уже сделал). Когда по полной выложусь в своём плеере, продолжу работу над Dark Town Engine. Дальше пока не загадываю.
Автор: Гоша Компьютерный, Mobime.ru
Статья получена: Мобильный путеводитель