MIDletPascal

MIDletPascal - це мова програмування з паскалеподобним синтаксисом, призначений для написання програм для мобільних телефонів ( мідлетів).

Компілятор мови MIDletPascal перетворює вихідний код в байт-код Java. Синтаксис MIDletPascal подібний синтаксису мови програмування Паскаль. Компілятор MIDletPascal вбудований в однойменну інтегроване середовище розробки, що включає в себе також інспектор байт-коду Java і забезпечує побудову архіву . Jar і створення файлу . Jad, так що компіляція та компоновка мідлетів досить проста навіть для початківців програмістів. MIDletPascal дозволяє будь-якій людині, знайомому з мовою Паскаль, швидко створити програму для телефону, на відміну від JavaME (іншої мови, іспольуемого для мобільного програмування), що вимагає серйозного вивчення.


1. Історія

Мова програмування MIDletPascal створений програмістом нікшего Орлича (Nika Orlić).

Останньою стабільною версією, створеної Орлича, була версія 2.02. Після версії 2.02 автор перестав працювати над вдосконаленням MIDletPascal. Однак він заявив, що згоден передати вихідний код людині, знайомому з Java і C + + (на якому написаний MIDletPascal).

У вересні 2009 року вихідний код MIDletPascal був переданий команді boolean.name [1] [2], планується виправлення відомих помилок / недоліків переклад вихідного коду на Delphi і випуск третьої версії.

Відтепер, згідно з листуванням, проект MIDletPascal є проектом з відкритим вихідним кодом і розповсюджується безкоштовно.

З кінця 2009 року офіційний сайт MidletPascal знаходиться за адресою [1], де розміщуються нові версії і відбувається обговорення.

У липні 2010 року випущена версія MidletPascal 3.0 Final.

Спільнота boolean.name намагається своїми зусиллями організувати роботу російськомовного сайту midletpascal.org, де будуть розташовуватися нові версії і база бібліотек, яка на даний момент знаходиться на форумі.

У листопаді 2011 року вийшла версія 3.4. У середовищі розробки є підтримка on-line оновлень. Однак мова майже не розвивається, крім косметичних виправлень. Функціонал можна збільшити бібліотеками з boolean.name.


2. Можливості

  • Генерація низькорівневого, компактного і швидкого Java байт-коду.
  • Повна підтримка специфікації Паскаля.
  • Частина коду може бути написана безпосередньо на Java.
  • Підтримка обміну SMS.
  • Підтримка зв'язку з HTTP.
  • Підтримка користувальницького інтерфейсу (форми).
  • Підтримка мультимедіа.
  • Дружня інтегрована середовище розробки (IDE).

3. Приклад програми

Приклад програми, яка виводить повідомлення "Hello, world!" в точці екрану телефону з координатами (0,0) і очікує натиснення користувачем будь-якої клавіші:

 begin  DrawText  (  'Hello, world!'  ,  0  ,  0  )  ;  Repaint  ;  while  GetKeyClicked  =  KE_NONE  do  end  . 

4. Повідомлення антивірусів

Деякі версії антивірусних програм (Norton, McAfee, і ін) повідомляють про будь-якій програмі, написаній на MIDletPascal, як про вірус "Trojan.Redbrowser.A". Це викликано тим, що за допомогою MIDletPascal була написана троянська програма RedBrowser, таємно розсилає SMS-повідомлення [3].

У версії 3.0 був змінений код одного з класів, щоб зробити його несхожим на попередні програми і виключити помилкові спрацьовування антивірусів. Виправлення з'явилося починаючи з версії 3.0 beta. Користувачам поточної версії рекомендується зашифрувати готову програму яким-небудь обфускатор, наприклад, JShrink.


Примітки

  1. Тема обговорень запиту - forum.boolean.name / showthread.php? t = 9079
  2. Лог листування з автором - forum.boolean.name / showpost.php? p = 120780 & postcount = 21
  3. Notes from McAfee - uk.mcafee.com / virusInfo / default.asp? id = description & virus_k = 138726