‹

99 · ปิดเล่ม — หอคอยเมื่อมองทั้งหลัง

99 · ​ปิด​เล่ม — ​หอคอย​เมื่อ​มอง​ทั้ง​หลัง

​บท​นี้​คือ​หลังคา — ​ที่​ยืน​เมื่อ​ปีน​จบ​แล้ว ​และ​แผนที่​ที่​คืนให้​ตอน​เดิน​ออก

​หอคอย​ทั้ง​หลัง​หน้าตา​เป็น​อย่างไร — ​และ​คน​คนเดียว​จะ​ปีน​มัน​ขึ้นไป​ได้​อย่างไร

​กดปุ่ม​ส่ง

​ข้อความ​ถึง​เพื่อน​อีก​ทวีป​หนึ่ง​ใช้​นิ้วโป้ง​แตะ​ครั้ง​เดียว ​อินเทอร์เฟซ​ที่​รับ​การแตะ​คือ​แผ่น​กระจก​ที่​ขอบ​และ​ปุ่ม​ทุก​อัน​ถูก​วาด​ขึ้น​ด้วยมือ ​เป็นตัว​บ่งชี้ (signifier) ​ยืน​แทน affordance ​ที่​กระจก​ไม่​มี​จริง (13) ​แอป​ที่ทำงาน​ตามนั้น​เขียน​ด้วย​สัญกรณ์​ที่​สร้าง​มา​ให้​คนอ่าน ​ก่อน​ถูก​ลดขั้น​ลงมา​ทีละขั้น​อย่าง​แม่นยำ ​แต่ละ​ขั้น​ง่าย​เพราะ​ขั้น​ก่อนหน้า​ทำให้​ง่าย ​จน​เหลือ​เป็น​คำสั่ง​ที่​ไม่​มีม​นุษย์​คน​ไหน​ได้​เห็น (06) ​มัน​รัน​เป็นหนึ่ง​ใน​โพรเซส (process) ​หลาย​ร้อย​ตัว​บน​เครื่อง​ที่​โกหก​แต่ละ​ตัวอย่าง​พิถีพิถัน​ว่า​มี​เครื่อง​อยู่​กี่​เครื่อง (05) ​คำสั่ง​เหล่านั้น​ทำงาน​บน​สวิตช์​นับ​พัน​ล้าน​ตัว​ที่​ไม่​รู้​ว่า​ตัวเลข​คือ​อะไร ​จัดวาง​กัน​จน​เลขคณิต​โผล่​ขึ้น​มาจาก​การจัดวาง​เอง (04) ​ข้อความ​กลายเป็น​บิต — ​หน่วย​ของ​ความประหลาดใจ ​ตีราคา​ด้วย​ทฤษฎี​ที่​ปฏิเสธ​โดยหลัก​การที่จะ​ถาม​ว่า​มัน​หมายความว่า​อะไร (03) — ​ถูก​ตัด​เป็น​แพ็กเก็ต (packet) ​ที่​หาทาง​ของ​ตัวเอง​แยกกัน​ข้าม​เครือข่าย​ที่​ไม่​มี​ใคร​เป็นเจ้าของ ​ขน​โดย​ผู้ส่ง​ที่​ยอม​ชะลอ​ตัวเอง​โดยสมัครใจ​เพื่อให้​คนแปลกหน้า​ได้​พูด​ด้วย (09) ​มัน​เดินทาง​แบบ​เข้ารหัส ​ใต้​คณิตศาสตร์​ที่​ทำให้​คน​สอง​คน​ที่​ไม่​เคย​เจอกัน​ตกลง​ความลับ​กัน​ได้​ใน​ห้อง​ที่​เต็มไปด้วย​คน​ดักฟัง (11) ​ปลายทาง​มัน​ตกลง​ใน​ฐานข้อมูล​ที่​เขียน​เจตนา​ลงบันทึก (log) ​ก่อน​แตะ​ข้อมูลจริง ​ไฟ​ดับ​ระหว่าง​คำสั่ง​สอง​คำสั่ง​จึง​ทำให้​มัน​โกหก​ไม่​ได้ (08) ​บน​สำเนา (replica) ​ที่​ตกลง​กัน​ไม่​ได้​ว่า​ตอนนี้​กี่​โมง ​แต่​มี​โพรโทคอล​ไว้​ตกลง​เรื่อง​อื่น​อยู่ดี (10) ​โมเดล​ที่​งอก​จาก​ข้อมูล ​ทักษะ​ของ​มัน​ไม่​มี​ใคร​เขียน​ลง​ไป ​เป็น​ผู้ตัดสิน​ว่า​ข้อความ​นี้​ควรค่า​แก่​การแสดง (12) ​และ​ตลอด​การลงมา​ทั้งหมด ​ฐานราก​รับ​ไว้​ได้: ​ทุกอย่าง​ที่เกิด​ขึ้น​คำนวณ​ได้ (computable) ​เสีย​ต้นทุน​เท่าที่​คณิตศาสตร์​ว่าด้วย​ต้นทุน​บอก​ว่า​ต้อง​เสีย (02) ​และ​อยู่​ใน​รั้ว​ที่​ขีด​ไว้​ตั้งแต่​ปี 1936 ​ก่อน​เครื่อง​พวก​นี้​จะ​เกิดขึ้น​สัก​เครื่อง (01)

