1 คะแนน โดย GN⁺ 1 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Principia Softwarica เป็นซีรีส์ที่ถอดซอร์สโค้ดของเคอร์เนล เชลล์ ระบบหน้าต่าง คอมไพเลอร์ ลิงเกอร์ เอดิเตอร์ เบราว์เซอร์ และดีบักเกอร์ของ Plan 9 from Bell Labs ออกมาเป็นหนังสือ เพื่อช่วยให้เข้าใจการทำงานภายในของคอมพิวเตอร์
  • หนังสือแต่ละเล่มสร้างขึ้นจาก literate program (ลิเทอเรตโปรแกรม) ที่บรรจุทั้งซอร์สโค้ดและเอกสารไว้ด้วยกัน โดยทั้งโค้ดจริงและหนังสือจะถูกสร้างอัตโนมัติจากเอกสารเดียวกัน
  • ซีรีส์ทั้งหมดมีขนาด 205,081 LOC, 82,014 LOE, 6,312 หน้า และมีเป้าหมายเพื่อให้บรรลุ LOE/LOC 1.0 โดยให้คำอธิบายหนึ่งบรรทัดต่อโค้ดหนึ่งบรรทัด
  • Plan 9 มีขนาดเล็กเพียง 183K LOC สำหรับทั้งระบบ และใช้สไตล์ C ที่สอดคล้องกัน พร้อมแนวคิดอย่าง “ทุกอย่างคือไฟล์”, เนมสเปซแยกตามโปรเซส และความโปร่งใสของเครือข่ายอย่างสม่ำเสมอ ทำให้ทั้งระบบปฏิบัติการกลายเป็นสิ่งที่สามารถอธิบายได้ครบถ้วน
  • ซอร์สของโปรเจกต์เผยแพร่อยู่ที่ github.com/aryx/principia-softwarica และ Getting Started มีวิธี build และรัน Plan 9 ด้วย Docker หรือจากซอร์ส

ภาพรวมโครงการ

  • Principia Softwarica เป็นชุดหนังสือที่อธิบายซอร์สโค้ดทั้งหมดของโปรแกรมระบบหลักที่โปรแกรมเมอร์ใช้งานอย่างละเอียด เพื่อช่วยให้เข้าใจการทำงานภายในของคอมพิวเตอร์
  • โปรแกรมทั้งหมดนำมาจาก Plan 9 from Bell Labs ซึ่งเป็นระบบปฏิบัติการที่ออกแบบมาเป็นภาคต่อของ Unix โดยยึดแนวคิดหลักว่าซอร์สโค้ดมีขนาดเล็กและงดงาม
  • โปรแกรมที่ครอบคลุมได้แก่ เคอร์เนล, เชลล์, ระบบหน้าต่าง, คอมไพเลอร์, ลิงเกอร์, เอดิเตอร์, เว็บเบราว์เซอร์ และดีบักเกอร์ โดยแต่ละโปรแกรมแยกเป็นหนังสือหนึ่งเล่ม
  • หนังสือเป็นทั้งเอกสารอธิบายการทำงานของ implementation และเป็นตัว implementation เองด้วย
    • แต่ละโปรแกรมมาจาก literate program (ลิเทอเรตโปรแกรม) ที่รวมทั้งซอร์สโค้ดและเอกสารไว้ด้วยกัน และทั้งโค้ดจริงกับหนังสือก็ถูกสร้างอัตโนมัติจากเอกสารนี้
    • คำอธิบายเพิ่มเติมเกี่ยวกับ literate programming ดูได้ที่ more about literate programming
  • ซอร์สของโปรเจกต์เผยแพร่อยู่ที่ github.com/aryx/principia-softwarica

ทำไมจึงจำเป็น

  • ช่องว่างของการศึกษา

    • เมื่อพิมพ์ ls ลงในหน้าต่างเทอร์มินัล สิ่งที่เกิดขึ้นจริงต้องผ่านทั้งเชลล์, C library, เคอร์เนล, กราฟิกสแตก และระบบหน้าต่าง
    • Keith Adams เคยเป็นเพื่อนร่วมงานที่ Facebook และต่อมาเป็น Chief Architect ของ Slack และเขาใช้คำถามนี้เป็นคำถามสัมภาษณ์ โดยดูเส้นทางทั้งหมดได้ที่ The Journey of ls
    • ทุกวันนี้คำว่า “full-stack” มักหมายถึง React, Node และคลาวด์ แต่สแตกชั้นล่างที่แท้จริงยังมี คอมไพเลอร์, ลิงเกอร์, เคอร์เนล และ system call
    • แม้จะมีตำราที่ยอดเยี่ยมสำหรับอธิบายแนวคิดของโปรแกรมระบบ แต่แทบไม่มีสื่อที่แสดงซอร์สโค้ดจริง และ Principia Softwarica พยายามเข้ามาเติมช่องว่างนี้
  • ความสำคัญในยุค AI

    • เครื่องมือเขียนโค้ด AI รันโปรแกรมอย่าง grep, sed, diff, awk, gcc, ld ซึ่ง Principia Softwarica อธิบายไว้ วันละหลายร้อยครั้ง
    • หากงานเขียนโค้ดมีส่วนของการเขียน 20% และการทำความเข้าใจ 80% ยิ่ง AI เข้ามารับช่วง 20% มากเท่าไร ส่วน 80% ที่ต้องเข้าใจว่าโค้ดทำอะไรจริง ๆ ไปจนถึงระดับฮาร์ดแวร์ก็ยิ่งสำคัญมากขึ้น
    • มีแนวคิดพื้นฐานว่า เมื่อเครื่องจักรผ่านการเรียนรู้เชิงลึกแล้ว มนุษย์เองก็ต้องเรียนรู้อย่างลึกซึ้งเช่นกัน

หนังสือและขอบเขต

  • ซีรีส์ทั้งหมดมีขนาด 205,081 LOC, 82,014 LOE, 6,312 หน้า และมีอัตราส่วน LOE/LOC รวมอยู่ที่ 0.40

  • LOC หมายถึงจำนวนบรรทัดของโค้ด, LOE หมายถึงจำนวนบรรทัดของคำอธิบาย, และ Pages หมายถึงจำนวนหน้าที่จัดพิมพ์แล้ว

  • เป้าหมายคือทำให้หนังสือทุกเล่มบรรลุ LOE/LOC 1.0 เพื่อให้โค้ดทุก 1 บรรทัดมีคำอธิบายประกบ 1 บรรทัด

    • สีเขียวคือ 0.75 ขึ้นไป ซึ่งใกล้เป้าหมาย
    • สีเหลืองคือ 0.50 ขึ้นไป ซึ่งอยู่ระหว่างดำเนินการ
    • สีส้มคือ 0.25 ขึ้นไป ซึ่งยังเหลืองานเขียนอีกมาก
    • สีแดงคือต่ำกว่า 0.25 ซึ่งยังเป็นโค้ดเป็นส่วนใหญ่และมีคำอธิบายน้อย
  • ระบบหลัก

  • ทูลเชนสำหรับพัฒนา

  • เครื่องมือสำหรับนักพัฒนา

  • กราฟิก

  • เครือข่ายและโปรแกรมอื่น ๆ

  • เว็บเบราว์เซอร์: mothra, webfs, hget webcookies uhtml resize, tcs, 12,949 LOC, 4,482 LOE, 384 หน้า

เหตุผลที่เลือก Plan 9

  • Plan 9 มีขนาดเล็กพอที่จะทำความเข้าใจทั้งระบบปฏิบัติการได้อย่างเป็นรูปธรรม เขียนด้วยสไตล์ C ที่สม่ำเสมอ และนำแนวคิดทรงพลังไม่กี่อย่างมาใช้แบบเป็นเนื้อเดียวกัน
    • ทุกสิ่งคือไฟล์
    • ใช้ namespace แยกตามแต่ละโปรเซส
    • ให้ความโปร่งใสด้านเครือข่าย
  • แม้จะไม่หวือหวาเท่า macOS หรือ Windows แต่โดยแก่นแล้วก็ให้บริการหลักแบบเดียวกัน
    • เคอร์เนลสำหรับจัดการโปรเซสและหน่วยความจำ
    • ระบบหน้าต่าง
    • เชลล์
    • คอมไพเลอร์
    • ระบบเครือข่าย
    • แอปพลิเคชันกราฟิก
  • ระบบ Plan 9 ทั้งหมด รวมเคอร์เนล คอมไพเลอร์ เชลล์ ระบบหน้าต่าง และอื่น ๆ มีขนาดเพียง 183K LOC ซึ่งเล็กกว่า vim 350K LOC เกือบ 2 เท่า
  • หากมองว่าหนังสือ 1 เล่มหนา 400 หน้าครอบคลุมโค้ดได้ราว 12K LOC ก็หมายความว่า Principia Softwarica สามารถอธิบาย Plan 9 ทั้งระบบได้ในประมาณ 15 เล่ม
    • โปรแกรมเดี่ยวอย่าง gdb ต้องใช้หนังสือมากกว่านี้ 10 เท่า
    • gcc ต้องใช้หนังสือมากกว่านี้ 100 เท่า
  • Wayland เป็นตัวแทนสมัยใหม่ของ X11 และ Clang เป็นตัวแทนสมัยใหม่ของ GCC แต่การ “เขียนใหม่ให้สะอาด” เพียงอย่างเดียวไม่ได้ทำให้โปรแกรมเล็กลง
  • แนวทางของ Plan 9 ที่ถูกออกแบบโดยตั้งเป้าความเรียบง่ายตั้งแต่แรก ทำให้สามารถอธิบายทุกบรรทัดเป็นหนังสือได้

