Posts Tagged ‘programing’

ประวัติของภาษาคอมพิวเตอร์

นับตั้งแต่ภาษา Fortran ได้ถือกำเนิดขึ้นในปี 1954 (ไม่รวมถึงภาษาระดับต่ำเช่น ภาษาเครื่อง (Machine) หรือ ภาษา Assembly พัฒนาการของภาษาคอมพิวเตอร์ได้แตกแขนงอย่างมากมายเป็นกิ่งก้านสาขา ภาษาคอมพิวเตอร์เก่าๆ บางภาษาก็ยังมีการใช้งานให้เห็นในปัจจุบัน (Cobol) แต่ก็ถูกปรับปรุงให้ทันสมัยยิ่งขึ้น บางภาษาก็เป็นการยุบรวมจุดเด่นของภาษาคอมพิวเตอร์สองตัวเพื่อพัฒนาเป็นภาษาใหม่  การอยู่รอดของภาษาคอมพิวเตอร์จึงขึ้นอยู่กับความเหมาะสมของการใช้งาน ความสามารถในการแก้ไขปัญหา ความยากง่ายของโครงสร้างภาษา และความนิยมของผู้พัฒนา

ภาษาคอมพิวเตอร์ก็เหมือนสปีชี่ย์หนึ่งของสิ่งมีชีวิต ที่มีการวิวัฒนาการ มีการออกแตกหน่อ(สิ่งมีชีวิตเซลล์เดียว) หรือแม้กระทั่งการผสมพันธุ์เพื่อรวมลักษณะที่ดีของสองภาษาที่แตกต่างกัน เพื่อก่อกำเนิดภาษาคอมพิวเตอร์ภาษาใหม่ เพื่อความอยู่รอด (ขึ้นอยู่กับความนิยมของผู้พัฒนาและความสามารถของภาษา) ในแต่ละยุคแต่ละสมัย

ปัจจุบันมีภาษาคอมพิวเตอร์ ที่ถูกปรับปรุงให้เหมาะสมกับการทำงานด้านต่างๆ มากมายหลายภาษาให้เลือกใช้ ตามลักษณะของซอฟแวร์ที่แบ่งออกเป็น 3 ลักษณะคือ

  1. ภาษาคอมพิวเตอร์ที่เหมาะสมกับซอฟแวร์ที่ใช้งานบนระบบอินเตอร์เนท Web Application) เช่น  php, ruby, asp, javascript, flex
  2. ภาษาคอมพิวเตอร์ที่เหมาะสมกับซอฟแวร์ที่ใช้งานเฉพาะบนเครื่องคอมพิวเตอร์ (Standalone) เช่น c/c++, basic, cobol, delphi
  3. ภาษาคอมพิวเตอร์ที่รวมสองลักษณะข้างต้นไว้ด้วยกัน เช่น java, python, perl, และบางภาษาในตระกูล .net

สำนักพิมพ์ O’reilly จัดพิมพ์วิวัฒนาการของภาษาคอมพิวเตอร์เป็นไฟล์ PDF ไว้ให้ผู้ที่สนใจได้ดาวโหลดไปศึกษาที่นี่ Programming Lanuage Poster (701k) หรือกดที่รูปข้างล่างเพื่อดาวโหลดไฟล์ในรูปแบบของภาพ JPG.

วิวัฒนาการของภาษาตั้งแต่ปี 1954-2004

History of Programming Language

Related posts

Tags: , ,

เขียน UI อย่างง่ายๆ ด้วย XUL

XUL คืออะไร
XUL อ่านว่า ซูล เป็น User Interface Language ที่พัฒนาโดย Mozilla หรือการพูดให้ง่ายๆ ก็คือ XUL เป็นเครื่องมือในการสร้าง UI ด้วยการใช้ XML นั่นเอง

ถ้าหากใครได้เคยลองเขียนโปรแกรมแล้วมีการสร้าง UI ด้วยละก็ จะพบว่าไม่ง่ายนักที่เราจะเขียน UI ขึ้นมาใช้ในโปรแกรมหนึ่งๆ การวางโครงสร้างของ UI มักจะซับซ้อน และยุ่งยากมากขึ้น เมื่อโปรแกรมมีคุณสมบัติเพิ่มขึ้น