​แตะ​ครั้ง​เดียว ​ทุก​ชั้น​ทำงาน ​และ​ไม่​มี​ใคร​ที่​แตะ​ข้อความ​นี้​ระหว่างทาง — ​ไม่​มี​ผู้เขียน​ชั้น​ไหน ​เชี่ยวชาญ​เพียงใด​ก็ตาม — ​ถือ​ทั้งหมด​ไว้​ใน​หัว​พร้อมกัน​ได้ ​บท​ที่ 00 ​บอก​ว่า​นี่​ไม่​ใช่​ความล้มเหลว​ของ​การศึกษา ​แต่​คือ​การออกแบบ ​ผ่าน​การลง​และ​ขึ้น​สิบห้า​ชั้น​มา​แล้ว ​ประโยค​นั้น​ควร​อ่าน​ต่าง​ออก​ไป: ​มัน​คือ ​ความสำเร็จ ​หอคอย​ยืน​อยู่​ได้​เพราะ​แต่ละ​ชั้น​เป็น​ภาษา​จริง ​แม่นยำ​ใน​เงื่อนไข​ของ​ตัวเอง ​และ​เพราะ​คน​บน​แต่ละ​ชั้น​วางใจ​ชั้นล่าง​ได้​โดย​ไม่ต้อง​ลง​ไป​ตรวจ​เอง

​มอง​จาก​หลังคา ​อาคาร​ทั้ง​หลัง​พูด​ซ้ำ​อยู่​สาม​ท่อน ​ท่อน​แรก ​แต่ละ​ชั้น​ซ่อน​กลไก​ไว้​แล้ว​ยื่น​ผิว (surface) ​ที่​ง่าย​กว่า​สิ่ง​ที่​มัน​ปิดบัง — ​กล​เดียว ​เล่น​สิบห้า​แบบ ​ท่อน​ที่สอง ​ทุก​ผิว​รั่ว ​และ​ความเชี่ยวชาญ​ใน​วงการ​คอมพิวเตอร์​ส่วนใหญ่​คือ​จมูก​ที่​ดม​ออก​ว่า​รอย​รั่ว​มาจาก​ชั้น​ไหน — ​ลูป​ที่​ช้า​แต่​จริงๆ ​เป็นปัญหา​หน่วยความจำ (04) ​ไฟล์​ที่ "​เซฟ​แล้ว" ​แต่​จริงๆ ​เป็นปัญหา directory entry (05) ​เส้นทาง​ที่​ถูก​จี้​แต่​จริงๆ ​เป็นปัญหา​ความเชื่อ​ใจ (trust) (09) ​ท่อน​ที่สาม ​ช่อง​สอง​ช่อง​ที่​ทะลุ​อาคาร​ทั้ง​หลัง​ไม่​ใช่​ชั้น ​แต่​เป็น​บันได: ​ฝ่ายตรงข้าม (11) ​กับ​ผู้เรียน (12) ​เข้ามา​ได้​ทุก​ชั้น ​ไม่​มี​ชั้น​ไหน​สร้าง​จบ​ได้​โดย​ไม่​นับ​สอง​อย่างนี้ ​หลังคา​เอง​ยัง​ไม่​เสร็จ — ​ปูน​ยัง​เปียก ​ปัญหา​ยัง​เปิด​ค้าง​ไว้ ​บิล​ค่า​พลังงาน​เพิ่ง​ถึงกำหนด​ชำระ (14) — ​และ​ฐานราก​ก็​ยัง​เถียง​กัน​ไม่​จบ (01) ​อาคาร​แบบนี้​ไม่​ใช่​อนุสาวรีย์ ​มัน​คือ​ไซต์​ก่อสร้าง​ที่​บังเอิญ​มี​คน​อาศัย​อยู่