วิธีนำสิ่งที่เรียนรู้ไปใช้กับระบบอื่น

  • ไม่จำเป็นต้องใช้ Plan 9 โดยตรง เพราะแค่เข้าใจระบบปฏิบัติการที่เล็กและงามสักระบบหนึ่ง ก็ช่วยให้มอง Linux, macOS และ Windows ได้อย่างเป็นธรรมชาติ
  • เคอร์เนล คอมไพเลอร์ ลิงเกอร์ เชลล์ เอดิเตอร์ ดีบักเกอร์ GUI toolkit และ network stack ต่างก็แก้ปัญหาพื้นฐานชุดเดียวกัน ไม่ว่าโค้ดจะยาว 5,000 บรรทัดหรือ 500,000 บรรทัด แก่นของปัญหาก็เหมือนเดิม
  • เมื่ออ่าน C compiler ของ Plan 9 คุณจะได้คำศัพท์ที่จำเป็นต่อการสำรวจ GCC
  • หากเข้าใจ linker ของ Plan 9 ได้ในคราวเดียว การจัดการ relocation ของ LLD ก็จะไม่ดูล้นมือ แต่กลายเป็นสิ่งที่อ่านได้
  • เมื่อเห็นว่า acid อ่าน symbol table และไล่ stack อย่างไร คุณจะเรียนรู้ได้ว่าควรมองหาอะไรใน GDB
  • การใช้งานที่มีขนาดเล็กให้แบบจำลองในการทำงาน เพื่อแยก ความซับซ้อนที่เป็นเนื้อแท้ ออกจากความซับซ้อนที่เกิดขึ้นโดยบังเอิญใน codebase ขนาดใหญ่
  • แนวคิดของ Plan 9 ได้แพร่กระจายไปอย่างกว้างขวางแล้ว
    • UTF-8 ถูกสร้างโดย Thompson และ Pike สำหรับ Plan 9
    • /proc มาจาก Plan 9
    • Linux namespaces ซึ่งเป็นพื้นฐานของ Docker และคอนเทนเนอร์ มาจาก Plan 9
    • Go ถูกสร้างโดย Pike และ Thompson และ goroutine ได้แรงบันดาลใจจาก libthread ของ Plan 9
    • โปรโตคอล 9P ถูกใช้ใน WSL2
  • grep, sed, awk, diff, cc, ld ที่ Principia Softwarica อธิบาย ล้วนเป็นเครื่องมือที่โปรแกรมเมอร์ใช้ทุกวัน และแนวคิดเดียวกันนี้ถูกแสดงออกใน Plan 9 ได้ชัดเจนกว่ามาก
  • plan9port นำ grep, sed, awk จาก user space ของ Plan 9 มาใช้บน Linux และ macOS
  • goken9cc ทำให้สามารถใช้ toolchain C ของ Plan 9 บน Linux, macOS และ Windows เพื่อสร้าง native binary สำหรับแพลตฟอร์มเหล่านั้นได้

