Dropbox ประกาศเลิกพัฒนาโค้ดใน JavaScript แล้วเขียนใหม่ทั้งหมดเป็น CoffeeScript แทน พบว่าโค้ดลดลงจาก 23,437 บรรทัด เหลือ 18,417 บรรทัด แต่จำนวน token ลดลงไม่มากนัก จาก 75,334 เหลือ 66,058
ปัญหาความยากในการพัฒนาโค้ดเป็น JavaScript เป็นสิ่งที่หลายคนรับรู้ เช่น กูเกิลเองที่พยายามผลักดันภาษา Dart มาก่อนหน้านี้ แต่ความพยายามก่อน Dart คือ CoffeeScript นั้นทำงานร่วมกับ JavaScript ได้เต็มร้อยกว่า ส่วน Dart นั้นต้องการเอนจินเฉพาะเพื่อให้ทำงานได้สมบูรณ์
ปัญหาสองอย่างที่ทีมงาน Dropbox กังวลคือกระบวนการในการพัฒนาจะยุ่งยากขึ้น เพราะต้องคอมไพล์โค้ดก่อนทดสอบบนเบราว์เซอร์ กับการดีบั๊ก การคอมไพล์โค้ดนั้น บนเซิร์ฟเวอร์ทดสอบของ Dropbox คอนฟิกให้คอมไพล์โค้ดทันทีที่หน้าเว็บที่ถูกเรียกนั้นมีความเกี่ยวข้องกับไฟล์ coffee ไฟล์ที่ใหม่กว่าไฟล์ js ที่คอมไพล์มาแล้ว และการดีบั๊กนั้นก็พบว่าไม่ได้ลำบากอะไร โดยกระบวนการพัฒนากินเวลาสัปดาห์เดียวเท่านั้น
ที่มา - Dropbox
Comments
อีกหน่อยจะมี Mocha, Late, Caramel Script ไหมเนี้ย !!!
มี Mocha.js กะ Chai.js แล้วนะฮะ
iced coffeescript ด้วย
หวังว่าคงไม่มี FREEZED CoffeeScript นะครับ...
Dream high, work hard.
ผมขอ Cocoa Script ก็พอ
Macchiato, Affogato Script
ข่าวต่อไป dropbox เปลี่ยนกลับมาใช้ javascript
1 สัปดาห์ ยกเครื่องใหม่ ไวแท้
ลองไปดูวิธีการเขียนโค๊ดของ CoffeeScript บอกตามตรงว่า ไม่รู้เรื่องเลย สั้นไปไหม ? หรือผมโง่ ฮ่าๆ
เปิดใจแล้วให้เวลากับมันก่อนครับ
แต่โดยรวมแล้ว ภาษายิ่งขั้นสูงยิ่งต้องการตัวแปร/บรรทัดของโค้ดน้อยลงเรื่อยๆ ครับ พวกที่สามารถ automate ได้ก็ปล่อยให้ compiler รับหน้าที่แทนไปซะ ส่วน programmer รับหน้าที่ส่วน logic/flow แทน
+1 มันดูง่ายๆ แต่ยังไม่เข้าใจเท่าไหร่
เหมือนบอกจะเลิกเหล้า(แต่ไปกินเบียร์แทน)
ปรกติผมกลับมาเขียน code ใหม่อีกรอบนึงมันก็สั้นลง เป็นเพราะว่ารู้จักใช้ library มากขึ้น หรือมีเทคนิคที่ดีขึ้น
ไม่รู้จะเกี่ยวกันมั๊ย
สุดท้ายแล้ว ก็แปลงกลับไปเป็น Javascript อยู่ดีแสดงว่า Code ที่เขียนเป็น Javascript ไม่ได้ Optimize
อ้าวหรอ ผมอ่านข่าวก็ตกใจนึกว่าใช้แบบนี้ได้แล้วซะอีก
<script language="CoffeeScript">...</script>
javascript + python ??
ออกแนว ruby + c# + haskell มากกว่านะ ยิ่งตรงประกาศฟังก์ชั่นนี่มาเป็น lambda เต็มรูปเลย
จงโค้ดให้น้อย แต่ยังคงประสิทธิภาพ <-- แนวทางโปรแกรมเมอร์
เท่าที่ดูจากที่โปรโมทบนเว็บ พบว่า ไม่ได้มีคุณสมบัติอะไรใหม่เลย นอกจากเขียนให้สั้นลง และอ่านไม่รู้เรื่องมากขึ้น ซึ่งบางครั้ง ผมก็พบว่า อะไรพวกนี้ มันเฉพาะเจาะจงกับพวกโปรแกรมเมอร์เนิร์ดมากเกินไปหน่อยอะ คือรู้สึกว่าแทนที่จะใช้ semantic ของภาษา high-level ที่คนอ่านรู้เรื่อง กลับพยายามทำเอา mnemonic มาใช้แทน เพราะมันทำให้ดู สั้น (แม้ว่าจะเข้าใจยากก็เถอะ แต่สั้นๆ แล้ว ดูปริมาณน้อย เอาเลขบรรทัดมาอวดได้)
iPAtS
ผมว่าพาดหัวว่าเลิกใช้ JavaScript มันก็ฟังดูแปลกๆนะ เพราะอันที่จริงมันก็แปลงกลับมาเป็น JavaScript เหมือนเดิม น่าจะพาดหัวว่า "Dropbox ใช้ CoffeeScript แล้ว"