10

هل تعتبر نفسك مبرمجاً محترفاً ؟ إذا هل تستطيع أن ... ؟

هل تعتبر نفسك مبرمجاً محترفاً ؟

هل أنت ممن يعتبر أن إحتراف لغة برمجة شيء مهم حتى تصبح مبرمج محترف ؟

إذا هل تستطيع أن تبرمج أحد البرامج التالية دون استخدام مكتبات جاهزة وباللغة التي تبرمج بها حاليا ؟ (وهنا لا أتحدث عن إمكانيات اللغة ، بل إمكانياتك أنت)

وإذا كان الجواب نعم فكيف ستفعل ذلك وماذا سوف تستخدم ؟

برنامج معالجة الصور ، أو برنامج تحرير الأصوات أو الفيديو


أولا لا يوجد شي اسمه مبرمج محترف

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

و أيضا ASP.NET ليست لغة برمجة ولكنها مكتبة جاهزة من مايكروسوفت تقوم باستخدامها مع C# أو VB.NET

وايضا مكتبة JQuery بدونها ستكتب سطور عديدة على JavaScript لتقوم بمهمة تاخذ عدد اقل من الاسطر لكتابتها ب JQuery فكل المواقع والشركات الكبيرة تستخدمها.

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

أخيرا جوابا على سؤالك سيكون هكذا

المبرمج المحترف (بالشروط التي ذكرتها) هو من يعمل على 0 و 1 فقط ليقوم بعمل المشروع كاملا ;)

أولا : لماذا لا يوجد شيء اسمه مبرمج محترف ؟؟

ثانياً : لا توجد شركة برمجيات في العالم لا تستخدم مكتبات جاهزة ، لا أنفي ولا أثبت ذلك ولا أعلم .

ثالثا : هل من كتب OpenGL استخدم مكتبات جاهزة أو برمجة بالـ 0 و 1 ؟؟؟؟ أعتقد لا

الموضوع الذي ذكرته لا يحتاج لمن يبرمج بالـ 0 و 1 إقرأ رد الأخ نذير ففيه الجواب الشافي

أنا كنت أقصد لا يوجد مبرمج محترف بالشروط التي ذكرتها

لكن الغرض من ردي ذكرته أنه تطوير المشاريع الكبيرة تكون ضمن فريق عمل مما يعني حتى (المبرمج المحترف) لن يعمل لوحده في تطوير هذا المشروع

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

فالمكتبات الجاهزة الغرض منها تسهيل كتابة الأكواد مرة أخرى أذكر JQuery هذه مكتبة تسهل كتابة اكواد JavaScript وليست لغة برمجة ولكنها مكتبة ضخمة

فعندما أقول مثلا أنا محترف في JQuery لا يعني أني مجترف في JavaScript و العكس صحيح أيضا.

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

أما موضوع 0 و 1 كانت مجرد مزحة فقط

لم أقصد من سؤالي أخي الكريم أن المبرمج المحترف هو من يعرف المواضيع أعلاه ، وليس من لا يستخدم المكتبات الجاهزة ، بل عدم استخدامها في كثير من الأحيان هو مضيعة للوقت وإعادة لصنع العجلة

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