7 คำย่อในศัพท์คอมพิวเตอร์ที่หลายคนยังเข้าใจความหมายผิด

Nuttavut Thongjor

ในวงการคอมพิวเตอร์มีสารพัดศัพท์เฉพาะทางหรือที่เราเรียกกันว่า Jargon อีกทั้งยังมีอักษรย่ออีกเป็นโกดังให้เราได้จดจำ มีหลายคำย่อในนั้นที่สร้างความปวดตับให้เหล่าโปรแกรมเมอร์ ไม่ใช่เพราะมันยากแต่เป็นเพราะเราเข้าใจมันผิดมาตลอดหนะซิ 7กลุ่มคำต่อไปนี้เป็นกลุ่มอักษรย่อที่ผมเชื่อว่าเพื่อนๆหลายคนยังเข้าใจผิดอยู่

1. /usr และ /etc

ใน Linux หรือระบบปฏิบัติการตระกูล Unix-like เรามันเจอสองโฟลเดอร์นี้คือ /usr และ /etc เพื่อนๆทราบไหมครับว่าทั้งสองตัวนี้ย่อมาจากอะไร?

ฟันธงเลยว่า 95% ของผู้อ่านบทความนี้คิดว่า /usr ย่อมาจาก user ถ้าคุณคิดเช่นนั้น.. ผิดครับ! แท้จริงแล้ว usr นั้นย่อมาจาก Unix System Resource ต่างหาก

ส่วน /etc นั้นเพื่อนๆคิดว่าย่อมาจากอะไรครับ? มันมาจาก etcetera นั่นเอง แหมก็ล่อซะเป็นคำย่อเดียวกับภาษาอังกฤษปกติทั่วไปเลยเนอะ ประเด็นของปัญหานี้มันอยู่ที่ว่า Bell labs ผู้พัฒนาระบบปฏิบัติการ Unix เนี่ยเขาดันออกเอกสารที่อธิบายว่า etc ย่อมาจากอะไรช้าไปหน่อย บรรดาผู้ใช้งานทั้งหลายแหล่ก็เลยทึกทักเอาเองว่า etc คงย่อมาจาก Editable Text Configuration มั้ง ก็นะไดเรกทอรี่นี้ดันชอบเก็บแต่ไฟล์ configuration ซะด้วย

2. kB และ KiB

เราต่างเข้าใจกันผิดมาตลอดว่า 1kB นั้นเท่ากับ 1,024 bytes แต่ในความเป็นจริงนั้น 1kB มีค่าเป็น 1,000 bytes ต่างหาก ทำไมนะรึ? ก็เพราะ kB มันย่อมาจาก kilobyte นั่นเอง (1k = 1,000)

แต่เนื่องจากการประมวลผลทางคอมพิวเตอร์อิงบนเลขฐานสอง จึงมีความจำเป็นต้องอ้างอิงถึงค่า 1,024 อยู่ แต่เราจะใช้ว่าเลขตัวนี้เป็น 1kB ไม่ได้เพราะมันเท่ากับ 1,000 เราจึงต้องใช้ว่า 1,024 มีค่าเท่ากับ 1KiB ย่อมาจาก Kibibyte แทนนั่นเอง

สรุปง่ายๆคือ 1kB เป็น 1,000 bytes และ 1KiB เป็น 1,024 bytes เพื่อนที่สนใจเพิ่มเติมอ่านได้จาก มาแก้ความเชื่อผิด ๆ กันดีกว่า “1 kilobyte ไม่ได้เท่ากับ 1024 bytes”!!!

3. i18n และ l10n

จริงๆแล้ว i18n กับ l10n ไม่ใช่เรื่องน่าแปลกอะไร มันคือการสนับสนุนให้แอพพลิเคชันของเรารองรับได้หลายภาษา ที่ผมยกเป็นหนึ่งในเจ็ดอักษรย่อชวนสับสนเป็นเพราะมันทำให้ผู้เริ่มต้นงงว่าเลข18และ10คืออะไร?

นี่คือหนึ่งในวิธีการย่อคำด้วยการนับตัวอักษร i18n นั้นย่อมาจาก internationalization โดยตัวอักษรระหว่าง i ตำแหน่งเริ่มต้นถึง n ตำแหน่งสุดท้ายมีทั้งหมด18ตัวจึงเป็น i18n ในทำนองเดียวกัน l10n ย่อมาจาก localization เพราะมีอักษรระหว่าง l กับ n จำนวน10ตัวนั่นเอง

ไม่ได้มีเพียงการนับจำนวนอักษรเท่านั้นนะครับ การสร้างคำย่อด้วยการนับแบบคำก็มีเช่น W3C ย่อมาจาก World Wide Web Consortium ที่มีการซ้ำคำที่ขึ้นต้นด้วย W ถึงสามคำนั่นเอง

4. GNU

