วันพุธที่ 1 ตุลาคม พ.ศ. 2557

ศูนย์-โอ-หนึ่ง-แอล MO Memoir : Wednesday 1 October 2557

"0" "O" "o" "1" "l" Arial
"0" "O" "o" "1" "l" Courier New
"0" "O" "o" "1" "l" Microsoft Sans Serif
"0" "O" "o" "1" "l" Tahoma
"0" "O" "o" "1" "l" Times New Roman

Font ข้างบนเป็น font ที่มีอยู่ในคอมพิวเตอร์ทั่ว ๆ ไป จะเรียกว่าเป็น font แรก ๆ ที่มีใช้กันก็ได้ ก่อนที่เราจะมี font มากมายหลายแบบมาให้เลือกใช้เหมือนในปัจจุบัน
  
เวลาที่เราต้องการค้นหาอะไรใน google ถ้า google คิดว่าเราพิมพ์ผิด มันก็จะพยามแก้ไขโดยแนะนำว่าคำที่มันคิดว่าถูกมาให้ แต่ถ้าเป็นตัวโปรแกรมที่เป็นชุดคำสั่งแล้ว มันไม่มีการแก้ไขอะไรให้ ต่างกันเพียงแค่อักษรตัวเดียวมันก็ถือว่าแตกต่างกันแล้ว ดังนั้นแต่ก่อนเวลาเขียนโปรแกรม ซึ่งมักจะเขียนกับบนกระดาษก่อน ก่อนที่จะนำไปพิมพ์เข้าเครื่อง ก็ต้องมีหลักการในการเขียนเพื่อไม่ให้อ่านแล้วต้องตีความว่าเขียนอะไรลงไป และตัวที่เป็นปัญหามากคือเลข "ศูนย์" กับตัว "โอ"
  
สมัยผมเรียนเขียนโปรแกรมคอมพิวเตอร์ (เมื่อ ๓๐ ปีที่แล้ว) อักษรที่ใช้ในการเชียนโปรแกรมคอมพิวเตอร์จะเป็นตัวพิมพ์ใหญ่ทั้งหมด เลขศูนย์กับตัวโอนั้นเวลาดูบนหน้าจอคอมมันพอจะมองเห็นความแตกต่างกันอยู่ แต่เวลาเขียนด้วยมือมันจะแยกไม่ออก ดังนั้นตอนที่เรียนเขียนโปรแกรมทางอาจารย์ผู้สอนก็จะกำชับเป็นนักเป็นหนาว่าถ้าต้องการสื่อว่าเป็นเลขศูนย์ (ไม่ใช่อักษร "โอ" ตัวใหญ่) ก็ให้ทำการขีดฆ่าด้วยเส้นเฉียงจากขวาบนลงซ้ายล่าง


รูปที่ ๑ (บน) เลขศูนย์พิมพ์จากคอมพิวเตอร์จะมีการขีดฆ่าเพื่อให้แตกต่างจากอักษร "โอ" ตัวใหญ่ (ล่าง) รหัสผ่านที่เขียนบนกระดาน ตัวอักษรที่ลูกศรชี้ควรเป็นเลขศูนย์หรือตัวโอ ผู้อ่านก็ต้องใช้การตีความจากข้อความเอาเองว่าควรเป็นตัวไหน
  
เนื่องจากแต่ก่อนไม่มีการใช้อักษรภาษาอังกฤษตัวพิมพ์เล็กในการเขียนโปรแกรม ดังนั้นปัญหาเรื่องตัว "แอล" ตัวเล็ก (l) กับเลข "หนึ่ง" (1) มันก็เลยไม่มี อันที่จริงถ้าเขียนตัว "แอล" ตัวเล็กกับเลข "หนึ่ง" ด้วยมือมันก็สามารถเขียนให้แตกต่างกันอย่างชัดเจนได้อยู่แล้ว แต่มันจะมีปัญหาตอนพิมพ์ออกมา ซึ่งแม้ว่า font จะพิมพ์ให้แตกต่างกัน แต่ก็อาจทำให้อ่านผิดพลาดได้ง่ายเช่นกัน
  
ด้วยเหตุนี้แต่ก่อนเวลาเขียนโปรแกรมทีก็ต้องมีการวางแผนกำหนดชื่อตัวแปรต่าง ๆ ไว้ล่วงหน้า เช่นหลีกเลี่ยงการใช้อักษรตัว "โอ" ตัวใหญ่ในการตั้งชื่อ ตรงไหนที่เป็นเลขศูนย์เวลาเขียนด้วยมือก็จะมีการขีดฆ่า ตรงไหนที่เป็นอักษร "โอ" ก็จะไม่มีการขีดฆ่า แต่เดี๋ยวนี้เวลาที่เห็นใครต่อใครเขียนที่อยู่อีเมล์ แทบจะไม่มีการขีดฆ่าเพื่อแยกแยะว่าตัวไหนเป็นตัวโอหรือเลขศูนย์ให้เห็นแล้ว คนอ่านต้องตีความเอาเองจากรูปแบบคำว่าควรเป็นตัวไหน ทั้งนี้อาจเป็นเพราะว่าพักหลังมานี้คงไม่ได้มีการสอนให้เขียนกันอย่างนี้แล้วก็เป็นได้
  
การที่ให้คนอ่านต้องไปตีความเอาเองว่าตัวอักษรที่เห็นนั้นเป็นตัวอักษรอะไร ถ้าเป็นพวกชื่อ สถานที่ คำที่มีความหมายตามพจนานุกรม หรือตัวเลขที่ดูเหมือนว่าเป็นปีพ.ศ. หรือ ค.ศ. มันก็พอจะเดาได้ แต่ถ้าเป็นรหัสผ่านที่ไม่อยู่ในรูปแบบที่มีความหมาย ก็คงวุ่นไม่น้อย

ไม่มีความคิดเห็น: