Kodokon kodokon.com

ทำไมโค้ดถึงเป็นแค่ข้อความล้วน ๆ

ค้นพบว่าทุกโปรแกรมเป็นเพียงไฟล์ข้อความ และทำไมสิ่งนี้จึงเปลี่ยนวิธีทำงานของคุณ

6 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

นี่คือเรื่องเปิดเผยที่ทำให้เกือบทุกคนประหลาดใจ: โค้ดเป็นแค่ข้อความ ไม่ใช่ฟอร์แมตลับ ไม่ใช่ไฟล์ไบนารีลึกลับอะไรทั้งสิ้น เว็บไซต์ แอปบนโทรศัพท์ วิดีโอเกม: ทั้งหมดเริ่มต้นจากไฟล์ที่คุณเปิดใน Notepad แล้วอ่านทีละตัวอักษรได้ ไม่มีอะไรซ่อนอยู่ข้างใน และนั่นแหละคือสิ่งที่ทำให้การเขียนโปรแกรมเป็นเรื่องที่เรียนรู้ได้

แต่มีข้อแม้อยู่อย่างหนึ่ง: เรากำลังพูดถึง ข้อความล้วน ไม่ใช่ข้อความที่จัดรูปแบบแล้ว เมื่อคุณเขียนใน Word, LibreOffice หรือ Google Docs ไฟล์จะบรรจุอะไรมากกว่าตัวอักษรของคุณเยอะ: ฟอนต์ ขนาด สี ระยะขอบ ทั้งหมดถูกเก็บไว้เป็นการจัดรูปแบบที่มองไม่เห็น ส่วนไฟล์โค้ดบรรจุ เฉพาะ ตัวอักษร เรียงตามลำดับ โดยไม่มีเครื่องประดับสักนิด สีที่คุณจะเห็นในเอดิเตอร์ทีหลังไม่ได้อยู่ในไฟล์: เอดิเตอร์ต่างหากที่เติมมันลงบนหน้าจอ เพื่อช่วยคุณ

TEXT
เนื้อหาจริง ๆ ของไฟล์ index.html ทีละตัวอักษร:

<h1>Hello</h1>
<p>My first page.</p>

ไม่มีอะไรอื่นอีก ไม่มีฟอนต์ ไม่มีสี ไม่มีระยะขอบ
ไฟล์โค้ดบรรจุเพียงตัวอักษรที่คุณพิมพ์เท่านั้น

แล้ว นามสกุลไฟล์ ล่ะ เจ้าคำต่อท้ายสั้น ๆ หลังจุดนั่น: .txt, .html, .py, .js? มันเป็นแค่ ป้ายที่แปะไว้บนกล่อง เท่านั้น มันไม่เปลี่ยนอะไรในเนื้อหาเลย มันมีไว้เพื่อบอกโปรแกรมต่าง ๆ และบอกตัวคุณเอง ว่าไฟล์นี้ควรจะบรรจุอะไร การเปลี่ยนชื่อ photo.jpg เป็น photo.txt ไม่ได้เปลี่ยนรูปภาพให้กลายเป็นข้อความ: เนื้อหาไม่เปลี่ยน มีแค่ป้ายที่โกหก ในทางกลับกัน ข้อความเดียวกันที่บันทึกเป็น page.txt หรือเป็น page.html ก็คือไฟล์เดียวกันเป๊ะ แต่เบราว์เซอร์จะแสดงมันเป็นหน้าเว็บเฉพาะในกรณีหลังเท่านั้น

เรื่องทั้งหมดนี้มีผลตามมาอีกอย่าง: อย่าเขียนโค้ดในโปรแกรมประมวลผลคำเด็ดขาด Word และ Google Docs แก้สิ่งที่คุณพิมพ์โดยอัตโนมัติ และโดยเฉพาะอย่างยิ่ง มันสลับอัญประกาศตรง ๆ ของคุณให้กลายเป็นอัญประกาศโค้งสวย ๆ แบบงานพิมพ์ สำหรับคุณ ความต่างนั้นมองไม่เห็น แต่สำหรับเครื่อง นั่นคืออักขระคนละตัวกันโดยสิ้นเชิง และโปรแกรมของคุณก็จะปฏิเสธที่จะทำงานเสียดื้อ ๆ

TEXT
สิ่งที่เครื่องคาดหวัง       "hello"     อัญประกาศตรง
สิ่งที่ Word เขียนออกมา     “hello”     อัญประกาศโค้งแบบงานพิมพ์
กับดักอีกอย่างที่พบบ่อย     'hello'  ->  ' กลายเป็นอะพอสทรอฟีโค้ง
อักขระสองตัวที่หน้าตาคล้ายกันไม่ใช่อักขระตัวเดียวกัน

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. จริง ๆ แล้วไฟล์โค้ดบรรจุอะไรไว้?
    • เฉพาะตัวอักษรที่คุณพิมพ์ โดยไม่มีการจัดรูปแบบ
    • ตัวอักษรพร้อมกับสีที่ใช้แสดงผล
    • ฟอร์แมตที่ถูกบีบอัดจนอ่านไม่ได้หากไม่มีซอฟต์แวร์พิเศษ
  2. นามสกุลไฟล์อย่าง .html มีไว้เพื่ออะไร?
    • บอกคุณว่าไฟล์นี้ควรจะบรรจุอะไร
    • บีบอัดเนื้อหาของไฟล์
    • ปกป้องไฟล์จากการเปลี่ยนแปลง
    • เปลี่ยนเนื้อหาของไฟล์
  3. ทำไมคุณไม่ควรเขียนโค้ดใน Word?
    • มันสลับอักขระบางตัวโดยอัตโนมัติ เช่น อัญประกาศ
    • มันบันทึกไฟล์ไม่ได้
    • มันจำกัดจำนวนบรรทัดที่อนุญาต