لغات غريبة
أغسطس 2021
عندما يقول الناس إنه في تجربتهم، فإن جميع لغات البرمجة متكافئة أساسًا، فهم يصدرون حكمًا ليس عن اللغات بل عن نوع البرمجة التي قاموا بها.
99.5٪ من البرمجة تتكون من ربط استدعاءات لوظائف المكتبة. جميع اللغات الشائعة جيدة بنفس القدر في هذا. لذلك يمكن للمرء أن يقضي مسيرته المهنية بأكملها في العمل في تقاطع لغات البرمجة الشائعة.
لكن النسبة المتبقية 0.5٪ من البرمجة هي الأكثر إثارة للاهتمام بشكل غير متناسب. إذا كنت ترغب في معرفة ما تتكون منه، فإن غرابة اللغات الغريبة هي دليل جيد يجب اتباعه.
اللغات الغريبة ليست غريبة عن طريق الصدفة. على الأقل ليس الجيدة منها. غرابة الجيدة منها عادة ما تشير إلى وجود شكل من أشكال البرمجة التي ليست مجرد ربط عادي لاستدعاءات المكتبة.
مثال ملموس: وحدات Lisp. وحدات Lisp تبدو غريبة حتى للعديد من مبرمجي Lisp. فهي ليست فقط خارج تقاطع اللغات الشائعة، ولكن بطبيعتها سيكون من الصعب تنفيذها بشكل صحيح في لغة دون تحويلها إلى لهجة من لهجات Lisp. والوحدات هي بالتأكيد دليل على تقنيات تتجاوز برمجة الربط. على سبيل المثال، حل المشكلات عن طريق كتابة لغة أولاً لمشاكل هذا النوع، ثم كتابة تطبيقك المحدد بها. ولا يقتصر هذا على كل ما يمكنك فعله بالوحدات؛ بل هو مجرد منطقة واحدة في مساحة من تقنيات معالجة البرامج التي لا تزال بعيدة عن الاستكشاف الكامل حتى الآن.
لذلك إذا كنت ترغب في توسيع مفهومك لما يمكن أن تكون عليه البرمجة، فإن إحدى الطرق للقيام بذلك هي تعلم اللغات الغريبة. اختر لغة يعتبرها معظم المبرمجين غريبة ولكن متوسط مستخدميها ذكي، ثم ركز على الاختلافات بين هذه اللغة وتقاطع اللغات الشائعة. ما الذي يمكنك قوله بهذه اللغة والذي سيكون غير مريح بشكل مستحيل قوله باللغات الأخرى؟ في عملية تعلم كيفية قول الأشياء التي لم تتمكن من قولها من قبل، من المحتمل أن تتعلم كيفية التفكير في الأشياء التي لم تتمكن من التفكير فيها من قبل.
شكر لـ Trevor Blackwell و Patrick Collison و Daniel Gackle و Amjad Masad و Robert Morris لقراءة مسودات هذا.