>>> Let's run Python on Mobile

วันอังคาร, เมษายน 25, 2549

Jasmin ,Assembly for Java

การเขียนโปรแกรมสำหรับ Jasmin ก็คล้ายๆกับการเขียนภาษา Assembly สำหรับ Java
ไฟล์นามสกุล .j สร้างเป็นไฟล์ .class (Java bytecode) ได้อย่างรวดเร็ว
เนื่องจากโครงสร้างของภาษา ใกล้เคียงกับ Java bytecode มาก
(เท่าที่มนุษย์จะสามารถอ่านได้)

ที่มาของ Jasmin มาจากหนังสือชื่อ Java Virtual Machine ของ O'Reilly
การจะศึกษาให้เข้าใจถึง Java bytecode ก็ต้องมี สักภาษาหนึ่ง ที่คนพออ่านได้้ และแต่ละคำสั่งในภาษานั้น ก็ต้องใกล้เคียงกับ แต่ละ Byte code สำหรับ Java Virtual Machine
ผู้เขียนหนังสือ จึงสร้างภาษา Jasmin ขึ้นมา

คุณสามารถ D/L Jasminได้จาก
http://jasmin.sourceforge.net/
ไฟล์ที่จะนำไปใช้งานก็คือไฟล์ jasmin.jar

ลองเปรียบเทียบภาษา Jasmin กับภาษา Java ดูนะครับ
สมมติมี โปรแกรมภาษา Java ง่ายๆประมาณนี้ (ตั้งชื่อว่าSimpleHello.java)

ถ้าเขียนเป็น Jasmin ก็จะได้เป็น SimpleHello.j(ยากๆ)ประมาณนี้

ถ้าคุณจะคอมไพล์ SimpleHello.j ไปเป็น Java bytecode
(สมมติว่า มี jasmin.jar และ SimpleHello.j อยู่ที่ C:\)
ก็ใช้คำสั่ง
java -jar jasmin.jar SimpleHello.j

เท่านี้ก็จะได้ ไฟล์ SimpleHello.class ออกมา
รวดเร็วมาก ไม่ต้องใช้ JavaSDK เลย
มีแค่ JRE+Jasmin ก็คอมไพล์ไปเป็น Java bytecode ได้แล้ว

ลองมาเล่นบน WindowsMoble Smartphoneดูบ้าง
สมมติคุณลง PersonalJava เรียบร้อย
(pjava.exe อยู่ที่ \Storage\pjava\bin)
นำไฟล์ jasmin.jar และ SimpleHello.j
ไปไว้ที่ Folder \Storage Card\j

เวลาจะคอมไพล์ SimpleHello.j ไปเป็น SimpleHello.class
ก็ใช้ Notepad สร้างไฟล์ cpSimpleHello.lnk
ไว้ที่ \Storage Card\j มีอักษรว่า
281#"\Storage\pjava\bin\pjava.exe" -classpath "\Storage Card\j\jasmin.jar" Jasmin "\Storage Card\j\SimpleHello.j"
แล้วใช้โปรแกรมพวก Explorer คลิกที่ cpSimpleHello.lnk
รอสักครู่ก็จะได้ไฟล์ SimpleHello.class อยู่ที่ "\"(root)

เวลาจะrun SimpleHello.class ก็สร้าง SimpleHello.lnk เป็น
282#"\Storage\pjava\bin\pjava.exe" -classpath "\" SimpleHello
แล้วใช้โปรแกรมพวก Explorer คลิกที่ SimpleHello.lnk

ดูๆไปก็สะดวกดี จะไม่สะดวกก็ตรงที่ภาษา Jasmin นี่ยากกว่า Java เยอะเลย
คราวหน้า จะมาแนะนำ อีกภาษาหนึ่งที่ง่ายกว่า ในการเขียนโปรแกรม บน SmartPhone
Jython - Python on Java