ป้ายกำกับ: เมนเฟรม

💾 บัตรเจาะรู (Punch Card): แผ่นกระดาษเปลี่ยนโลก รากฐานแห่ง 0 และ 1💾 บัตรเจาะรู (Punch Card): แผ่นกระดาษเปลี่ยนโลก รากฐานแห่ง 0 และ 1

ในยุคที่คอมพิวเตอร์ยังมีขนาดใหญ่เท่าห้องทำงาน และไม่มีหน้าจอโปรฮิโตแกรมสวย ๆ หรือคีย์บอร์ดให้เราพิมพ์โค้ดอย่างในปัจจุบัน มนุษย์เราสั่งการเครื่องจักรเหล่านั้นได้อย่างไร? คำตอบซ่อนอยู่ในแผ่นกระดาษที่มีรูพรุนที่เรียกว่า “Punch Card” (บัตรเจาะรู) สิ่งประดิษฐ์สุดคลาสสิกที่เป็นดั่งบรรพบุรุษของหน่วยความจำและภาษาคอมพิวเตอร์ในปัจจุบัน


🧵 จากกี่ทอผ้า สู่เครื่องคำนวณสถิติ

แนวคิดของบัตรเจาะรูไม่ได้เริ่มต้นจากนักวิทยาศาสตร์คอมพิวเตอร์ แต่เริ่มจาก Joseph Marie Jacquard ในปี 1804 เขาได้คิดค้นกี่ทอผ้าที่ควบคุมด้วยบัตรเจาะรู เพื่อสร้างลวดลายผ้าไหมที่ซับซ้อนโดยอัตโนมัติ รูบนบัตรจะเป็นตัวกำหนดว่าเส้นด้ายไหนจะถูกยกขึ้นหรือปล่อยลง ซึ่งนี่คือต้นกำเนิดของแนวคิด “การควบคุมเครื่องจักรด้วยรหัส”

ต่อมาในปลายศตวรรษที่ 19 Herman Hollerith ได้นำแนวคิดนี้มาประยุกต์ใช้กับการนับคะแนนสำมะโนประชากรของสหรัฐอเมริกาในปี 1890 เครื่องคำนวณของเขาช่วยย่นเวลาจากที่ต้องรอนานถึง 10 ปี ให้เหลือเพียงไม่กี่เดือน! และบริษัทของ Hollerith นี่เองที่เติบโตและควบรวมกิจการจนกลายเป็นยักษ์ใหญ่ที่เราคุ้นชื่อกันดีในวันนี้อย่าง IBM


⚙️ บัตรเจาะรูทำงานอย่างไร?

หลักการของบัตรเจาะรูนั้นเรียบง่ายแต่ทรงพลังมาก มันคือระบบ Binary (เลขฐานสอง) ในยุคแรกเริ่มนั่นเอง

  • มีรู (Hole): แทนค่าเป็น 1 (หรืออนุญาตให้กระแสไฟฟ้า/กลไกผ่านไปได้)
  • ไม่มีรู (No Hole): แทนค่าเป็น 0 (หรือบล็อกไม่ให้ผ่าน)

บัตรที่นิยมที่สุดคือ IBM 80-Column (บัตรขนาด 80 คอลัมน์) ในแต่ละคอลัมน์จะถูกเจาะรูเพื่อแทนค่าตัวอักษร ตัวเลข หรือสัญลักษณ์พิเศษ 1 ตัว นั่นหมายความว่า บัตร 1 ใบ สามารถเก็บข้อมูลได้สูงสุดเพียง 80 ตัวอักษร (80 Bytes) เท่านั้น!

ลองจินตนาการว่าถ้าคุณต้องการเขียนโปรแกรมหรือเก็บซอร์สโค้ดในยุคนี้ คุณอาจต้องใช้บัตรเจาะรูเป็นพัน ๆ ใบเรียงต่อกันเป็นปึกหนา ๆ


⏳ ชีวิตของโปรแกรมเมอร์ยุค “บัตรเจาะรู”

การเป็นโปรแกรมเมอร์ในยุค 1950s – 1970s ไม่ใช่เรื่องง่ายเหมือนการกด Ctrl + Z ในปัจจุบัน

  1. เขียนโค้ดลงกระดาษ: โปรแกรมเมอร์ต้องเขียนโค้ดลงบนกระดาษแบบฟอร์มก่อน
  2. เจาะรู (Keypunch): นำไปเข้าเครื่องเจาะรูทีละใบเพื่อเปลี่ยนโค้ดให้กลายเป็นรูบนบัตร
  3. ส่งการ์ดตรวจเช็ค: ต้องระวังห้ามให้การ์ดสลับลำดับกันเด็ดขาด (นิยมใช้ปากกาเคมีลากเส้นเฉียงไว้ข้างปึกการ์ด ถ้าทำตกพื้นจะได้เรียงใหม่ได้ถูก)
  4. รอผลคอมไพล์: นำปึกบัตรไปส่งให้เจ้าหน้าที่คุมเครื่องคอมพิวเตอร์เมนเฟรมรัน จากนั้นก็ต้องกลับบ้านไปนอนรอข้ามคืน เพื่อมาดูผลลัพธ์ในวันรุ่งขึ้นว่าโปรแกรมมี “Bug” หรือไม่ ถ้ามี… ก็ต้องเริ่มเจาะการ์ดใบใหม่เพื่อแก้ไขวนไป

🕊️ มรดกที่ทิ้งไว้ในโลกไอทีปัจจุบัน

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

  • ข้อจำกัด 80 ตัวอักษร: Standard Text Terminal หลายๆ ตัว หรือแนวทางการเขียนโค้ดบางภาษา (เช่น การจำกัดความยาวโค้ดต่อบรรทัดไม่เกิน 80-120 ตัวอักษร) ล้วนมีรากฐานมาจากขนาดของบัตรเจาะรู IBM
  • ปุ่ม Backspace/Delete: ในยุคบัตรเจาะรู ถ้าเราเจาะผิด วิธีแก้คือต้องเจาะรูเพิ่มให้ครบทุกช่องในคอลัมน์นั้น เพื่อบอกเครื่องอ่านว่า “ช่องนี้ยกเลิก ไม่ต้องอ่าน” ซึ่งเป็นแนวคิดเดียวกับการส่งสัญญาณล้างค่าข้อมูล

บัตรเจาะรูจึงไม่ใช่แค่เศษกระดาษเก่า ๆ ในประวัติศาสตร์ แต่เป็นจุดเริ่มต้นที่พิสูจน์ว่า มนุษย์สามารถเปลี่ยน “ตรรกะและความคิด” ให้กลายเป็น “วัตถุที่จับต้องได้” และส่งต่อให้เครื่องจักรทำงานแทนเราได้อย่างแม่นยำ เป็นก้าวแรกที่พาเรามาสู่ยุค AI และ Cloud Computing ในปัจจุบัน


อ่านเพิ่มเติม