GNU นั้นเป็นตัวย่อที่ตลกเพราะเป็นการย่อแบบซ้ำตัวเองหรือที่เราเรียกว่า recursive acronym GNU นั้นแรกเริ่มเป็นโปรเจคที่ต้องการสร้างซอฟต์แวร์ที่เหมือน Unix รวมถึงเครื่องมือต่างๆที่ Unix มีแต่เอามาให้ผู้ใช้งานอย่างเราๆได้ใช้กันฟรีๆ เพื่อเป็นการป้องกันความเข้าใจผิด ให้ทุกคนรู้ว่าเห้ยๆ GNU เนี่ยเราแค่เป็นนักก็อปเฉยๆนะ แต่เราไม่ใช้ Unix ด้วยเหตุนี้ GNU จึงย่อมาจาก GNU's Not Unix (สงสัยผมต้องเลียนแบบมั่งละ BabelCoder ย่อมาจาก BabelCoder's Not BabelJS)

5. *nix

ผมเชื่อว่าต้องมีเพื่อนๆเคยเห็นประกาศรับสมัครงานซักทีที่ต้องการบุคคลผู้สามารถใช้ nix ได้ แล้ว nix คืออะไรอะ?

ระบบปฏิบัติการแรกเริ่มอย่าง Unix ที่เป็นผลิตผลจาก Bell labs นั้นได้กลายพันธุ์ด้วยการถูกก็อปและดัดแปลงเป็น ระบบปฏิบัติการ Minix ที่ต่อมากลายเป็นพ่อของ Linux อีกทีนึง จะเห็นว่าทั้ง Unix, Minix และ Linux ต่างลงท้ายด้วย nix เราจึงเรียกระบบปฏิบัติการที่มีความเหมือน Unix นี้ว่า *nix นั่นเอง

เอาหละครับเมื่อมันก็อบปี้กันมาแม้กระทั่งชื่อแบบนี้ คำอ่านที่ถูกต้องของระบบปฏิบัติการ Linux จึงเป็น ลินิกซ์ ไม่ใช้ลินุกซ์ครับ

6. foo และ bar

เราต่างเห็นการตั้งชื่อฟังก์ชันหรือตัวแปรด้วย foo หรือ bar อยู่ทั่วไปในหนังสือสอนคอมพิวเตอร์ จนหลายคนคิดว่าไอ้คุณ foo กับคุณ bar เนี่ยมันต้องย่อมาจากอะไรซักอย่างเป็นแน่? เช่น

JavaScript
1function foo() {}

foo และ bar นั้นเป็นสิ่งที่เราเรียกกันว่า Metasyntactic Variable หรือชื่อที่ตั้งไปงั้นหละไม่เห็นจะมีความหมายอะไรพิเศษเลย โดยทั้งสองคำนี้ได้รับความนิยมเมื่อ MIT และ DEC อ้างอิงใน LISP และ PDP-1 จากนั้นสองคำนี้จึงเป็นคำยอดนิยมในการยกขึ้นมาพูดหรือเขียนเพื่อตั้งตัวแปรที่ไม่สื่อความหมายแบบที่เราใช้ๆกันในปัจจุบัน ไม่มีอะไรพิเศษหรือเป็นคำย่ออะไรทั้งนั้นครับ

7. Shebang

จริงๆแล้วคำนี้ไม่ใช่คำย่อครับ แต่ผมเห็นบ่อยในบางเอกสารที่ชอบใช้ตัวใหญ่เป็น SHEBANG จึงคิดว่าถ้าใครมาเห็นตัวอักษรใหญ่หมดแบบนี้คงคิดว่าเป็นคำย่อเป็นแน่

Shebang คือกลุ่มอักษรที่ขึ้นต้นด้วย #! ครับ ผมว่าเพื่อนๆต้องคุ้นเคยดีแน่ๆกับ #!/bin/sh ใช่ไหมครับ พวกนี้หละครับที่เราเรียกว่า Shebang!

จบไปแล้วกับ7คำย่อชวนสับสนในคอมพิวเตอร์ จริงๆแล้วยังมีอีกหลายคำที่ผมไม่ได้หยิบยกมา แต่ก็นั่นหละครับเดี๋ยวนี้สะดวกสงสัยคำไหนแค่จับลง Google แล้วต่อท้ายว่า stands for เช่น UNIX stands for แค่นี้ก็ออกมาให้ค้นกันไม่หวาดไม่ไหวละครับ

เอกสารอ้างอิง

Filesystem Hierarchy Standard. Retrieved June, 20, 2016, from https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

What is the origin of foo and bar?. Retrieved June, 20, 2016, from http://stackoverflow.com/questions/4868904/what-is-the-origin-of-foo-and-bar

Methuz Kaewsai-kao (2016). มาแก้ความเชื่อผิด ๆ กันดีกว่า “1 kilobyte ไม่ได้เท่ากับ 1024 bytes”!!!. Retrieved June, 20, 2016, from https://geeky.cafe/มาแก้ความเชื่อผิด-ๆ-กันดีกว่า-1-kb-ไม่ได้เท่ากับ-1024-bytes-c254c68d8840#.c34gmglyz

สารบัญ

สารบัญ

  • 1. /usr และ /etc
  • 2. kB และ KiB
  • 3. i18n และ l10n
  • 4. GNU
  • 5. *nix
  • 6. foo และ bar
  • 7. Shebang
  • เอกสารอ้างอิง