จุดอ่อนอันยิ่งใหญ่ของ JavaScript นั้นเป็นผลพวงจากการที่ตัวภาษาถูกออกแบบมาไม่ดีเท่าท ี่ควร ไม่ว่าจะเป็นการใช้ scope แบบ functional (คล้ายภาษา LISP) แต่กลับเขียนไวยากรณ์ในแบบ procedural (คล้ายภาษา C) ซ้ำยังอนุญาตให้เลือกว่าจะใส่ semicolon (;) ท้ายประโยคหรือไม่ก็ได้ ไปจนถึงชื่อของภาษาที่ทำให้หลายคนเข้าใจผิดว่ามันคือ Java ขนาดย่อมๆ เสียอีก นี่ทำให้การพัฒนาโปรแกรมที่ดีบน JavaScript ยุ่งยากมากสำหรับมือใหม่
แต่เนื่องจาก JavaScript ถูกใช้อย่างล้นหลาม การจะประกาศเลิกใช้ฟังก์ชันหรือไวยากรณ์ที่เป็นจุดอ่ อนจึงเป็นไปได้ยากมาก ทางออกที่มีประสิทธิภาพกว่าคือการสร้างภาษาขึ้นมาใหม ่หมด ภายใต้เงื่อนไขที่ว่าภาษาใหม่นี้ต้องแปลงกลับไปเป็น JavaScript ได้ (เพื่อรับประกันว่า อย่างน้อยมันก็จะสามารถทำงานได้บนทุก browser ในปัจจุบัน)
ความพยายามที่ผ่านมาก็ได้แก่ CoffeeScript โดย Jeremy Ashkenas, Dart โดย Google และตอนนี้ Microsoft ก็ขอลงแข่งขันในสมรภูมินี้ด้วย TypeScript ครับ
ไวยากรณ์ของ TypeScript นั้นยังคงความเป็น JavaScript เดิมๆ อยู่เยอะมาก ต่างจาก CoffeeScript ที่ออกแบบใหม่ทั้งหมด (คล้ายจับ Ruby, Haskell มารวมกัน) และไม่เหมือนกับ Dart ที่เป็น structure เต็มรูป
โดยความสามารถของ TypeScript ที่เพิ่มขึ้นจาก JavaScript คือ

  • เลือกได้ว่าจะทำเป็น static type หรือไม่
  • เพิ่มไวยากรณ์สำหรับประกาศ class
  • รองรับระบบโมดูล
  • ปลั๊กอินสำหรับ Visual Studio

ตอนนี้ Microsoft ยังปล่อย TypeScript ออกมาเพียงขั้น preview อยู่ ถ้าสนใจก็ไปทดลองเล่นผ่านหน้าเว็บได้เลย ส่วนด้าน source code นั้นเป็น open source ภายใต้สัญญาอนุญาต Apache 2.0 ครับ
ที่มา: TechCrunch


อ่านต่อ...