Khan Academy - ทำงานอยู่บนโค้ดภาษา Go 500,000 บรรทัด
(blog.khanacademy.org)-
เริ่มโปรเจ็กต์ Goliath ในปี 2019 เพื่อย้ายจาก Python2 ไปเป็น Go
-
ตอนเริ่มต้นยังไม่มีใครรู้จัก Go แต่ตอนนี้วิศวกรจำนวนมากบอกว่า "อ่านและเขียนง่าย" และ "ยิ่งทำงานด้วยก็ยิ่งชอบ Go"
-
เคยไม่พอใจที่ไม่มี Generics แต่ทีม Go กำลังพัฒนาอยู่
-
ฟีเจอร์ของภาษา Go มีน้อยกว่า จึงต้องใช้ความพยายามมากขึ้นเมื่อต้องพอร์ตโค้ด Python แต่โค้ดมีความสม่ำเสมอมากขึ้นและอ่านได้เร็วขึ้น
-
เร็วกว่า Python อย่างมาก
-
โค้ด Python สำหรับอัปเดตจำนวนมากที่เคยทำให้ Google Cloud Datastore แสดง contention warning ราว 100 ครั้งต่อชั่วโมง เมื่อนำมาเขียนใหม่เป็น Go ก็ทำงานได้โดยแทบไม่มี warning เลย
-
โดยทั่วไปอาจต้องเขียนโค้ดมากกว่า Python (verbose) แต่ทำงานได้เร็วกว่า เครื่องมือดีกว่า และทำงานได้ดีในโปรดักชัน
5 ความคิดเห็น
ในฐานะโกเฟอร์ปีที่ 5 ก็หวังว่าอย่าใส่ generics เลย... เฮ้อ
แม้ว่าจะรู้สึกว่าความเรียบง่ายซึ่งเป็นข้อดีของ Go จะหายไปบ้าง แต่ตอนนี้การทำปัญหาที่แก้ได้ด้วย generics ด้วยแพตเทิร์น interface มันดูไม่ค่อยสวยงามนัก
ดังนั้นผมจึงมองบวกกับการเพิ่ม generics ครับ.. 555
ก็น่าประหลาดใจพอสมควรที่พวกเขาเริ่มเปลี่ยนภาษา ทั้งที่ไม่มีนักพัฒนา Go อยู่เลย
ตอนแรกในโพสต์ที่บอกว่าจะเริ่มเปลี่ยน ไม่มีรายละเอียดแบบนั้น ก็เลยคิดว่าน่าจะมีนักพัฒนา Go อยู่พอสมควร
ถ้าเป็นองค์กรทั่วไป ถ้าจะลองทำอะไรแบบนั้นก็คงเจอแรงต้านอย่างหนัก แต่ก็แอบคิดว่าอาจเป็นไปได้เพราะเป็นองค์กรไม่แสวงหากำไรก็ได้
ดูเหมือนว่าองค์กรต่าง ๆ ที่เปลี่ยนมาใช้ Go จะมีความพึงพอใจกันสูงทั้งหมด
มันเป็นภาษาที่ทั้งใช้งานง่ายและทำให้ผูกพันได้อย่างชัดเจน
ผมคิดว่านี่อาจเป็นไปได้เพราะภาษา Go เป็นภาษาที่เล็กกว่า Python นักพัฒนาหลายคนสามารถพัฒนาได้ภายในเวลาเพียงครึ่งวัน