ค้นพบว่าทุกโปรแกรมเป็นเพียงไฟล์ข้อความ และทำไมสิ่งนี้จึงเปลี่ยนวิธีทำงานของคุณ
เปิดบทเรียนนี้ใน Kodokonนี่คือเรื่องเปิดเผยที่ทำให้เกือบทุกคนประหลาดใจ: โค้ดเป็นแค่ข้อความ ไม่ใช่ฟอร์แมตลับ ไม่ใช่ไฟล์ไบนารีลึกลับอะไรทั้งสิ้น เว็บไซต์ แอปบนโทรศัพท์ วิดีโอเกม: ทั้งหมดเริ่มต้นจากไฟล์ที่คุณเปิดใน Notepad แล้วอ่านทีละตัวอักษรได้ ไม่มีอะไรซ่อนอยู่ข้างใน และนั่นแหละคือสิ่งที่ทำให้การเขียนโปรแกรมเป็นเรื่องที่เรียนรู้ได้
แต่มีข้อแม้อยู่อย่างหนึ่ง: เรากำลังพูดถึง ข้อความล้วน ไม่ใช่ข้อความที่จัดรูปแบบแล้ว เมื่อคุณเขียนใน Word, LibreOffice หรือ Google Docs ไฟล์จะบรรจุอะไรมากกว่าตัวอักษรของคุณเยอะ: ฟอนต์ ขนาด สี ระยะขอบ ทั้งหมดถูกเก็บไว้เป็นการจัดรูปแบบที่มองไม่เห็น ส่วนไฟล์โค้ดบรรจุ เฉพาะ ตัวอักษร เรียงตามลำดับ โดยไม่มีเครื่องประดับสักนิด สีที่คุณจะเห็นในเอดิเตอร์ทีหลังไม่ได้อยู่ในไฟล์: เอดิเตอร์ต่างหากที่เติมมันลงบนหน้าจอ เพื่อช่วยคุณ
เนื้อหาจริง ๆ ของไฟล์ 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 แก้สิ่งที่คุณพิมพ์โดยอัตโนมัติ และโดยเฉพาะอย่างยิ่ง มันสลับอัญประกาศตรง ๆ ของคุณให้กลายเป็นอัญประกาศโค้งสวย ๆ แบบงานพิมพ์ สำหรับคุณ ความต่างนั้นมองไม่เห็น แต่สำหรับเครื่อง นั่นคืออักขระคนละตัวกันโดยสิ้นเชิง และโปรแกรมของคุณก็จะปฏิเสธที่จะทำงานเสียดื้อ ๆ
สิ่งที่เครื่องคาดหวัง "hello" อัญประกาศตรง
สิ่งที่ Word เขียนออกมา “hello” อัญประกาศโค้งแบบงานพิมพ์
กับดักอีกอย่างที่พบบ่อย 'hello' -> ' กลายเป็นอะพอสทรอฟีโค้ง.html มีไว้เพื่ออะไร?