عندما يفتح المبرمجون أذهانهم، يكتشفون أن بعض المهام اليومية، التي تبدو لنا نحن البشر بديهية، هي في الواقع 'أصعب مما تبدو'. خذ على سبيل المثال عدّ الكلمات في نص ما. قد تعتقد أن الأمر بسيط: فقط قسّم النص عند المسافات البيضاء وانتهى الأمر. لكن، كما يشير تقرير حديث من عالم البرمجة، هذه الطريقة الساذجة هي مجرد البداية للمشاكل! السبب الحقيقي وراء صعوبة عدّ الكلمات هو ما يُسمى «مشكلة التجزئة». بالنسبة لنا، نفهم بالحدس أن «لا تفعل» (don't) هي كلمة واحدة، وأن «معروف» (well-known) كلمة واحدة، وأن «3.14» عدد واحد. لكن الكمبيوتر لا يمتلك هذا الحدس؛ يحتاج إلى مجموعة واضحة جداً من القواعد ليقرر أين تبدأ الكلمة وأين تنتهي. الطريقة البسيطة التي تقسم النص عند كل مسافة بيضاء تفشل في كثير من الحالات. مثلاً: 'لا تفعل' (don't) كلمة واحدة، لأن الفاصلة العلوية جزء من الكلمة. 'معروف' (well-known) كلمة واحدة، لأن الواصلة تربط الكلمات المركبة. 'مرحباً—عالم' (hello—world) كلمتان منفصلتان، لأن الشَرطة الطويلة (em dash) تفصل الكلمات. الرقم '3.14' كلمة واحدة، على الرغم من وجود نقطة عشرية. أما الرموز التعبيرية (الإيموجي)، فلا تُعد كلمات على الإطلاق، لكنها أحرف. إذا قام برنامجك بتقسيم كل شيء عند المسافات فقط، فسيعد 'مرحباً—عالم' كلمة واحدة، وهذا خطأ. قد يعد الرموز التعبيرية كلمات، وهو أمر محير للمستخدمين. المشكلة هي أن لغتنا مليئة بهذه الاستثناءات والقواعد الدقيقة التي نتعلمها بشكل طبيعي، بينما يجب أن تُبرمج للكمبيوتر بشكل صريح. فكر في الأمر وكأنك تعلم طفلاً صغيراً جداً كيفية العد. إذا أخبرته أن كل شيء تراه منفصلاً عن الآخر بمسافة هو 'شيء'، فسوف يبدأ بالعد بشكل خاطئ عندما يرى مثلاً لعبة مكونة من جزأين متصلين بقطعة صغيرة. يحتاج إلى قواعد أدق: «هذه اللعبة كلها قطعة واحدة، حتى لو بدت منفصلة هنا.» وكذلك الكمبيوتر، يحتاج إلى دليل قواعد مفصل جداً لكل حالة محتملة في اللغة ليعد الكلمات بدقة. هذا هو السبب في أن الأدوات الاحترافية مثل Google Docs أو Microsoft Word تستخدم أنظمة عدّ معقدة جداً، وهذا هو السبب أيضاً في أن إنشاء أداة عدّ كلمات دقيقة ليس بالمهمة السهلة. إذن، في المرة القادمة التي ترى فيها عدداً مختلفاً للكلمات بين برنامجين، ستعرف أن الأمر ليس خطأً بسيطاً، بل هو نتيجة اختلاف في 'القواعد' التي تتبعها هذه البرامج لتحديد ما هو 'كلمة' بالضبط. إنها تذكير مدهش بأن اللغة البشرية، حتى في أبسط مهامها، تحمل تعقيدات هائلة تحتاج إلى فهم عميق لبرمجتها.