จุดอ่อนอันยิ่งใหญ่ของ 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 คือ
ตอนนี้ Microsoft ยังปล่อย TypeScript ออกมาเพียงขั้น preview อยู่ ถ้าสนใจก็ไปทดลองเล่นผ่านหน้าเว็บได้เลย ส่วนด้าน source code นั้นเป็น open source ภายใต้สัญญาอนุญาต Apache 2.0 ครับ
ที่มา: TechCrunch
Comments
โค้ดอ่านง่าย เข้าใจง่ายดีครับ
ในโค้ดตัวอย่างนี่ semicolon มีมั่งไม่มีมั่ง
กำลังจะบอกว่ามีหรือไม่มีก็ได้รึเปล่าหว่า...
อ่านง่ายดีแฮะ
การประกาศตัวแปรถ้าได้ syntax แบบ c# นี่จะเยี่ยมมากเลย
+1
ผมชอบแบบ Type เห็นปุ๊ป ทำความเข้าใจง่ายกว่า +1
ชอบเหมือนกันครับ ดูทำให้ง่ายขึ้นมากเลย
นึกถึงตอนที่มีทั้ง VB Script กับ JavaScript เลย (;¬_¬)ซึ่งสงครามจบที่ JavaScript แต่ตอนนี้ท่าจะหนักกว่าตอนนั้นนะ
ถ้าให้ต้อง compile ให้เป็น JavaScript ทุกครั้งที่แก้โปรแกรมก็ไม่ไหวนะ สุดท้ายกลับไปเขียน JavaScript อยู่ดี ( ̄ε(# ̄)
ลืมเอา video intro to TypeScript ของ Anders มาใส่หรือเปล่าครับ?
ปล. จริงๆ ควรจะบอกว่า TypeScript คือส่วนต่อขยายจาก JavaScript ในปัจจุบัน(extend/superset) แปลว่าเอา JavaScript ธรรมดาไปเปิดใน TypeScript Editor ได้
สงสัยยังไม่ได้เปลี่ยน Input format เป็น Markdown-iframe แน่ ๆ
Coder | Designer | Thinker | Blogger
ผมกำลังงงอยู่ เนื้อข่าวต้นฉบับก็ไม่เห็นมีพูดถึง video หรือ Andres เลยหนิครับ?
ง่ายดีและลดการเรียนรู้ได้เยอะทีเดียวเพราะคล้าย javascript เลยครับ
ตอนนี้ jQuery เข้าสายเลือด ><
คิดเหมือนกัน เป็นตัวแปรสำคัญที่ยังยึดกับ Javascript ต่อไป
ต่อให้ดันมีบริษัทใดจ่ายเงินให้ JQuery มีภาษาของตัวเองขึ้นมา แล้ว community เดิมๆ ผู้พัฒนาปลั๊กอินเดิมๆ ไม่เอาด้วย ก็แป๊กอยู่ดี
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
มันใช้กับ jQ ได้ 100% เลยนิ :?
อยากให้ทำตัวแปลงจาก C# VB C++ เป็น Java script
มันคนละเรื่องกันเลยนะครับ
เข้าใจครับว่ามันคนละเรื่องกัน
เพียงแต่อ่านข่าวแล้วรู้สึกว่า ทำภาษาใหม่แล้วแปลงกลับมาเป็น JavaScript เพื่อให้พัฒนาโปรแกรมง่ายขึ้น
ก็เลยรู้สึกว่า Microsoft มีภาษาอยู่แล้วตั้งหลายภาษา ถ้าทำ Tool แปลงภาษาตระกูล .Net ให้เป็น Java Script น่าจะดีกว่าใหม เพราะ Dev จะได้ไม่ต้องเรียนรู้ภาษาใหม่
ผมคิดเล่นๆครับ ^^
อันนี้ target คือกลุ่มที่เขียน js .. แต่ว่าทำให้ js มันใช้ง่ายขึ้น
Java != JavaScript
Dream high, work hard.
มีวิธีทำอยู่นะครับแต่หลายขั้นตอนหน่อย คือเขียนโปรแกรมด้วยจาวาหรือภาษาตระกูลด็อทเน็ทแล้วคอมไพล์เป็นไบท์โค้ด เมื่อเสร็จแล้วแปลงไบท์โค้ดที่ได้เป็นซอสโค้ดของ c++ ด้วย xmlvm เสร็จแล้วคอมไพล์โค้ดภาษา c++ ด้วย Clang ให้เป็น LLVM bitcode เสร็จแล้วแปลงต่อด้วย Emscripten ตัวนี้มีหน้าที่แปลง LLVM bitcode เป็น javascript ครับ ....(ละมั้ง!)
ฮ่า ฮ่า ฮ่า
.. this one :?
http://sharpkit.net/Compare.aspx
โอ้ เพิ่งรู้ว่ามีตัว Convertด้วย
ขอบคุณครับ
ง่ายกว่าวิธีของผมเยอะเลย T-T 555+
typescript dogfooding by ms, in development of tfs .. http://blogs.msdn.com/b/bharry/archive/2012/10/24/typescript-a-real-world-story-of-adoption-in-tfs.aspx
ใครไม่รุจัก tfs ก้อลองแวะดูที่ http://tfs.visualstudio.com/ ละกัน (ตอนนี้มัน RTM แล้วด้วย ใช้กับงาน production ได้ละ ถ้าไม่เกิน 5 คน ใช้ได้ฟรี)