
البرمجة للمرح: إعادة اكتشاف متعة كتابة الكود
يستكشف كريستوفر فيري البرمجة للترفيه، كتابة الكود لمجرد المتعة وليس للعمل أو المال. يصف خمسة أنماط عملية، أنماطاً شائعة وأمثلة واقعية.
ما هي البرمجة للمرح؟
يوضح كريستوفر فيري أن هذا هو كتابة الكود من أجل متعة البرمجة وليس من أجل العمل أو المال أو أي متطلب خارجي. أي بناء الأشياء بدافع الفضول، تجربة لغات جديدة، حل المشكلات الموجودة في رأسك فقط، وكتابة كود يبعث على الابتسام.
ويؤكد أن هذا ليس نشاطاً جانبياً، أو تطوير مهارات مهنية، أو ترفيه، أو تحديات المقابلات، أو تلبية توقعات الآخرين. المهم هو الدافع الداخلي وليس الضغط الخارجي. وبحسب فيري، هذا يحرر من الإفراط في التفكير، يطوّر الحدس، يحافظ على الشغف، وغالباً ما يقود إلى اختراقات غير متوقعة.
خمسة أنماط
"الباحث الحي" يخلق علناً عبر البث المباشر أو المدونات ويعرض العقبات والأخطاء والبدايات من جديد؛ الموضوع هو مصدر طاقته. "المغمّط العميق" يستكشف كيف يعمل كل شيء، يبني نسخاً لعبية من أنظمة معقدة ويقدّر التعلم أكثر من الإصدار النهائي. "التقني المبدع" يستخدم الكود كوسيلة فن: فن توليدي، تركيب موسيقي، أعمال تركيبية.
"محلّل المشكلات" ينحت الكود لتحديات شخصية ويبني حلول "جيدة بما فيه الكفاية" لمهام صغيرة. "باحث اللغات" يفحص لغات ونماذج جديدة، يكتب نفس المفاهيم بلغات مختلفة ويختار لغات غير مألوفة.
الأنماط الشائعة
يرى فيري أنماطاً مشتركة: الرغبة في بناء أشياء "غير مفيدة" لمجرد الفضول حيث الفضول كافٍ ولا ينطبق العائد على الاستثمار؛ اتبع الطاقة وليس الخطط؛ المستودعات المهجورة هي للبحث، والملل يُعتبر بيانات؛ صف رحلتك؛ والتقدم أفضل من الكمال.
للبداية يقترح مجلداً منفصلاً للتجارب، دون قلق من الإنتاجية، مع تحكم مرن في الإصدارات حسب الرغبة. الحلول: تجارب أسبوعية من ساعتين إلى أربع ساعات، تحديات مبنية من الصفر، مشاريع شخصية صغيرة، مشاريع التعلم، وتحديات بين اللغات. التفكير يتحول من "يجب" إلى "ماذا سيحدث إذا".
أمثلة واقعية
يكد كاني نيريندا يبني أدوات عشوائية لكن مفيدة: أتمتة المتصفحات، منظمات الملفات، وأدوات Git على Go و Rust و Python و Vue و React. يستكشف جيريمياه تشيندا الأنماط المعمارية والأطر، ويبني أدوات لمشاكل حقيقية في الوقت نفسه. بثوث Tsoding Daily تستمر أكثر من أربع ساعات يومياً وتبني من الصفر محررات نصية ولغات برمجة ومترجمات.
ThePrimeagen يبني أدوات CLI وإضافات Neovim. كيسي موراتوري يبني على الهواء لعبة كاملة من الصفر في Handmade Hero ويحل كل سطر من الكود بدون مكتبات. بن إيتر يبني أجهزة كمبيوتر على لوحات تجريبية ويحلل عمل المعالجات والذاكرة والشبكات. يكتب دان لو عن أسرار الأداء ويجري اختبارات معيارية على لوحات المفاتيح والطرفيات واللغات.
التحدي الختامي يطلب من القارئ اختيار تجربة واحدة: أسوأ إصدار لأداة يومية، ساعتان مع لغة جديدة، وصف مشكلة صغيرة، استنساخ مشروع مثير للاهتمام، أو برمجة حية. القاعدة الوحيدة: توقف إذا توقف المرح.
المصادر: cphiri.dev
SiTech — تطوير ويب مدعوم بالذكاء الاصطناعي
نبني مواقع سريعة وعصرية وندمج الذكاء الاصطناعي في سير عمل الشركات. لديك مشروع أو سؤال؟ يسعدنا مساعدتك.