ตัวอย่าง UI ที่เขียนด้วยภาษา Java
ยกตัวอย่างในภาษา Java หาเราจะสร้าง UI เล็กๆ ที่ใช้แทนเครื่องคิดเลขดังรูปข้างล่างนี้

เราจะต้องเขียน Code,

TextField n1 = new TextField();
TextField n2 = new TextField();
Lable plus = new Lable("+");
Button eq = new Button("=");
TextField result = new TextField();
//สร้าง Panel เพื่อรองรับ Component ทั้งหมด
Panel p = new Panel();
p.add(n1);
p.add(plus);
p.add(n2);
p.add(eq);
p.add(result);

จะเห็นว่ามีขั้นตอนต่างๆ มากมายในการสร้าง UI ขึ้นมาตัวหนึ่ง และถ้ามีความจำเป็นต้องแก้ไข เพิ่ม หรือลบ Component บางตัวออกจาก UI ก็ทำได้ยาก โดยเฉพาะโปรแกรมขนาดใหญ่ที่มี UI หลากหลายแบบ

สร้าง UI ด้วย Thinlet (XUL for java)
Thinlet คือ Library ของภาษา Java ที่ใช้มารตฐาน XUL จากตัวอย่างข้างต้นเราสามารถแปลง โค้ดของ Java ให้อยู่ในรูปแบบของ XUL ได้ดังนี้



< panel gap="4" top="4" left="4">
< textfield name="number1" columns="4" />
< label text="+" />
< textfield name="number2" columns="4" />
< button text="=" action="calculate(number1.text, number2.text, result)" />
< textfield name="result" editable="false" />

จะเห็นได้ว่าเมื่อเรานำ XML มากำหนดโครงสร้างของ UI ด้วย Library ของ Thinlet  โค้ดเราก็สามารถอ่านได้ง่ายขึ้นด้วยมุมมองของ XML

หากใครสนใจเกี่ยวกับการใช้งาน Thinlet สามารถศึกษาเพิ่มเติมได้ที่

http://thinlet.sourceforge.net/home.html

ในเว็บไซต์จะมีการใช้งานอย่างละเอียดของแต่ละ component ต่างๆ และตัวอย่าง Application อื่นที่นำ Thinlet ไปใช้งานร่วมด้วย

Related posts

Tags: , , ,

แก้ปัญหา Android plugin บน Ubuntu Gutsy

ลองลง Android plugin บน Eclipse จะทดสอบรันโปรแกรม Sample ที่กับชุดพัฒนา Android พบว่าไม่สามาถทำงานได้ นั่งหาทางแก้ไขอยู่สักพัก พบว่าเจ้าตัว Android plugin ไม่สามารถทำงานบน Eclipse รันบน GCJ JVM ได้ ถ้าใครเจอปัญหาเดียวกันนี้ก็ให้ลองตรวจสอบ Default VM ของ Eclipse ได้โดยเปิดโปรแกรม Eclipse แล้วเลือก Help -> About Eclipse SDK -> Configuration details จะพบข้อมูลดังนี้

[...]
-vm
/usr/lib/jvm/java-gcj
[…]

จะเห็นว่า Default VM ของ Eclipse เป็น GCJ JVM ซึ่งเป็นเหตุผลที่ทำให้เจ้าตัว Android Plugin ทำงานได้ไม่เต็ม 100% วิธีแก้ไขก็ให้เราไปเปลี่ยนลำดับ JVM ที่เป็นของ Sun ให้อยู่บนสุดในไฟล์ /etc/eclipse/java_home ดังนี้

# This file determines the search order the Eclipse Platform uses to find a
# compatible JAVA_HOME. This setting may be overridden on a per-user basis by
# altering the JAVA_HOME setting in ~/.eclipse/eclipserc.
/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj

หลังจากแก้ไขแล้วให้ลองตรวนสอบที่หน้า Help ของ Eclipse อีกที Default VM จะต้องเปลี่ยนไปตามค่า Configuration ที่ได้แก้ไปสักครู่ แล้วก็ลองไปทดสอบรันโปรแกรมตัวอย่างของ Android อีกครั้งพบว่าตอนนี้โปรแกรมสามารถทำงานได้แล้ว

Related posts

Tags: , , , ,


Page 1 of 11