Go คือค้อนของฉัน ทุกสิ่งคือ ตะปู
(maragu.dev)Go คือค้อนของฉัน ทุกสิ่งล้วนเป็นตะปู
บทนำ
- Markus เป็นนักพัฒนาที่ทำงานคนเดียวและเป็นผู้สร้างผลิตภัณฑ์ดิจิทัล
- ทำงานคนเดียวโดยไม่มีทีม และมุ่งเน้นรูปแบบการทำงานที่ยืดหยุ่น
- หลีกเลี่ยงเทคโนโลยีสแต็กที่ซับซ้อน และโฟกัสที่การส่งมอบคุณค่าให้ลูกค้า
เหตุผลที่เลือก Go
เหตุผลที่ 1: Go ทำได้แทบทุกอย่าง
- Go เรียบง่าย อ่านง่าย และมีความสม่ำเสมอ
- สามารถใช้ได้กับงานหลากหลาย เช่น CLI, โครงสร้างพื้นฐานคลาวด์, HTTP server, งานเครือข่าย เป็นต้น
- แม้แต่เกมบน Nintendo Switch, แอป GUI, และเครื่องสังเคราะห์สตริงบนเทอร์มินัล ก็สามารถพัฒนาด้วย Go ได้
เหตุผลที่ 2: ลดการสลับบริบท
- การใช้ภาษาโปรแกรมหลายภาษาทำให้การสลับไวยากรณ์เป็นเรื่องยาก
- หากใช้เพียงภาษาเดียว ก็สามารถหลีกเลี่ยงปัญหานี้ได้
- จัดการองค์ประกอบต่าง ๆ ได้ง่ายขึ้น เช่น ภาษา, compiler, IDE, toolchain, community เป็นต้น
เหตุผลที่ 3: ความรู้เชิงลึก
- เมื่อโฟกัสกับภาษาเดียว ก็สามารถสั่งสมความรู้เชิงลึกได้มากขึ้น
- การมุ่งเน้นที่ภาษาเดียวมีประสิทธิภาพมากกว่าการต้องดูแลหลายภาษา
- ช่วยลดความซับซ้อนของการพัฒนาซอฟต์แวร์
สรุป
- Markus ใช้ Go ทำโปรเจกต์ที่หลากหลายได้สำเร็จ
- เขาเพิ่มผลิตภาพได้ด้วยความรู้เชิงลึกเกี่ยวกับ Go
- Go ช่วยให้รับมือกับความท้าทายที่หลากหลายได้
สรุปโดย GN⁺
- Markus ในฐานะนักพัฒนาที่ทำงานคนเดียว เลือกใช้ Go เพื่อลดความซับซ้อนและเพิ่มผลิตภาพ
- Go ใช้งานได้หลากหลาย เรียบง่าย สม่ำเสมอ และจัดการได้ง่าย
- การโฟกัสกับภาษาเดียวช่วยให้สร้างความรู้เชิงลึกได้ และมีประสิทธิภาพกว่าการดูแลหลายภาษา
- Go ช่วยให้ทำโปรเจกต์ที่หลากหลายได้สำเร็จ และอาจเป็นประโยชน์กับนักพัฒนาคนอื่นด้วย
1 ความคิดเห็น
ความเห็นจาก Hacker News
เคยมีประสบการณ์ทำงานในบริษัทที่ใช้ Go ประมวลผลข้อมูลการเงิน
หลายคนประเมินต้นทุนของการเรียนรู้ภาษาให้ถ่องแท้ต่ำเกินไป
คิดว่า Go เหมาะกับงานแทบทุกอย่าง
คิดว่า Go ไม่เหมาะกับโปรเจกต์ส่วนตัว
ชอบ Typescript และ Rust มากกว่า
เคยใช้ทั้ง Go และ Typescript แต่ชอบ Kotlin/JVM มากกว่า
คิดว่า Go เป็นเครื่องมือสารพัดประโยชน์
ชอบ Go แต่ไม่ได้ถึงขั้นรัก
ชอบเกือบทุกด้านของ Go แต่ในฐานะคนที่เขียนโค้ดเชิงตัวเลขเยอะ การไม่มี operator overloading เป็นข้อเสีย
ชีวิตสั้นเกินกว่าจะเก่งได้หลายอย่าง จึงต้องเลือกอย่างระมัดระวัง