eXtensible Programming
เดี๋ยวนี้ อะไรๆ ก็ XML จริงๆ แฮะ มีแม้กระทั่งจะใช้ XML เก็บซอร์สโค้ดแทน plain text ดังที่เสนอในบทความ Extensible Programming for the 21st Century ซึ่งเสนอแนวคิดของการสร้างโปรแกรมในยุคใหม่ ว่าจะไม่ใช่การกำหนด syntax และ library มาตรฐานอีกต่อไป แต่จะให้ไวยากรณ์ extensible เหมือน XML และใช้ active framework แทน passive library
บทความเริ่มจากกล่าวถึงระบบการเขียนโปรแกรมที่ยืนยงคงกระพันที่สุด คือยูนิกซ์ ซึ่งอาศัยโปรแกรมเล็กๆ หลายโปรแกรมทำงานร่วมกัน แทนที่จะเป็นโปรแกรมใหญ่โปรแกรมเดียว โดยมีรูปแบบง่ายๆ ของการส่งข้อมูลระหว่างกันด้วย text stream แต่แล้ว ก็มีระบบใหม่ที่จัดการปัญหาได้ยืดหยุ่นและมีประสิทธิภาพไม่แพ้กัน คือ Component Object Model (COM) ซึ่งสามารถส่งข้อมูลโครงสร้างได้โดยตรง และสามารถใช้องค์ประกอบเล็กๆ ทำงานร่วมกันได้ และโปรแกรมในยุคหน้าจะใช้ Framework ในการประสานงานระหว่าง component ต่างๆ เหล่านี้ แทนการสร้าง library function ให้เรียกใช้อย่างเดียว
นอกจากนี้ การขยาย syntax ด้วย preprocessor ที่เคยใช้ใน C/C++ จะกลายมาเป็นการขยายขอบเขตตามแบบของ XML ทำให้ใครๆ ก็สามารถกำหนดโครงสร้างของภาษาเพิ่มเติมเองได้ แทนที่จะให้อยู่ในมือของคณะกรรมการกลุ่มเดียว และมีสมมติฐานว่า ระบบตลาดเสรีจะทำให้โครงสร้างภาษาที่ได้รับการยอมรับแล้วเท่านั้น ที่คงอยู่
การแทนโปรแกรมด้วย XML ยังหมายถึงการกำหนดโปรแกรมด้วย โครงสร้าง ของโปรแกรมจริงๆ โดยไม่ขึ้นกับไวยากรณ์ของภาษาที่ใช้ ว่าจะเป็นวงเล็บปีกกาแบบ C หรือวงเล็บแบบ LISP ทั้งนี้สามารถใช้ XSL stylesheet แปลงให้เป็นซอร์สโค้ดในภาษาที่ต้องการได้ และเครื่องมือเขียนโปรแกรมพื้นฐาน จะกลายเป็น XML editor แทน text editor โดยมีการ integrate เข้ากับระบบการพัฒนาทั้งหมดแบบ IDE ที่มีทั้ง editor, compiler, debugger ซึ่งนักพัฒนาสามารถเพิ่มโมดูลย่อยเข้าไปได้เรื่อยๆ เหมือนกับที่สามารถเขียน macro ใน text editor ได้ นอกจากนี้ การใช้ XML ยังช่วยให้สามารถเพิ่ม document หรือ diagram แบบ SVG เข้าไปในโปรแกรมได้เลย โดยไม่กระทบกับตัวโปรแกรม ซึ่งเท่ากับทำให้แนวคิดเรื่อง literature programming ของ Knuth เป็นจริงด้วย
ว้าว! ฟังดูหรูจัง แต่กว่าจะไปถึงตรงนั้นได้ คงต้องฝ่าด่านต่างๆ อีกมากมาย ซึ่งที่ท้ายบทความก็ได้เตรียมคำตอบไว้แล้ว (ลองเช็กดูก็ได้ ว่าคำถามของคุณจะถูกตอบแล้วหรือยัง)
กึ๋ย.. อ่านแล้วก็เลยเกิดความคิดที่จะลองใช้ Conglomerate ดูบ้าง หลังจากที่ผัดผ่อนมาเรื่อย ว่าข้ายังมี vi อยู่ว่ะ ☺
3 ความเห็น:
ณ 13 พฤษภาคม 2547 เวลา 22:27 , Beamer User แถลง…
เดี๋ยวนี้ เทพ เป็นอะไร เขียนเรื่องแต่ละเรื่องยาวเป็นหน้า ๆ เดี๋ยวก็เก็บไปรวมเล่มขายซะหรอก
พี่จอย
ณ 14 พฤษภาคม 2547 เวลา 09:35 , Thep แถลง…
ตามไลฟ์สไตล์ที่เปลี่ยนไปมังครับ อย่างเรื่อง C99 นั่นก็อ่านระหว่างรอเครื่องบิน ไปประชุมก็เลยบันทึกการประชุม พอกลับมาก็มานั่งอ่านชดเชยเสาร์-อาทิตย์ที่ควรจะได้อ่าน ฯลฯ
ณ 14 พฤษภาคม 2547 เวลา 10:45 , bact' แถลง…
รวมเล่มขายก็ดีนะ
จะได้มีตังค์ใช้ไง
แล้วก็จะมีงานเพิ่มมาอีกอย่าง
วันๆ นั่งเซ็นหนังสือ :P
แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)
<< กลับหน้าแรก