​เส้นทาง 30 ​วัน

​เส้นทาง (route) ​ข้างล่าง​ตั้งอยู่​บน​สมมติฐาน​เดียว​กับ​ทุก​บท: ​มีสติปัญญา ​ไม่ต้อง​มี​พื้น​เรียน​มา​ก่อน ​ชั้น​ละ​สอง​วัน ​วัน​แรก​อ่าน​บท​นั้น​ซ้ำ ​โดย​เปิด​แหล่งข้อมูล​ปฐมภูมิ (primary source) ​วาง​ไว้​ข้างๆ — ​เลือก​มา​เพราะ​อ่าน​ได้​จริง ​และ​การอ่าน Turing ​หรือ Shannon ​จาก​ต้นฉบับ​คือ​ยา​ที่​แก้​ความเชื่อ​ว่า​รากฐาน​พวก​นี้​เกินตัว​เรา​ได้​เร็ว​ที่สุด ​วันที่​สอง​ลงมือ​แตะ​ของจริง ​แหล่ง​เรียน (resource) ​ทุก​ชิ้น​ที่นี่​เป็น​ของ​หลัก​ใน​สาขา​ของ​มัน​และ​ฟรี ​ลิงก์​ตรวจสอบ​แล้ว​ตอน​เล่ม​นี้​เข้า​โรงพิมพ์ ​วัน​ละ​สอง​ชั่วโมง​หนึ่ง​เดือน​ไม่​ทำให้​ใคร​เป็น​ผู้เชี่ยวชาญ ​มัน​ทำ​สิ่ง​ที่​ดีกว่า​นั้น — ​ทุก​ชั้น​กลายเป็น​ที่​ที่​เรา​เคย​ยืน​มา​แล้ว ​ไม่​มี​อะไร​ใน​วงการ​คอมพิวเตอร์​เป็น​คำเล่าลือ​สำหรับ​เรา​อีกต่อไป

