Sir Charles Antony Richard Hoare หรือ Tony Hoare นักวิทยาศาสตร์คอมพิวเตอร์ผู้สร้างอัลกอริทึม Quicksort, Quickselect และยังมีผลงานด้านภาษาโปรแกรมมิ่งจำนวนมาก เช่น การพัฒนาคอมไพล์เลอร์ ALGOL 60 เสียชีวิตด้วยวัย 92 ปีเมื่อวันที่ 5 มีนาคมที่ผ่านมา
Hoare เริ่มเรียนเขียนโปรแกรมในปี 1958 ขณะเรียนปริญญาโทสาขาสถิติ หลังจากนั้นในปี 1959 เขาเป็นนักเรียนแลกเปลี่ยนไปยังมหาวิทยาลัยมอสโคว และกำลังทำงานวิจัยเรื่องระบบการแปลภาษาด้วยเครื่อง (machine translation) จึงพบปัญหาการเรียงคำในภาษารัสเซียเพื่อให้ค้นหาในพจนานุกรมได้ง่าย เขาพบว่า insertion sort นั้นช้าเกินไป โดยเฉพาะเมื่อใช้กับคอมพิวเตอร์ในยุคนั้นที่เก็บข้อมูลในเทปแม่เหล็ก เมื่อกลับมายังสหราชอาณาจักร จึงพยายามพัฒนาอัลกอริทึมเรียงข้อมูลใหม่ จนได้เป็น Quicksort ที่ตีพิมพ์ในปี 1961
เขายังเป็นหนึ่งในผู้เริ่มต้นใช้ตัวแปรแบบ NULL โดยเริ่มพัฒนาใน ALGOL 60 ที่เขาร่วมพัฒนาในปี 1965 โดย Hoare เคยบรรยายว่าเขารู้ดีว่าตัวแปรแบบอ้างอิงถึงค่าควรใช้งานได้อย่างปลอดภัย ไม่ทำให้การใช้งานทำโปรแกรมแครชได้ง่ายๆ แบบที่ตัวแปร NULL เป็นอยู่ทุกวันนี้ แต่ตอนนั้นเขาพบว่าการอิมพลีเมนต์ฟีเจอร์ NULL มันง่ายมาก จึงอดใจทำใส่ลงไปไม่ไหว และเป็นต้นแบบของภาษาจำนวนมากจนทุกวันนี้ ตลอดจนทำให้โปรแกรมจำนวนมากมีบั๊ก มีช่องโหว่ หรือแครชโดยไม่ตั้งใจอย่างต่อเนื่อง
Tony Hoare ได้รับรางวัล ACM Turing Award ในปี 1980 ถือเป็นรางวัลสูงสุดของวงการวิทยาศาสตร์คอมพิวเตอร์
ที่มา - Computational Complexity
on
so now , is in .. state of…
tontpong Wed, 11/03/2026 - 01:21
so now , is in .. state of null 😢
มันต้องใส่จริงๆ NULL เนี่ย…
mskmktx Wed, 11/03/2026 - 07:40
มันต้องใส่จริงๆ NULL เนี่ย
สู่สุขติ
NULL ไม่เท่ากับ 0
phenocalypse Wed, 11/03/2026 - 08:15
NULL ไม่เท่ากับ 0
null = 0 üks = 1 …
hisoft Wed, 11/03/2026 - 09:12
In reply to NULL ไม่เท่ากับ 0 by phenocalypse
null = 0
üks = 1
…
ในภาษา C จริง ๆ เป็น…
mr_tawan Wed, 11/03/2026 - 21:09
In reply to NULL ไม่เท่ากับ 0 by phenocalypse
ในภาษา C จริง ๆ เป็น implementation specific หมายความก็มีค่าอะไรก็ได้แหละ
แต่ implementation ที่เคยเห็นทั้งหมดเป็น 0 หมดเลย แต่ท่าอาจจะเยอะหน่อย
อย่างอันนี้ GCC stddef.h ระบุไว้ว่า
ส่วนอันนี้ของ clang มาจาก __stddef_null.h ซึ่งเป็น private header ที่ include โดย stddef.h อีกทีนึง
คือมันก็มีทั้ง ใส่ 0 ตรง ๆ หรือ cast เป็น void* ก่อน แต่ค่าก็เป็น 0 เหมือนกัน ซึ่งสาเหตุที่ต้อง cast เพราะว่ามัน covert 0 เป็น pointer ตรง ๆ ใน C++ ไม่ได้ (แต่ใน C ทำได้) มันจะทำให้เกิด warning ครับ
ไปอ่านเจอว่ามีคนบอกว่า ใน C++ อาจจะใช้
nullptrที่เป็นคีย์เวิร์ดของ C++ แทน เช่นอะไรแบบนี้
ส่วนภาษาอื่นก็แล้วแต่ภาษาอยากใช้เลย ค่าไหนก็ได้ แต่ถ้าต้องเอามาต่อกับ C นี่ปลอดภัยสุดคือ 0 ครับ
NULL คืออะไรที่อุ่นใจจริงๆ…
btoy Wed, 11/03/2026 - 08:24
NULL คืออะไรที่อุ่นใจจริงๆ หลับให้สบายนะครับ ขอบคุณสำหรับคุณงามความดีที่ท่านได้ทำไว้ให้คนรุ่นหลัง
92 เลย ขอบคุณสำหรับหลายๆ…
hisoft Wed, 11/03/2026 - 09:11
92 เลย ขอบคุณสำหรับหลายๆ อย่างนะครับ อาจจะยกเว้น null ไว้ตามที่เจ้าตัวก็รู้สึกผิดด้วยล่ะนะ 😅
RIP คุณปู่
Hoo Wed, 11/03/2026 - 12:10
RIP คุณปู่
RIP ครับคุณปู่
VanGogh Wed, 11/03/2026 - 18:58
RIP ครับคุณปู่
จึงอดใจทำใส่ลงไปไม่ไหว …
gizzard Thu, 12/03/2026 - 17:43
ก็คือ แพ้เสียงในหัว :D.
rip ครับ