แนวโน้มในอนาคตของภาษาโปรแกรมแบบไดนามิก

tags:

InfoWorld มีสกู๊ปเกี่ยวกับอนาคตของภาษาโปรแกรมแบบไดนามิก ว่าจะไปในทิศทางใด จำนวน 10 ข้อ

  1. ภาษาจะมีลักษณะคล้ายกันมากขึ้น เพราะหยิบยืมฟีเจอร์ของภาษาอื่นๆ มาใช้
  2. เฟรมเวิร์คมีความสำคัญมากขึ้น ปัจจัยในการเลือกไม่ได้มีแต่ภาษาอย่างเดียวอีกต่อไป แต่มีเรื่องเฟรมเวิร์คเข้ามาเพิ่มด้วย
  3. เริ่มมีการระบุความเชี่ยวชาญเป็นชื่อแอพพลิเคชัน (เช่น WordPress, Drupal, Facebook) มากขึ้น แทนที่จะเป็นตัวภาษา แต่ถ้ามันเฉพาะทางเกินไป อาจอยู่ไม่ยืด
  4. ชุมชนผู้ใช้ภาษาโปรแกรมจะมีอิทธิพลเพิ่มขึ้น ตัวอย่างเช่น เมื่อ iPhone SDK เปิดตัว ก็มีคนสนใจ Cocoa/Obj-C เพิ่มขึ้นมาก
  5. เว็บแอพพลิเคชันและ cloud จะเป็นปัจจัยสำคัญที่ทำให้ภาษาไดนามิกรุ่ง เอาง่ายๆ ดู AppEngine/Python
  6. ประสิทธิภาพจะเป็นตัวเปลี่ยนเกม - สงครามเอนจินจาวาสคริปต์ระหว่าง TraceMonkey, V8, SquirrelFish Extreme จะทำให้ประสิทธิภาพของจาวาสคริปต์เพิ่มจนเราอาจเอา Perl ไปรันได้ (Larry Wall เขาว่าไว้)
  7. โปรแกรมมิ่งจะเปลี่ยนจากเดิมที่อิงคอมมานด์ไลน์ มาเป็นเว็บอย่างเดียวมากขึ้น เช่น การใส่ code snippet ส่วนเล็กๆ ลงใน WordPress หรือ Drupal
  8. การคอมไพล์ข้ามแพลตฟอร์ม เช่น Python เป็นไบต์โค้ดหรือ CLR และ GWT แปลงจาวาเป็นจาวาสคริปต์ จะช่วยขยายพรมแดนของภาษาไดนามิกออกไป
  9. ให้จับตาดูเครื่องมือโปรแกรมมิ่งแบบลากแล้ววาง อย่างเช่น Coghead หรือ Microsoft Popfly
  10. ตัวภาษาและแพลตฟอร์มต้องพัฒนาตัวเอง ให้รองรับสถาปัตยกรรมคอมพิวเตอร์แบบใหม่ๆ เช่น มัลติเธร็ด

ที่มา - InfoWorld

cblue's picture

1. จริง และจะยืมฟีเจอร์กันต่อไป

4. ค่อนข้างชัดเจน ตอน Android SDK ออกมาก็เป็นทำนองเดียวกัน (ภาษาอาจจะคุ้นเคย แต่ stack ใหม่)

8. การที่ภาษา ๆ นึงจะอยู่บน stack เดียวนั้นเป็นการปิดกั้นตัวมันเองอย่างมาก คือเรียกว่า cross-platform คงไม่ได้แล้ว อาจจะต้องเรียกกันว่า cross-stack ?
ยกตัวอย่างเช่น Ruby นอกจาก C implementation แล้ว ก็มีทั้ง IronRuby บน DLR (ที่เป็น cross-platform), JRuby บน JVM (ที่เป็น cross-platform) และมี Rubinius VM และอื่น คิดว่าเริ่มเห็นชัดแล้วว่า เราต้องนิยามคำว่า platform กันใหม่

10. เพราะ multi-core ภาษาถัดไปที่จะครองโลกอาจเป็น Erlang ?

ZetaSolid's picture
  1. อาจเป็น C++0x ก็ได้นะครับ
ABZee's picture

เยอะไป อยากได้แบบโดนๆสักสามสี่ข้อก็พอแล้ว เช่นข้อ 2

LongSpine.com

latesleeper's picture

ชอบวิธีการเขียนคำว่า มัลติเธร็ด ครับ

mk's picture

เป็นวิธีถอดเสียงตามราชบัณฑิตปกติครับ th ใช้ ธ

cblue's picture

มาเสริมข้อ 9 ครับ ลองเล่น Coghead + ลอง get ข้อมูลผ่าน REST API ดูแล้ว ซาบซึ้งมาก

javaboom's picture

ตามไม่ทันเลยครับ เห็นทีอีกไม่กี่ปี ผมฟังภาษาคอมไม่รู้เรื่องแล้ว ตอนนี้ก็แทบจะเขียนโปรแกรมไม่เป็นแล้ว ... ทุกขัง อนิจจัง อนัตตา

JavaBoom (Boom is not Java, but Java was boom) http://javaboom.wordpress.com

khajochi's picture

ตามเรื่องภาษาโปรแกรมนี่เหนื่อยจริงๆ สงสัยต้องเข้าวัดเข้าวาทำจิตใจให้สงบก่อนเริ่มศึกษาตัวใหม่ๆ

---
Khajochi Blog : It's not a Bug ... It's a Feature

Thaina's picture

มา .Net/Mono กันเถอะ เฟรมเวิร์คเดียวคอมไพล์ได้ทุกภาษา อะไรงี้

cloverink's picture

ภาษาจะเป็นไงก็ช่าง ทุกอย่างก็อยู่บนคณิตศาสตร์และทฤษฎีโลกแห่งความเป็นจริงอยู่ดี

BonBon's picture

เห็นด้วยกับ ข้อ 2,8 อย่างยิ่ง หมดยุคผูกขาดแล้วครับ

Bongbank's picture

อนาคตจะเขียนโปรแกรมเป็นภาษาอังกฤษได้เลยหรือเปล่าแบบนี้ เข้าใกล้คำว่า Human Language ไปเรื่อยๆ แล้ว

IceDagger's picture
  1. ภาษาจะมีลักษณะคล้ายกันมากขึ้น เพราะหยิบยืมฟีเจอร์ของภาษาอื่นๆ มาใช้

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

  1. เฟรมเวิร์คมีความสำคัญมากขึ้น ปัจจัยในการเลือกไม่ได้มีแต่ภาษาอย่างเดียวอีกต่อไป แต่มีเรื่องเฟรมเวิร์คเข้ามาเพิ่มด้วย

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