Tags:
Topics: 
Node Thumbnail

Russ Cox (@_rsc) นักพัฒนาโครงการ Go ประกาศข้อเสนอชุด Go 2 สำหรับการปรับปรุงส่วนสำคัญๆ ของภาษา Go ได้แก่การดักความผิดพลาด และการรองรับ Generic

การดักความผิดพลาดจากเดิมที่ภาษา Go ไม่ใช้ exception แต่อาศัยการคืนค่าความผิดพลาดและต้องตรวจสอบทุก statement ทำให้โค้ดค่อนข้างเลอะ การออกแบบใหม่อาศัยคำสำคัญ check และ handle โดย check ไว้ตรวจว่าฟังก์ชั่นที่ตามหลังทำงานผิดพลาดหรือไม่ และ handle ทำหน้าที่เป็นชุดคำสั่งจัดการความผิดพลาดที่เกิดขึ้น

อีกส่วนคือการรองรับ Generics ที่ระบุว่าตัวแปรที่จะถือว่าใช้งานได้ต้องมีหน้าตาเป็นอย่างไรบ้าง เช่น รองรับการเปรียบเทียบค่ากัน หรือสามารถรวมค่าเข้าด้วยกันได้

ฟีเจอร์ต่างๆ ของ Go 2 จะไม่ได้ออกเป็นอัพเดตใหญ่ๆ ทีเดียว แต่ค่อยๆ ผ่านกระบวนการออกแบบและทดสอบความคิดจนกว่าจะเข้ามาเป็นส่วนหนึ่งของภาษาหลัก ตอนนี้ข้อเสนอต่างๆ รวมไว้ในเว็บ Go 2 Draft Designs โดยนักพัฒนาสามารถเข้าไปแสดงความเห็นได้

No Description

Get latest news from Blognone

Comments

By: spicydog
ContributoriPhoneAndroidUbuntu
on 29 August 2018 - 08:37 #1067907
spicydog's picture

ในที่สุดก็จะยอมเพิ่ม Generics สักที Reflect กันอยู่นมนาน


SPICYDOG's Blog

By: Configuleto
AndroidWindows
on 29 August 2018 - 14:33 #1067978 Reply to:1067907
Configuleto's picture

ไม่ใช่ยอมเพิ่มครับ นี่เป็นแค่การขอความเห็นจากชุมชนเฉยๆ ยังไม่สัญญาว่าจะยอมเพิ่ม และ Go 2 ยังอีกยาวไกล (ไกลแบบ long term มองยาวระดับห้าปีสิบปี)

อย่างที่ทราบขั้นตอนพัฒนา Golang แต่เดิมคือผู้พัฒนาทั้งสามคน (Griesemer, Pike, Thompson) ต้องเห็นพ้องในฟีเจอร์ใดๆหมดทุกคนก่อนจะถูกนำเข้าไปในภาษาหลัก ปัจจุบันแนวทางนี้ยังใช้อยู่แต่ในสเกลที่ใหญ่ขึ้น อาศัยความเห็นจากชุมชนและ Go Team ต้องเห็นพ้องกัน ปัญหาคือ Go Team ยังไม่ convince เรื่อง Generic เลยครับ

ดังนั้นที่ Russ Cox (หัวฯของ Go Team ปัจจุบัน) เสนอ draft มานี่ไม่ได้หมายความอะไรมากไปกว่า "นี่คือความเห็นผมว่าอาจทำแบบนี้ได้ ทางชุมชนเห็นว่าไง และใช่ ต้องโน้มน้าวทีมให้ได้ว่าทำไม ยังไง"

Again, these are draft designs, not official proposals. There are not associated proposal issues. We hope all Go users will help us improve them and turn them into Go proposals. We have established a wiki page to collect and organize feedback about each topic. Please help us keep those pages up to date, including by adding links to your own feedback.

.

ซึ่งจากประวัติข้อเสนอของชุมชน(ไปอ่านได้ใน issue บน github)หลายๆฟีเจอร์ก็ยังติดอยู่ที่ Go Team ไม่ convince ค้างอยู่แบบนั้นก็เยอะ

ครั้งนี้ก็เช่นกัน ยังไม่ได้ข้อสรุปใดๆ เพียงรอบนี้ engage community มากขึ้น สาเหตุถ้าใครตามดราม่า vgo คงเห็นภาพชัดเจน XD

ส่วนตัวผมเห็นด้วยกับ Go Team, ถ้าท่านใดใช้งาน golang และมีความเห็นเกี่ยวกับพวกนี้ เขียน blog หรือบทความ แล้วส่งลิงค์ไปได้ครับ :)

By: spicydog
ContributoriPhoneAndroidUbuntu
on 30 August 2018 - 15:46 #1068149 Reply to:1067978
spicydog's picture

I see ขอบคุณครับ อ่านไวรีบดีใจไปหน่อย


SPICYDOG's Blog