ซอร์สโค้ดและการรัน

  • github.com/aryx/principia-softwarica — โค้ด Plan 9 และ literate program ที่ใช้ใน Principia Softwarica
  • Getting Started — วิธี build และรัน Plan 9 ด้วย Docker หรือจากซอร์ส
  • The Journey of ls — การติดตามว่าคำสั่งง่าย ๆ ผ่านแต่ละชั้นของระบบอย่างไร และหนังสือแต่ละเล่มเชื่อมโยงกันอย่างไร

พอร์ต OCaml และเครื่องมือเสริม

  • หลังจากเขียนหนังสือหลายเล่มแล้ว บางโปรแกรมถูกพอร์ตไปเป็น OCaml ซึ่งเป็นภาษา functional แบบ static type
  • แรงจูงใจดั้งเดิมคือเพื่อทำความเข้าใจโค้ด C ให้ดียิ่งขึ้น
    • เมื่อย้ายโปรแกรมไปยังอีกภาษาหนึ่ง จะเห็นได้ชัดว่าส่วนใดเป็นเนื้อแท้และส่วนใดเป็นองค์ประกอบรอง
    • บั๊กในพอร์ตจะเผยให้เห็นจุดละเอียดอ่อนที่ซ่อนอยู่ในต้นฉบับ
  • พอร์ต OCaml ได้พัฒนาเป็นโครงการแยกชื่อ XIX ซึ่งมีเว็บไซต์ของตัวเองและมีชุดหนังสือแนว literate programming สำหรับเครื่องมือเวอร์ชัน OCaml
  • syncweb — เครื่องมือ literate programming ที่ใช้สร้างหนังสือทั้งหมด และเป็นผู้สืบทอดของ Noweb
  • goken9cc — C cross-compiler สำหรับ build Plan 9 บน Linux, macOS และ Windows และเป็นผู้สืบทอดของ Kencc

งานที่เกี่ยวข้องและความแตกต่าง

  • Project Oberon คือผลงานที่ใกล้เคียงกับ Principia Softwarica มากที่สุดในเชิงจิตวิญญาณ เพราะนำเสนอทั้งระบบปฏิบัติการพร้อมซอร์สโค้ดทั้งหมด รวมถึงคอมไพเลอร์และระบบหน้าต่าง
    • Oberon สามารถรันได้เฉพาะโปรแกรม Oberon จึงเป็นโลกปิดที่สมบูรณ์ในตัวเอง งดงามแบบ Smalltalk แต่ก็โดดเดี่ยว
    • Plan 9 และ Unix เป็นระบบอเนกประสงค์ที่สามารถคอมไพล์และรันโปรแกรมที่เขียนด้วยภาษาใดก็ได้
    • Oberon ไม่มีระบบเครือข่ายและทำงานบนฮาร์ดแวร์เฉพาะ
    • Principia Softwarica ครอบคลุมขอบเขตที่กว้างกว่า ตั้งแต่คอมไพเลอร์ ลิงเกอร์ เชลล์ ดีบักเกอร์ กราฟิก ไปจนถึงเครือข่าย บนระบบปฏิบัติการจริง
  • The Elements of Computing Systems หรือที่รู้จักกันในชื่อ Nand2Tetris สร้างคอมพิวเตอร์ตั้งแต่ NAND gate ไปจนถึง Tetris
    • แม้จะยอดเยี่ยมในเชิงการศึกษา แต่ทั้งฮาร์ดแวร์และซอฟต์แวร์เป็น CPU แบบของเล่น, OS แบบของเล่น และภาษาแบบของเล่น ที่สร้างขึ้นเพื่อการสอน
    • Principia Softwarica เลือกแนวทางตรงกันข้าม คืออธิบายโค้ดจริงและระบบปฏิบัติการจริงที่ทำงานบนฮาร์ดแวร์จริง
  • Computer Systems: A Programmer's Perspective หรือ CS:APP เป็นตำราที่ยอดเยี่ยมในการอธิบายแนวคิดด้าน system programming เช่น memory layout, linking, virtual memory และ concurrency
    • CS:APP หยุดอยู่ที่ระดับแนวคิด และไม่ได้แสดงซอร์สโค้ดของเคอร์เนลจริง ลิงเกอร์จริง หรือคอมไพเลอร์จริง
    • Principia Softwarica มาเติมเต็มส่วนนี้ด้วยการอธิบายซอร์สโค้ดเหล่านั้นทีละบรรทัด

