เพื่อนๆที่ทำงานบนหลาย OS และคุ้นเคยกับ UNIX based OS เช่น MacOS หรือ Linux เวลาที่ต้องใช้ Windows จะไม่ค่อยคุ้นเคยกับการใช้ “\” ใน File System ของ Windows เนื่องจากในโลกของ UNIX จะใช้ “/” กันหมด หลายคนคงแปลกใจว่าทำไม Windows ถึงใช้ “\” วันนี้เลยจะมาเล่าให้ฟังครับ
ตอนที่ Microsoft ทำ PC-DOS 1.0 ให้ IBM ตามที่เคยเล่าไปแล้ว การทำงานของคอมพิวเตอร์ใช้ Text mode command line ทั้งนั้น ไม่มี GUI จะสั่งให้คอมพิวเตอร์ทำอะไรก็ใช้พิมพ์คำสั่งใน Terminal เอา
ทีนี้เวลาที่จะเรียกเมนู หรือคำสั่งพิเศษต่างๆ ก็จะต้องใช้คีย์ที่เรียกว่า “Switcher” ซึ่งตอนนั้น UNIX ใช้ “-” ในการเรียกเมนูหรือคำสั่งพิเศษต่างๆ แต่บนเครื่อง DEC (เช่น VMS, DECSystem-20) ใช้ “/” เป็น switcher
โปรแกรมเมอร์ที่ทำงานในไมโครซอฟต์รุ่นแรกๆ ส่วนใหญ่มาจาก DEC ทั้งนั้น ก็เลยใช้ “/” เป็น switcher เรียกเมนู
อีกอย่างคือ การเรียกชื่อไฟล์ใน UNIX ใช้ /directory/subdir/file.ext แต่ใน DEC ใช้ <volume>:<directory>.<subdir>file.ext,3 (เลข 3 คือ version ของไฟล์)
วิธีของ DEC จะแยกความแตกต่างของ volume, directory กับ filename โดยใช้ < > ครอบ volume กับ directory ซึ่งยุ่งยาก DOS เลยใช้แบบ UNIX แต่เนื่องจากใช้ “/” เป็น switcher ไปแล้ว เลยต้องใช้ “\” แทน เหตุผลก็มีแค่นั้น
และใน DOS ใช้ Disk name เป็น A, B, ก็เลยใช้ diskname เหมือน volume ใน DEC เช่น A:\DIR\SUBDIR\FILE.EXT (ใน DOS File System เป็นตัวอักษรใหญ่หมด)
แต่ในขณะเดียวกัน หลายคนในทีมไมโครซอฟต์ก็เป็นพวก UNIX จ๋า ก็เลยเขียนให้ Windows รับได้ทั้ง “\” และ “/” และทำ registry ไว้แบบ undocument ให้เปลี่ยน switcher เป็น “-” ได้ด้วย
เพื่อนๆที่เขียน cross platform ก็คงเคยบ่นเรื่อง Windows ไม่เข้าพวกมาบ้างไม่มากก็น้อย และบางครั้งเรื่อง “\” vs “/” ก็กลายเป็นสงครามศาสนาของบรรดาโปรแกรมเมอร์ไป