الأدوات يجب أن تكون مملة
المفك 🪛 محدش عملّه تحديثات واضافات لمميزات كتير! كل الفكرة إنه مفك بيفك نوع من المسامير وبس كده. الفكرة إن المفك ممل.. يعني ايه ممل؟ .. يعني مفيش مميزات جديدة وأفكار حديثة نجربها في تصميمه. ودي في حد ذاتها فكرة ممتازة. لأن عدم وجود أفكار غريبة نجربها في تصميم المفك ده معناه إن المفك واضح وتصميمه مستقر وسهل الإستخدام ومش محتاج تتعلم الطرق الجديدة للإستخدام لأنه مش بيتحدث بطريقة تخالف أسلوب استخدامه.
عشان كده لازم الأدوات تكون مملة. الأدوات لازم تلتزم بطريقة استخدامها طالما الطريقة سهلة وأصبحت معروفة. لو اضافة مميزات وخصائص جديدة هيعقد استخدام الأداة ويأثر على الاستخدام الرئيسي ، يبقى الأفضل إن المميزات والخصائص دي متتضافش أصلاً.
هو ده السبب اللي بيخليني أحب لغة برمجة زي لغة جو ولغة سي. ليه لغة جو ؟ لأنها بسيطة وسهلة وسريعة في كتابة الكود ، وسريعة في تحويل الكود لبرنامج ، وسريعة في تنفيذ البرنامج. بالإضافة إلى الميزة اللى شايفها مهمة جداً في لغة جو وهي الـ backward compatibility وهي دعم الكود المكتوب لإصدار قديم من لغة جو. ودي ميزة بتخليها تكمل مميزات الملل وعدم تغيير طرق الاستخدام.
الأدوات زي لغات البرمجة ، وأنظمة التشغيل ، وبرامج إنتاج وتعديل الفيديو ، وبرامج تصميم وتعديل الصور ، وبرامج تحويل صيغ الملفات ، .. الأدوات دي لازم تكون مملة. يعني مستقرة وثابتة وواضحة في طريقة استخدامها.
لما الأداة تكون مملة ومش بيتغير أسلوب استخدامها ، وقتها تقدر تركز على الشغل اللي بتعمله بالأداة دي مش تركز مع الأداة نفسها. يعني لما تستخدم نظام تشغيل زي ماك مثلاً ، انت مش هتركز مع نظام التشغيل وتحل مشكلة كذا ولا تشوف طريقة عمل كذا اتغرت بقت ايه .. لأ ، انت تعمل اللي انت عايزه ومش بتاخد بالك من إن في حاجة اتغيرت ودي ميزة مش عيب.
مثال واضح أكتر : لما تكون بتكتب كود بلغة رست (Rust) انت بتبحث وتقرا عن المشكلة أو الخوارزمية اللي بتكتبها بالإضافة إلى طريقة كتابة اللغة نفسها وده شئ وحش جداً. لكن لما تكتب نفس الكود بلغة جو ، هتلاقي نفسك بتبحث وتفكر في طريقة كتابة الخوارزمية أو حل المشكلة .. لكن مش بتفكر في طريقة استخدام اللغة. لأن استخدام لغة جو واضح وسلس وسهل ومش محتاج بحث ومعرفة الفانكشن اللي deprecated حالياً والكلام ده لأن لغة جو (Go) بها خاصية الـ backward compatibility.
ليه الأدوات لازم تكون مملة؟ 🔗
- عشان تقدر تركز في الشغل اللي بتعمله بالأداة ، مش تركز في تفاصيل الأداة نفسها.
- عشان يكون استخدام الأداة سهل، وتستفيد بخبرتك في استخدام الأداة.
- عشان تزيد الإنتاجية وابداعك في حل المشكلات الواقعية اللي بتستخدم الأداة في حلها.