السلام عليكم ..

سابقاً، كنت أعتقد ان أنه لا يوجد أي أهمية للفلسفة، ولكن منذ فترة ليست بقصيرة و بعد قراءتي لبعض الكتب الفلسفية ومشاهدة بعض المقاطع اليوتيوبية الرائعة، بدأت أهتم بالفلسفة بشكل أكبر وأكثر .. وهذا دفعني لأطرح عدة تساؤلات مفيدة نوعاً ما لمجال عملي الأبعد عن الفلسفة وهو البرمجة .. ومن هذه التساؤلات :

هل البرمجة مزاجية ؟ بكلمات أخرى .. هل نبرمج حسب مزاجنا ؟ مثل الرسم، الموسيقى، الرقص او النحت مثلاً ؟ هل هي فن !

تساؤلات فلسفية جميلة بصراحة، أسعى من خلال هذه التدوينة للإجابة عنها بقدر المستطاع وأتمنى أن اوفق في ذلك :-)

بداية، هنالك علاقة وثيقة وطردية ربما تربط الفن بشكل عام مع المزاج او الحالة المزاجية .. مثلاً لا يستطيع الموسيقي عزف شيء إذا كان مزاجه حادً او سيئاً .. او ربما، يعزف بعض المقطوعات الجريئة او القاسية والملحمية!
ولن يرسم الرسّام قطعة من الطبيعة الهادئة و الجميلة لو كان مزاجهُ سيئاً، بل سيقوم برسم قطعةً من الجحيم!

ولكن، هل تنطبق هذه القاعدة على البرمجة؟ او المبرمجين بشكلٍ عام ؟
شخصياً، أرى أنها تنطبق، و بشكل قوي أيضاً .. وإليكم قصة قصيرة شخصية :

منذ شهرين تقريباً، مررت بحالة مزاجية سيئة لأبعد درجة، في الواقع لم أمر بها في حياتي من قبل!
ما لاحظتهُ عملياً هو تخبط أموري الحياتية كلها، إبتدائاً من النوم إلى الأكل حتى العمل والبرمجة .. وكان للبرمجة نصيب الأسد من ذلك التخبط ..

لاحظت -برمجياً- ما يلي :
– أن الأسطر البرمجية التي أكتبها للقيام بشيء ما زادت عن الأسطر التي قمت بكتابتها للقيام بنفس الشيء سابقاً .!
– جوهر التطبيق او أساسهُ لم يعد بتلك الجودة التي أعتدت ان أقوم بكتابته وتنقيحه ليعمل بأفضل شكل ممكن .!
– لا توجد قدرة ذهنية على التنقيح او حل المشاكل البرمجية -حتى البسيطة منها-.. أنت في صلب المشاكل الكثيرة التي لا حل لها .!
– تعقيد الأمور، وجدتني أقوم بالعمل بالمثل العامي القائل : “أذنك من وين يا جحا” .!
– أسماء المتغيّرات بشكلٍ عام، بدأت اكتب أسماء المتغيّرات على شكل حرف واحد او إختصار بحرفين فقط!
– بناء التطبيق بشكل عام كان غير مرن، قاسٍ كالزجاج لا يتحمل الضغوط !
.. فضلاً عن إستخدام الثيم الأسود بالفيجوال ستوديو أحياناً D:

طبعاً بنهاية القصة إنتهيت من كافة التطبيقات، وتم حل المشاكل بمساعدة زميلي بالعمل و كانت النتائج مرضية لحدٍ ما :)

علاقة وطيدة إذاً ؟ أم ان كل المهن والحرف كذلك ؟

ولكن الطبيب لن يقوم بوصف وصفة خاطئة لمريضه بسبب مزاج سيء، والسائق لن يتجاوز السرعة المحددة بسبب مزاج سيء، والبائع لن يقوم بزيادة السعر او بـ “تكسير المحل” بسبب مزاج سيء والمدرس لن يقوم بإعطاء الطلّاب معلومات خاطئة وغير صحيحية .. وما يحدث من ذلك يكون نادراً!

أيضاً لن يستطيع المبرمج كتابة ” int i = “5”; ” وسيقول له الكومبايلر : “أجننت، لن تستطيع إعطاء قيمة نصية لمتغير من نوع رقمي !!” مع العلم ان القيمة بالأصل رقمية وهي 5 ولكن مع وجود العلامات ” ” سيتحول لنصي !
ولكن يستطيع البائع مثلاً عدم البيع للأطفال المزعجين ولن يكترث لأحد .. فذلك عبئ آخر على المبرمج وهو المنطق .. و بكل المعارك المبرمجية سيفوز المنطق حتماً .. وسترجع وتغير الكود ليصبح : ” int i = 5; ” .

