اكتشف أن كل برنامج ليس إلا ملفًّا نصيًّا، ولماذا يغيّر ذلك طريقة عملك.
افتح هذا الدرس في Kodokonإليك الاكتشاف الذي يفاجئ الجميع تقريبًا: الشيفرة ليست إلا نصًّا. لا صيغة سرّية، ولا ملف ثنائي غامض. موقع ويب، أو تطبيق هاتف، أو لعبة فيديو: كل ذلك ينطلق من ملفات يمكنك فتحها في Notepad وقراءتها محرفًا بمحرف. لا شيء مخفيًّا في داخلها، وهذا بالضبط ما يجعل البرمجة قابلة للتعلّم.
لكن مع تحفّظ واحد: نحن نتحدث عن النص الصِّرف، لا عن النص المُنسَّق. فعندما تكتب في Word أو LibreOffice أو Google Docs، يحتوي الملف على ما هو أكثر بكثير من حروفك: الخط، والحجم، والألوان، والهوامش، وكلها مخزّنة كتنسيق غير مرئي. أما ملف الشيفرة فلا يحتوي إلا على المحارف، بالترتيب، من دون ذرّة زينة. والألوان التي ستراها لاحقًا في محرّرك ليست في الملف: بل المحرّر هو من يضيفها على الشاشة، لمساعدتك.
The real contents of the file index.html, character by character:
<h1>Hello</h1>
<p>My first page.</p>
Nothing else. No font, no color, no margin.فماذا عن الامتداد إذن، تلك اللاحقة الصغيرة بعد النقطة: .txt و.html و.py و.js؟ إنه ليس أكثر من بطاقة ملصوقة على الصندوق. لا يغيّر شيئًا في المحتوى. وهو موجود ليُخبر البرامج، ويُخبرك أنت، بما يُفترض أن يحتويه الملف. وإعادة تسمية photo.jpg إلى photo.txt لا تحوّل الصورة إلى نص: فالمحتوى لم يتغيّر، وحدها البطاقة كذبت. والعكس صحيح: النص نفسه محفوظًا باسم page.txt أو page.html هو الملف نفسه تمامًا، لكن متصفحك لن يعرضه كصفحة ويب إلا في الحالة الثانية.
ولكل هذا نتيجة أخرى: لا تكتب الشيفرة أبدًا في معالج نصوص. فـ Word وGoogle Docs يصحّحان ما تكتبه تلقائيًا، ويستبدلان تحديدًا علامات التنصيص المستقيمة بعلامات مطبعية منحنية أنيقة. بالنسبة إليك، الفرق غير مرئي. أما بالنسبة إلى الآلة، فهذان محرفان مختلفان تمامًا، وسيرفض برنامجك العمل ببساطة.
What the machine expects "hello" straight quotes
What Word writes “hello” curly typographic quotes
Another common trap 'hello' -> ' turns into a curly apostrophe.html؟