ประวัติความคืบหน้าและผู้เขียน

  • มีนาคม 2026 เว็บไซต์ Principia Softwarica เปิดตัวสู่สาธารณะ
  • ในปี 2025 โครงการกลับมาเริ่มใหม่ให้สามารถ build และรันได้อีกครั้งบน QEMU และ Raspberry Pi พร้อมเพิ่ม Dockerfile และ CI
  • ตั้งแต่ปี 2019 ถึง 2024 มีช่วงหยุดชะงักเนื่องจากงาน Semgrep
  • ในปี 2017 เคอร์เนลถูกพอร์ตไปยัง Raspberry Pi และมีการทำงานต่อในหนังสือ Shell และ Graphics
  • ในปี 2016 หนังสือ Build System เสร็จสมบูรณ์ และมีการสร้าง literate program ชุดแรกสำหรับ Libcore และ Compiler
  • ในปี 2015 หนังสือ Assembler และ Linker เสร็จสมบูรณ์ และได้พบกับ Knuth
  • ในปี 2014 โครงการเริ่มต้นด้วยการ fork Plan 9, cross-compile บน macOS และสร้าง literate program ชิ้นแรก
  • Principia Softwarica เขียนโดย Yoann Padioleau และโค้ดประกอบด้วยผลงานของ Ken Thompson, Rob Pike, Dave Presotto, Phil Winterbottom, Tom Duff, Andrew Hume และ Russ Cox
  • เช่นเดียวกับที่ Principia Mathematica ว่าด้วยรากฐานของคณิตศาสตร์ เป้าหมายของ Principia Softwarica คือว่าด้วย โปรแกรมระบบพื้นฐาน