والعكس صحيح .. أغلب المبرمجين إذا كانوا بحالة مزاجية -صباحيّة فيروزية- رائعة، يكتبون أكوادً رائعة تتمنا لو تقوم بطباعتها والتصبّح بها كل يوم D: .. لما تلاحظه من ترتيب، أسماء متغيرات واضحة .
ايضاً على مستوى التطبيقات، تجد أن المبرمج الذي يكون بحالة مزاجية رائعة تكون لديه أفكار برمجية جديدة نوعاً ما ويبدع برمجياً وبشكل واضح .. وستجده سيكتب : ” int forExample = 5; ” 😀 .

إذاً، هنالك علاقة بين المزاج و البرمجة كما هي بين المزاج والرسم .. ولكن هل البرمجة فن ؟

ما هو الفن ؟
لا يوجد تعريف دقيق للفن يجمع كل ما بمعناه .. ولكن بعد بحثٍ ليس بقصير وتفكير ليس بسطحي وجدت الآتي :
– الفن هو وسيلة للتعبير عن الأفكار .
– الفن هو إستخدام مهارات خاصة لإنتاج أشياء تحمل قيمة جمالية .
– الفن هو منتج إبداعي يعتمد على مهارات .
– الفن هو تحويل الفكرة المتخيّلة إلى مجموعة من الأشياء التي تحمل دلالة .

ومن هذه النقاط والتعاريف، يمكنني الإجتهاد و تعريف الفن على أنه :
“شيء جميل ذا معنى ينتج عن إستخدام مهارات تعبّر عن أفكاراً تحمل قيمة جمالية إبداعية” .. جميل!
يمكننا تطبيق هذه التعريف على كل الفنون بما فيها الرسم والموسيقى والرقص و الهندسة!

ولكن هل ينطبق على البرمجة ؟

للجواب على ذلك، يجب ان نعرف ماهي الأشياء التي تنتج عن البرمجة ؟
أنواع كثيرة جداً من البرامج والتطبيقات والأكود، فمنها ما هو للجوال ومنها ما هو للخدمات السحابية، ومنها ما هو للكونسول .. لذلك بعض النتائج لن تكون جميلة -قبيحة- ، مثلاً كود للكونسول .. أين الجمال في ذلك ؟ هل يرى العامة هذه الجمال الذي نراه فقط نحن المبرمجين ؟ لا، بل بالعكس تماماً، فالصورة الذهنية للبرمجة عند أغلب العامة هي صفحة سوداء بأكواد خضراء -تباً- تملؤ الشاشة !
فعلياً، كل نتواج البرمجة هي قبيحة للعامة، بإعتبار التصميم -وهو فن- هو شيء منفصل أصلاً عن المبرمجة .

لذلك لا تنطبق البرمجة حرفياً على معنى الفن والذي يتطلب ان يكون الناتج “جميلاً”.. فكل نواتج البرمجة تكون غير جميلة بالمطلق.. ولكن كل نتواج الرسام -الفنان- جميلة بما فيها التي لا تعجبك انت، وكل الموسيقى الفنّية جميلة بما فيها تلك التي لا تعجبك ايضاً!

ولكن .. البرمجة هي شيئ جميل بالنسبة لنا -نحن المبرمجين- ، فنحن نراها جميلة لأن نحب أن نرى مئات الأسطر ونشعر بالإيجابية والعاطفة تجاهها !

إذاً، هل البرمجة فن ؟ ومن أي الأنواع ؟
نعم، هي فنٌ خاص بكل مبرمج .. وبإمكاننا إعتباره فن خاص من الفنون التشكيلية، ولكن ليس بالمعنى الكامل ..
وأنا أرى أن يضاف نوع جديد لأنواع الفنون الثلاثة – التشكيلية، والصوتية، والحركية- وهو الفن المنطقي .. ويكون الفن المنطقي معنياً بالفنون التي تتطلب إعمال العقل بشكل كامل وفق منهج المنطق المطلق .. مثلاً : بعض الخوارزميات الرياضية .

ما هي فوائد المزاجية بالبرمجة و كيف نستغل هذه الأوقات المزاجية وماهي ؟
و ما علاقة الفنون الأخرى بالبرمجة ؟
ايضاً، ماذا عن الإحباط بالمشاريع البرمجية وهل لأننا لم نؤمن بالفكرة فقط؟
سأكتب عن كل هذا في تدوينة قادمة إن شاء الله في وقت قريب ..

شكراً لوقتكم .. وأنا متشوق لأقرأ تعليقاتكم وأراءكم عن ذلك.

مصادر تزويديه عن فلسفة الجمال (الاستاطيقا) .