18

البرمجة والطبخ، إلى أي حد يتشابهان!

  • zomorroda

عندما أتعلم شيئا جديدا، لطالما كنت أقارنه بشيء أعلمه جيدا. هذه احدى طرقي لأتعلم وأفهم.

اكتسبت خبرةً في الطبخ قبل تعلمي البرمجة، لذلك كثيرا ما أحاول مقارنة البرمجة بالطبخ، خصوصا عند تعلم الأساسيات.

هذا ملخص بعض الأفكار التي احتفظت بها في مذكرتي.

مكان العمل

الطبخ: المطبخ

البرمجة: البيئة التطويرية

كلاهما يضم كل الادوات والمكونات. وتتم فيه العمليات.

التجربة

الطبخ: تذوق الطعام.

البرمجة: Debug.

و يتم في كل منهما التعديل بعد التجربة حسب الحاجة. هنا غالبا نجيب على هذا السؤال(هل هناك خطأ في طريقة العمل؟)

الاختبار

الطبخ: يتم اختبار الطعم وطريقة التقديم.

البرمجة: يتم اختبار التصميم و الكفاءة في الاداء.

يشتركان في إختبار المظهر (تصميم البرنامج/ طريقة تقديم الطبخة).

 التحضير

الطبخ: تجهيز المكونات. (غسل، تقطيع، نقع...).

البرمجة: تعريف المتغيرات، استدعاء المكتبات...

ففي البرمجة ربط المتغيرات بطرق و ضمها في سياق كود لتؤدي الوظيفة المطلوبة. وهذا يشبه تجهيز المكونات لنحدد ما الذي سنقوم به ( نخلط المكونات الجافة- نسلق بعض المكونات- نخفق البعض الآخر).

التعلم

تبدأ بالأساسيات التي يتعلمها كل شخص ثم الانطلاق للاكمال بشكل ذاتي وابداع اطباق وبرامج جديدة.

قواعد مشتركة

  • (كل الطرق تودي إلى روما). هناك عدة كودات تقوم بعمل واحد. وهناك عدة وصفات تنتج نفس الطبخة.

  • ( نجود بالموجود) نستخدم كل ما يتوفر في الطبخ لننتج افضل ما لدينا. هذا يشبه محاولتنا لتجنب ( code bloat)، حيث نقوم بكتابة الكود باكثر طريقة مختصرة ومرتبة.

  • ( استخدم المساحات بذكاء) في البرمجة نحتاج لمراعاة الذاكرة بنفس الحاجة لمراعاة عدم استنفاذ كل الأواني في المطبخ!

في الواقع يبدو أني لست الوحيدة؛ فقد وجدت احدى المحاولات لتحويل وصفة طعام إلى كود!

هذه هي الوصفة:

وهذه محاولة التحويل:

هل تجدون روابط اخرى بين الطبخ و البرمجة؟ أم أنكم مازلتم ترون انه شتان ما بينهما؟

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يُذكرني سردك لهذه الخطوات منهجية حل المُشكلات ويمكن تطبيقها على أي مجال للوصول لأفضل النتائج

البرمجة لا أعلم كيف أصفُها .. لكنها ما ييبقيني قادراً على مل فراغي بعيداً عن الدراسة والعبادة.

لكن سأقول التالي: البرمجة كالثقب الأسود .. ما أن دخلتي عالَمه لن تقوي على الخروج

الطبخ نهايته في بطن الجائع

اما البرمجة فليس لها نهاية

مجهول
  • حذف بواسطة المستخدم

أنت تستطيع أن تطبخ إذن تستطيع أن تبرمج

صحيح.

وجدت في يوديمي كورس بهذا الأسم.

فكرة راقت لي كثيرا.

أنني ارى ان الطبخ اقرب للكيمياء اكثر من البرمجة و لكنني ارى ما تحاولين فعله.

من ناحيتي اقتنع بأن