1 ความคิดเห็น

 
GN⁺ 1 시간 전
ความคิดเห็นจาก Lobste.rs
  • ชื่อเรื่องอ้างอิง Principia Mathematica อย่างชัดเจน แต่ “softwarica” ไม่ใช่ภาษาละติน
    มันให้ความรู้สึกเหมือนการเรียกฟังก์ชัน C ที่ทำให้ดูคล้ายภาษาละตินแต่พังเป็น foo(bar; baz] มากกว่า และชื่อที่ดีกว่าน่าจะเป็น “Principia Programmatum” (หลักการของโปรแกรม) หรือ “Principia Artis Programmatoriae” (หลักการของศิลปะแห่งการเขียนโปรแกรม)

    • ถ้าจะเคร่งครัดจริง ๆ “Programmatum” เองก็ไม่มีอยู่จริง และคำที่ใกล้ที่สุดอย่าง “Programmum” ก็หมายถึง “ประกาศ, กฤษฎีกา” ไม่ใช่โปรแกรม
      ภาษาละตินไม่มีคำที่หมายถึงซอฟต์แวร์หรือการเขียนโปรแกรมอยู่แล้ว ดังนั้นการสร้างคำใหม่ขึ้นมาก็ไม่เป็นไร
      ที่ “Programmum/Programmatum” ฟังดูน่าเชื่อกว่า เป็นเพราะคำอังกฤษ “program” มาจากภาษาฝรั่งเศส “programme” และย้อนกลับไปถึงภาษาละติน “programmum”
      ถ้าจะหยิบมาจากภาษาฝรั่งเศส logiciel โดยตรงมากกว่า มันก็มาจาก “logique” (ตรรกะ) + “iel” (ปัจจัยที่มาจาก matériel) และถ้าโยงกับภาษาละติน “logica”, “materialis/materia” ก็อาจแปลง “program” เป็น “logicia” และ “programs” เป็น “logicium” ได้
      แต่ก็ไม่มั่นใจนัก เพราะเรียนภาษาละตินมาแค่ 2 ปีตอนมัธยม
    • “Principia Programmatica” ก็ดูเป็นไปได้เหมือนกัน
    • ผมมองว่าใจความสำคัญคือมันจงใจทำภาษาละตินให้เพี้ยน
      มันเป็นภาษาที่ตายไปแล้ว แถมชื่อยังอ้างอิงถึง โครงการที่ล้มเหลว ที่เป็นที่รู้จักกันดี ดังนั้นการตั้งชื่อหนังสืออังกฤษสมัยนี้ให้เป็นภาษาละตินแบบถูกต้องเป๊ะ ๆ เองก็ดูขำ ๆ อยู่เหมือนกัน
      แม้แต่จากมุมของคนที่เคยอ่านภาษาละตินได้ค่อนข้างคล่องก็ยังรู้สึกแบบนั้น
  • ตอนแรกผมสะดุดกับการพูดถึง Plan 9 เหมือนกัน แต่ชอบคำอธิบายละเอียดว่าทำไมผู้เขียนถึงเลือก Plan 9
    สรุปคือเพราะมันเล็ก และคำอธิบายนั้นเองก็อ่านเหมือนบทความประชาสัมพันธ์หนังสือที่ยอดเยี่ยม

    • อยากรู้ว่าทำไมถึงสะดุดตรงที่พูดถึง Plan 9
  • ผมชอบที่หลังจากผู้เขียน พอร์ต OCaml ไปยัง Plan 9 แล้ว เขาก็เขียนส่วนใหญ่ของยูสเซอร์สเปซใหม่ด้วย OCaml เพื่อให้เข้าใจมากขึ้นว่าใน C มีอะไรเกิดขึ้นบ้าง
    ระหว่างทางโค้ดกลับรันบน Windows ได้ด้วยอย่างน่าประหลาดใจ และก็สงสัยว่าใครเป็นคนให้ทุนกับงานนี้

  • นี่เป็นงานที่ใหญ่โตแบบเหลือเชื่อจริง ๆ
    17 เล่ม มากกว่า 6,000 หน้า และดูเหมือนทั้งหมดเพิ่งถูกเผยแพร่เมื่อสัปดาห์ที่แล้ว
    สงสัยว่ามีใครรู้บริบทหรือประวัติเพิ่มเติมเกี่ยวกับผู้เขียนบ้างไหม

    • ดูเธรด 9fans นี้ได้
      https://www.mail-archive.com/9fans@9fans.net/msg45156.html
      สรุปคือเริ่มในปี 2014 และผู้เขียนมีกำหนดนำเสนองานนี้ที่ IWP9 พรุ่งนี้เวลา 13:45 ตามเวลาท้องถิ่น
      http://iwp9.org/#prg
    • ยังอดคิดไม่ได้ว่าถ้าเป็นผู้อ่าน หนังสือที่สั้นกว่านี้สักไม่กี่เล่มอาจจะมีประโยชน์กว่า
      แน่นอนว่าผู้เขียนคงได้เรียนรู้อะไรมหาศาลจากกระบวนการนี้
  • Principia Softwarica เป็นชุดหนังสือที่อธิบายการทำงานภายในของคอมพิวเตอร์ผ่านการอธิบายซอร์สโค้ดทั้งหมดของโปรแกรมแกนหลักที่โปรแกรมเมอร์ใช้งานอย่างละเอียด
    มีทั้งเคอร์เนล เชลล์ ระบบหน้าต่าง คอมไพเลอร์ ลิงเกอร์ เอดิเตอร์ ดีบักเกอร์ ฯลฯ โดยแยกเป็นหนังสือแต่ละเล่ม และระบบปฏิบัติการเป้าหมายน่าจะเป็น Plan 9

    • การสรุปว่า “ระบบปฏิบัติการเป้าหมายน่าจะเป็น Plan 9” นั้นไม่แม่นเอามาก ๆ
      ในหน้าเว็บเขียนไว้ว่า Learn Here, Apply Everywhere และอธิบายว่าไม่จำเป็นต้องใช้ Plan 9
      แนวคิดคือถ้าเข้าใจระบบปฏิบัติการที่เล็กและสง่างามสักตัวหนึ่ง คุณก็จะได้สัญชาตญาณเชิงลึกเกี่ยวกับ Linux, macOS แม้กระทั่ง Windows ด้วย
  • เข้าใจว่าผู้เขียนต้องการจะสื่ออะไร แต่การบอกว่า “Oberon รันได้แค่โปรแกรม Oberon” ไม่ควรถูกมองว่าเป็นข้อจำกัดของ ระบบ Oberon
    โดยหลักการแล้ว ภาษาโปรแกรมใด ๆ ก็สามารถมุ่งเป้าไปที่สถาปัตยกรรมและรันไทม์นั้นได้

  • เข้าใจว่าแตกแขนงมาจาก Plan 9 แต่ก็สงสัยว่า ระหว่าง Plan 9 กับ Inferno อันไหนดีกว่ากัน

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