​วัน​ชั้น​งาน​ของ​สอง​วันนั้น
1–200 ​แผนที่​อ่าน​บท​ที่ 00 ​ซ้ำ ​จากนั้น​เริ่ม​หอคอย​ชั้นล่าง​สำหรับ​ผู้อ่าน​ทั่วไป: Petzold's Code companion (codehiddenlanguage.com) ​และ​เอกสาร Nand2Tetris (nand2tetris.org) ​ที่จะ​ใช้​ใน​วันที่ 9–10
3–401 ​ทฤษฎี​การคำนวณTuring 1936, §9 ​โดย​ใช้​บท​ที่ 01 ​เป็น​ไกด์ (PDF) ​จากนั้น​อ่าน​หัวข้อ Church–Turing ​ใน Stanford Encyclopedia (plato.stanford.edu)
5–602 ​อัลกอริทึม​และ​โครงสร้าง​ข้อมูลMIT OCW 6.006 ​เลกเชอร์ (lecture) ​แรกๆ (ocw.mit.edu) ​ลงมือ​เขียน​อัลกอริทึม​แบบ​แบ่ง​แล้ว​พิชิต (divide and conquer) ​เอง​สัก​ตัว​หนึ่ง ​แล้ว​จับเวลา​เทียบ​กับ​แบบ naive
7–803 ​สารสนเทศ​และ​การเข้ารหัสShannon 1948, Part I (PDF) ​จากนั้น​อ่าน​บท​เปิด​ของ MacKay (inference.org.uk)
9–1004 ​สถาปัตยกรรม​คอมพิวเตอร์Nand2Tetris projects 1–3: ​จาก​เกต​ตัว​เดียว​ไป​จนถึง ALU ​เลขคณิต​จะ​ปรากฏ​ขึ้น​จาก​การจัดวาง​เอง ​ด้วยมือ​เรา​เอง
11–1205 ​ระบบปฏิบัติการOSTEP ​บทสนทนา​เรื่อง virtualization ​กับ​บทนำ (pages.cs.wisc.edu/~remzi/OSTEP) ​ลอง list ​โพรเซส​บน​เครื่อง​ตัวเอง ​แล้ว​หาว่า​แต่ละ​ตัว​กำลัง​โกหก​เรื่อง​อะไร​อยู่
13–1406 ​ภาษา​และ​คอมไพเลอร์Crafting Interpreters ​จนถึง​ส่วน scanner ​กับ parser (craftinginterpreters.com) — ​หอคอย​ของ​คอมไพเลอร์ ​ที่​สร้าง​ทีละ​ชั้นใน​เอ​ดิ​เตอร์​ของ​เรา​เอง
15–1607 ​วิศวกรรม​ซอฟต์แวร์Software Engineering at Google, ​บท​ที่ 1–2 (abseil.io) ​เอางาน​ของ​ตัวเอง​สัก​ชิ้น​เข้า​ระบบ​ควบคุม​เวอร์ชัน (version control) ​แล้ว​เขียน​เทสต์​หนึ่ง​ตัว​ที่จะ​จับได้​ถ้า​เรา​เปลี่ยนใจ​ภายหลัง
17–1808 ​ฐานข้อมูลReadings in Database Systems (redbook.io) ​จากนั้น​เขียน​คิว​รี (query) SQL ​สิบ​ตัว​กับ​ชุด​ข้อมูลจริง​สัก​ชุด ​แล้ว​ปล่อย​ให้ query optimizer ​เลือก​เส้นทาง​เอง
19–2009 ​เครือข่ายComputer Networks: A Systems Approach, ​บท​ที่ 1 (systemsapproach.org) ​จากนั้น Jacobson & Karels 1988 (PDF) — ​เครือข่าย​ที่​กิน​ตัวเอง​จน​พัง ​กับ​วิธี​แก้​ที่​โทรศัพท์​ของ​เรา​ยัง​ใช้​อยู่​จนถึง​ทุกวันนี้
21–2210 ​ระบบ​กระจายLamport 1978 (podc.org) ​จากนั้น van Steen & Tanenbaum ​บท​ที่ 1 (distributed-systems.net)
23–2411 ​ความปลอดภัย​และ​วิทยาการ​รหัสลับCryptopals, Set 1 (cryptopals.com) — ​ทลาย​ไซ​เฟอร์ (cipher) ​จริง​ด้วย​โค้ด​ของ​ตัวเอง ​จากนั้น Handbook of Applied Cryptography, ​บท​ที่ 1 (cacr.uwaterloo.ca/hac)
25–2612 ​ปัญญาประดิษฐ์​และ​การเรียนรู้​ของ​เครื่องKarpathy, Neural Networks: Zero to Hero, ​สอง​บทเรียน​แรก (karpathy.ai) — ​สร้าง backpropagation ​ด้วยมือ​เรา​เอง ​จากนั้น Deep Learning ​เป็น​ชั้น​หนังสืออ้างอิง (deeplearningbook.org)
27–2813 ​ปฏิสัมพันธ์​มนุษย์–​คอมพิวเตอร์ ​และ​กราฟิกส์​ขีดจำกัด​เวลา​ตอบสนอง​สาม​ระดับ​ของ Nielsen (nngroup.com) Physically Based Rendering, ​บท​ที่ 1 (pbr-book.org) ​จากนั้น​เลือก​อินเทอร์เฟซ​ที่​เรา​ใช้​ทุกวัน​สัก​ตัว ​แล้ว​แยก affordance ​ออกจาก signifier ​ของ​มัน
29–3014 ​พรมแดนQuantum Computing for the Very Curious (quantum.country) the Millennium Problems (claymath.org) ​จากนั้น​เขียน​ลิสต์​คำถาม​ที่​ยัง​เปิด​อยู่​ของ​ตัวเอง ​ลิสต์​นั้นแหละ​คือ​ข้อสอบ ​และ​เรา​เป็น​คน​ให้คะแนน​เอง

​ใบอนุญาต​ให้​อยากรู้

​ไม่​มี​ใบรับรอง​สำหรับ​สิ่ง​ที่​เล่ม​นี้​สมมติ​ไว้ ​และ​ไม่​มี​ใบรับรอง​สำหรับ​สิ่ง​ที่​มัน​หวัง​จะ​ทิ้ง​ไว้ ​คนใน​บท​เหล่านี้​ส่วนใหญ่​ไม่​ได้​รอ​มัน ​นักศึกษา​คน​หนึ่ง​หักล้าง​ข้อ​คาดการณ์​ของ​อาจารย์​ตัวเอง​ภายใน​หนึ่ง​สัปดาห์​หลัง​ได้ยิน (02) ​วิศวกร​คน​หนึ่ง​เบื่อ​การเสีย​วันหยุด​สุดสัปดาห์​ให้​เครื่อง​ที่​ตรวจจับ​ความผิดพลาด​ได้​แต่​แก้​ไม่​ได้ ​จึง​คิดค้น​รหัส (code) ​ที่​ให้​เครื่อง​ซ่อม​ความผิดพลาด​ของ​ตัวเอง (03) ​ระบบปฏิบัติการ​ที่​รัน​เซิร์ฟเวอร์​ทั้งโลก​เขียน​เสร็จ​ใน​หนึ่ง​เดือน ​เพราะ​งบ​ไม่​ยอมให้​ใหญ่​กว่า​นั้น (05) ​คำ​ที่​นักจิตวิทยา​คน​หนึ่ง​ใช้​เรียก​สิ่ง​ที่​เก้าอี้​มอบให้​ร่างกาย ​กลายเป็น​ศัพท์​ทำงาน​ของ​ทุก​หน้าจอ​ที่​เรา​แตะ (13) ​ไม่​มี​ใคร​ใน​นี้​ได้รับอนุญาต​ใน​รูปแบบ​ใด​ที่​มี​น้ำหนัก​จริง ​พวกเขา​มี​คำถาม​ที่​วาง​ไม่​ลง ​กับ​ความกล้า​ที่จะ​เชื่อ​ว่า​คำถาม​นั้น​เป็น​ของ​พวกเขา​ที่จะ​ถาม

