in

11 فكرة عن البرمجة منتشرة يغفل الكثيرون عن أنها مجرد خرافة

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

لو كانت كل الخرافات البرمجية صحيحة، لكان العالم البرمجي يبدو مثل كتيبة تضم نيّفًا وعشرين مهووسًا (بعضهم أفضل عشر مرات من الآخر) يستخدمون مهاراتهم الرياضية العالية لكتابة الأكواد البرمجية طوال الليل.

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

لنقم بتصحيح هذه الخرافات:

1. المبرمجون الجيدون يعملون على مدار الساعة

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

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

يملك العديد من المطورين عائلات وحياة بأكملها خارج البرمجة، كما أنهم يُحبِّذون مغادرة المكتب عند انتهاء العمل.

لذلك وبدلًا من ترك فسحة لهذه الفكرة لتستمر وتتمادى، سينفع المجتمع البرمجي أكثر لو سعى لطُرُقٍ تحسِّن سير العمل (workflow)، ووضع أهداف واقعية ومنهجية إدارة رشيقة (أجايل).

2. تعهيد الأعمال إلى الخارج ينتج عنه برمجيات أسرع أداءً وأرخص ثمنًا

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

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

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

3. تعهيد الأعمال إلى الخارج سيقضي على مهنتك

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

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

4. كلما كان عدد المراجعين أكبر، قلت الثغرات والأخطاء البرمجية

بهذا الصدد ابتكر ايريك.س. رايموند عبارة مفادها

هات ما يكفي من المراجعين، وستبرز الأخطاء البرمجية للعيان“.

هناك اعتقاد شائع في الوسط البرمجي أن الأخطاء البرمجية في البرامج مفتوحة المصدر ستُكتشف لا محالة، وتُراجع وتُصلح بعدها بكل تأكيد، لأن أي أحد بإمكانه المساهمة واتخاذ الإجراءات اللازمة. لكن الحقيقة، هي أن عدد الناس الذين يستخدمون البرامج مفتوحة المصدر أكبر من عدد أولئك الذين يساهمون في تطويرها، ناهيك عن أن أغلبهم غير قادر على تمييز الأخطاء في الكود البرمجي ومِن ثَمَّ إصلاحها.

بمعنى آخر، يبقى هذا المثل صحيحًا “كَثرة الطَّبّاخين تُفسِد الطَّهي“. أما الطريقة الأفضل فهي أن يتم الاستعانة بفريق متخصص مدعوم ببرمجية تتبع أخطاء، ممتازة وفعالة.

5. براعتك في الرياضيات ستحدد مدى براعتك في البرمجة

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

6. المطورون عباقرة

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

7. تستطيع التخصص في شيء واحد فقط

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

8. اللغة البرمجية الفلانية هي الأفضل

لا توجد لغةٌ برمجية واحدة، سحرية تصنف أنها أفضل لغة برمجية لجميع الأغراض. بل على العكس من ذلك، كل لغة برمجية تحظى بمنطقة خاصة ضمن البيئة البرمجية. هذا لا يعني أن بعض اللغات ليست أفضل من بعضها في أمور معينة حيث يمكنك استخدام جافا سكريبت لتكويد برنامج تفاعلي، لكن (السي++) أفضل إذا أردت إتمام شيء بسرعة.

أيها المطورون، لا داعي للجدل العقيم، لا توجد لغة برمجية مثالية.

9.يمكنك إتقان لغة برمجية خلال بضعة أسابيع

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

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

[هل يمكنك أن تتعلم البرمجة بنفسك في 7 أيام حقًا؟]

10. أزمة البرمجيات

تحدث إيدجر ديجكسترا سنة (1968م) عن “أزمة البرمجيات”، وهي عبارة تُشير لتطوير برمجيات غير فعالة، تتعدى الميزانية المخصصة لها، وذات جودة ضعيفة، ويصعب صيانتها.

واليوم، تشير حقيقة أن البرامج التي تعج بالأخطاء والثغرات تُكلف الولايات المتحدة الأمريكية بلايين الدولارات سنويا في الظاهر إلى أزمة على الرغم من أنه لا أزمة حقيقية موجودة كي نتحدث عنها.

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

11. عندما تُسلم برنامجك، يعني أن مهمتك انتهت

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

المصدر: زد

#موقع شعلة للمحتوى العربي #شعلة #موقع #شعلة #شعلةدوت_كوم

#شعلة.كوم

This post was created with our nice and easy submission form. Create your post!

هل أعجبك المقال؟

تم النشر بواسطة عالم التكنولوجيا

التعليقات

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

Loading…

0

Comments

0 comments

الأمطار تواعد الطائف والعرضيات وميسان.. و"المدني" يدعو للحذر

شغوفٌ بالمعرفة؟ إليك هذه البرامج التليفزيونية العلميّة على نتفلكس