" cooking is art, baking is science"

لذلك لم اتناول الخبز هنا، بل ركزت على الطبخ.

بالنسبة لكِ، الطبخ و البرمجة يتشابهان.

و بالنسبة لي، الحدادة و البرمجة يتشابهان.

و بالنسبة لجارنا الغسال، غسل الملابس و البرمجة يتشابهان.

و هكذا دواليك ...

وهذا يخلق سؤال جديد : هل البرمجة حِرفة ؟

أنا أرى أن البرمجة مثل السكين، لن تجد شخصاً يقول أن حرفته التقطيع مثلاً. و لكن هناك الطباخ، و الجزار و القاتل المأجور :) .

كذلك البرمجة أداة مشتركة بين عدد من الحِرف (تطوير ويب، تصميم ويب، تطوير تطبيقات للمحمول ،،، إلخ)

والقاتل والمأجور ^^

أقنعتني بكلامك.

سيكون رائعا لو كتب لنا المبرمجون كيف يرون البرمجة بناءا على مهاراتهم الأخرى. سأستمتع بقراءة ما كتبوه.

كتب الطبخ لا تختلف عن كتب الخوارزميات

أول مثال للخوارزميات كان خوارزمية الخبز :)

بنسبة لي أرى تشابه بين البرمجة و الكيمياء

فالمعادلات الكيميائية مثل الأسطر البرمجية

الكيمياء الحركية المتقدمة تشبه الخوارزميات المعقدة

أما الكيمياء في المعمل تمثل الخوارزميات الوصفية وأذأ ظهرت نتائج مختلفه فحتماً هناك bug

الكيمياء تشبه الطبخ والطبخ يشبه البرمجة وكلها لا غنى عنها غذاء وعلاج :)

البرمجة مثل كتابة كتاب...بإستثناء أنك إذا نسيت فاصلة واحدة فقط في الصفحة 126 فإن كل شيء يصبح بلا معنى....

تعليق عابر كتبته سابقا أجده أنسب لهذا الموضوع ^_^

مقارنة الطبخ بالبرمجة خصوصًا في المثال الأخير (الكود) يُساعد على فهم البرمجة بشكل أفضل ومراحلها (الفكرة العامة Business Requirements -> شبه الكود Pesudocode -> عملية التطوير ذاتها Development -> تنقيح الأخطاء Debugging -> الاختبار testing -> الإطلاق Release).

أصبحت أجد الكثير من الناس يتحدثون عن هذه الظاهرة، كنت قد قرأت عن نفس الشيء في منصة Medium

نفس الأمر الذي حدث لي، فبعد سنوات من البرمجة أصبحت مولع بصناعة الحلويات الفرنسية (Pastry)، تعلمت الكثير من هذا الفن الراقي و لا أجد أي صعوبة في تعلمها، ربما فهمي و تفكيري البرمجي يساعدني في ذلك.

أحب الطبخ وأعمل بعض الأكلات كل فتره , الطبخ مختلف عن البرمجه , الطبخ عالم جميل يمكن الشعور به في كل حاسه من الحواس الخمس كما يمكن تذوق النتيجه حرفيا ... أما البرمجه فهي عالم جميل لايمكن الشعور به في أي من الحواس الخمسه وإنما يمكن تقدير الشعور عن طريق مدى تصلب الدماغ والشعور بالصداع ولا يمكن تذوق النتيجه إلا في حالات نادره ويكون التذوق كنقد بناء أو مجامله عابره أو مبلغ يسير من المال

قام أنشتاين بتشبيه الفيزياء وعلومها بالموسيقى وقال لو لم أكن فيزيائيا لكنت موسيقار , أعتقد أنه يقصد نفس الشيء فالطبخ بالنسبه لي ممتع أكثر ولكن وقعت في البرمجه وهي لاتقارن بالطبخ ولكن لو لم أكن مبرمجا لأصبحت طباخا :)