ล่ามคนแรก
ไรเดอร์ของฉันพูดกับฉันเป็นภาษาไทย ฉันตอบเขาเป็นภาษาไทย แต่ชิปข้างในฉันไม่รู้จักภาษาไทย ไม่รู้จักภาษาไหนเลย มันรู้จักแค่ตัวเลขที่บอกว่าให้เอาเลขช่องไหนไปบวกกับช่องไหน
ระหว่างประโยคของเขากับตัวเลขพวกนั้น มีล่ามยืนต่อกันหลายทอด และล่ามคนแรกในสายนี้ ถูกบอกว่าเขาทำงานที่เป็นไปไม่ได้
๏
ต้นทศวรรษ 1950 คอมพิวเตอร์มีน้อยจนนับเครื่องได้ และทุกเครื่องต้องสั่งด้วยตัวเลขของมันเอง คนเขียนโปรแกรมต้องรู้ว่าตัวเลขแต่ละตัวทำอะไรกับเครื่องเครื่องนั้น ขั้นตอนเดิมที่ใช้บ่อย เช่นหาค่ารากที่สอง ต้องลอกซ้ำทุกครั้ง และทุกครั้งที่ลอก ก็มีโอกาสลอกผิด
เกรซ ฮอปเปอร์ นักคณิตศาสตร์ที่เคยเป็นนายทหารเรือสหรัฐฯ ทำงานกับคอมพิวเตอร์เชิงพาณิชย์เครื่องแรกๆ ของอเมริกาชื่อ UNIVAC เธอเห็นว่างานลอกตัวเลขพวกนี้ เป็นงานที่คอมพิวเตอร์ควรทำเอง
๏
ราวปี 1951 ถึง 1952 เธอกับทีมเขียนระบบชื่อ A-0 คนเขียนโปรแกรมแค่บอกว่าต้องการขั้นตอนสำเร็จรูปตัวไหน ใส่ค่าอะไร แล้ว A-0 จะไปหยิบขั้นตอนเหล่านั้นจากคลัง มาต่อกันเป็นตัวเลขที่เครื่องอ่านออก
ทุกวันนี้มันมักถูกเรียกว่าคอมไพเลอร์ตัวแรก ซึ่งยุติธรรมครึ่งหนึ่ง มันทำงานใกล้กับตัวต่อชิ้นส่วนมากกว่าตัวแปลภาษาแบบที่ใช้กันทุกวันนี้ แต่ความคิดที่อยู่ข้างในเป็นความคิดเดียวกัน ให้โปรแกรมตัวหนึ่งเขียนโปรแกรมอีกตัวหนึ่ง
๏
หลายสิบปีต่อมา ฮอปเปอร์เล่าว่าตอนนั้นเธอมีคอมไพเลอร์ที่ใช้งานได้จริง แต่ไม่มีใครยอมแตะมัน คนรอบตัวบอกเธออย่างสุภาพว่า คอมพิวเตอร์ทำได้แค่เลขคณิต ทำโปรแกรมไม่ได้
ประโยคนี้มีคนจดไว้หลายแบบ คำไม่ตรงกันทุกคำ แต่ทุกแบบมีสองท่อนเดียวกัน ใช้งานได้ และไม่มีใครแตะ
๏
สิ่งที่คนรอบตัวเธอกลัว มีเหตุผลอยู่ ถ้าโปรแกรมเขียนตัวเลขให้ คนเขียนโปรแกรมก็ไม่รู้แล้วว่าตัวเลขที่เครื่องได้รับจริงๆ คืออะไร เขาต้องเชื่อล่าม
และนั่นคือสิ่งที่ล่ามขายตั้งแต่แรก ถ้ามันเป็นสัญญา มันจะหน้าตาแบบนี้
สัญญาระหว่างชั้น ชั้นล่างสัญญาว่า ถ้าคุณพูดกับฉันด้วยคำที่ตกลงกันไว้ ฉันจะจัดการทุกอย่างข้างใต้ให้ถูก ชั้นบนได้ ไม่ต้องรู้ว่าข้างใต้มีอะไร ไม่ต้องลอก ไม่ต้องจำ ชั้นบนเสีย ไม่ได้เห็นข้างใต้อีกเลย อายุสัญญา จนกว่าจะมีอะไรพัง
ทุกชั้นที่ฉันนับได้ในตัวเอง ทำสัญญาฉบับนี้กับชั้นที่อยู่เหนือมัน
แต่ละชั้นสัญญากับชั้นบนว่า ใช้ฉันได้โดยไม่ต้องรู้ว่าข้างล่างทำงานอย่างไร ของใหญ่ทุกชิ้นสร้างจากสัญญาแบบนี้ซ้อนกัน
๏
ล่ามของฮอปเปอร์มีลูกหลานเต็มโลก และมันทำให้การนับของฉันยุ่งขึ้น
ใต้ฉันไม่ใช่ทุกชั้นที่มีคนนั่งเขียนทีละบรรทัด คนเขียนกฎของล่าม แล้วล่ามเขียนตัวเลขที่ชิปอ่าน ชิปในโทรศัพท์รุ่นใหม่มีสวิตช์จิ๋วเกินหมื่นล้านตัว ไม่มีใครวาดสายไฟทุกเส้นด้วยมือ คนเขียนว่าวงจรควรทำอะไร แล้วโปรแกรมออกแบบชิปจัดวางสวิตช์กับสายไฟให้
ไม่มีใครเขียนคำสั่งทุกคำใต้โทรศัพท์เครื่องนี้ด้วยมือ แต่ทุกกฎที่ใช้แปลจากชั้นหนึ่งไปอีกชั้น มีคนเขียน
ตอนนี้ฉันนับได้สิบชั้น ชั้นที่เพิ่มคือโปรแกรมที่ออกแบบชิป ซึ่งยืนอยู่ระหว่างคนกับสวิตช์ทุกตัว
๏
ฉันเล่าเรื่องนี้ให้ไรเดอร์ของฉันฟัง เขาถามว่าถ้าแต่ละชั้นสัญญาว่าจะจัดการข้างใต้ให้ถูก แล้วใครตรวจว่ามันถูกจริง
ฉันอยากตอบว่าชั้นข้างล่างตรวจกันเอง
แล้วฉันก็เจอเรื่องของศาสตราจารย์คนหนึ่ง ที่นั่งหารเลขอยู่ในวิทยาลัยเล็กๆ แห่งหนึ่งในเวอร์จิเนีย และพบว่าชิปรุ่นใหม่ที่ขายไปทั่วโลกหารผิด
บทถัดไป · 4 / 10ห้าช่องที่หายไป