​นั่น​คือ​ใบอนุญาต ​และ​ไม่​เคย​เป็น​ของ​ใคร​ที่จะ​มอบให้ ​สิ่ง​ที่​เล่ม​นี้​พยายาม​ให้​มี​เพียง​แผนที่​ที่​ทำให้​ใบอนุญาต​นั้น​ใช้ได้: ​ชื่อ​ของ​แต่ละ​ชั้น ​ไอเดีย​ที่​แบก​น้ำหนัก​อยู่​บน​ชั้น​นั้น ​จุด​ที่​ผิว​รั่ว ​และ​คำสารภาพ​ตรงๆ ​ทีละ​บท​ว่า​ยัง​ไม่​มี​ใคร​รู้​อะไร ​รั้ว​ที่​สำคัญ​จริง (01) ​ขีด​โดย​คณิตศาสตร์ ​ไม่​ใช่​โดย​ผู้เฝ้าประตู ​ทุกอย่าง​ข้างใน​รั้ว​ปีน​ได้ ​และ​บท​ข้างบน​แสดงให้เห็น​แล้ว​ว่าแต่​ละ​ชั้น ​เมื่อ​พบกัน​ตามเงื่อนไข​ของ​มัน​เอง ​ไม่​ใช่​แค่​ปีน​ได้ ​แต่ ​เรียบง่าย — ​หนึ่ง​หรือ​สอง​ไอเดีย ​ยึด​ไว้​อย่าง​แม่นยำ ​ทำงาน​ทั้งหมด

​บท​ที่ 00 ​ปิด​ทัวร์​ด้วย​เด็ก​คน​หนึ่ง​ลาก​รูปถ่าย​ไป​บน​หน้าจอ ​สั่ง​สวิตช์​นับ​พัน​ล้าน​ตัว​ด้วย​นิ้ว​เดียว ​โดย​ไม่ต้อง​เข้าใจ​สัก​ตัว ​นั่น​คือ​หอคอย​ที่ทำงาน​ได้ ​แต่ ​ความจำเป็น ​ไม่​เคย​เป็นตัว​วัด​ที่​ถูก ​การ ​อยาก​เข้าใจ ​เป็น​คนละเรื่อง ​และ​ความอยาก​นั้น​คือ​ใบอนุญาต​ทั้งหมด ​ปูน​บนสุด​ยัง​เปียก ​บันได​เปิดไฟ​ไว้​แล้ว ​ปีน​เลย

จบเล่มThe Tower of Abstractions — An Encyclopedia of the Computing Disciplinesกลับหน้าหนังสือ
Size
Page
Font

The Tower of Abstractions — An Encyclopedia of the Computing Disciplines

❦
100 · แผนที่201 · ทฤษฎีการคำนวณ302 · อัลกอริทึมและโครงสร้างข้อมูล403 · สารสนเทศและการเข้ารหัส504 · สถาปัตยกรรมคอมพิวเตอร์605 · ระบบปฏิบัติการ706 · ภาษาและคอมไพเลอร์807 · วิศวกรรมซอฟต์แวร์908 · ฐานข้อมูล1009 · เครือข่าย1110 · ระบบกระจาย1211 · ความปลอดภัยและวิทยาการรหัสลับ1312 · ปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง1413 · ปฏิสัมพันธ์มนุษย์–คอมพิวเตอร์ และกราฟิกส์1514 · พรมแดน1699 · ปิดเล่ม — หอคอยเมื่อมองทั้งหลัง