مبرمج

آدا لوفلايس بتعتبر اول مبرمجه فى التاريخ حسب رأى كثير من الناس

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

البرمجه تكون بكتابة تعليمات او اوامر لغة برمجه زى :السى شارب او الچافا او لغات برمجة اخرى و عن طريق استخدام برنامج معين اسمه المُجمع(Compiler) يتم فيه كتابة الكود و تحويله لبرنامج كامل يعمل وظايف معينه. ويوجد لغة من لغات البرمجه تسمح باستخدام اساليب مختلفه لعمل البرامج بدلا من الطرق التقليديه العاديه المستخدمه لكتابة الاوامر و الاكواد. وهناك من يعتبر الكونتيسه و عالمة الرياضيات الانجليزيه آدا لوفلايس اول مبرمجه فى التاريخ و بسبب انها كتبت اول محرك تحليلى فى التاريخ اللى كان من المفترض عالم قبلها يقوم باكماله.

طبيعة العمل

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

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

المبرمجين يكتبون البرامج حسب المواصفات اللى يحددها قبلا المبرمجين الاعلى ومحللى النظم (هنا مقصود اعلى فى الوظيفه و اكثر فى الخبره) . بعد ان تكتمل علميلة التصميم، يتبقى مهمة المبرمج ان يحول التصميم دى لسلسله منطقيه من التعليمات اللى تمكن الكمبيوتر لكى يفهمها. المبرمج يكتب التعليمات دى باستخدام واحده من لغات البرمجه. وتستخدم لغات البرمجه المختلفه على حسب الغرض من البرنامج, فيه لغات تستخدم للحاجات التجاريه زى لغة الكوبول (COBOL) و لغات تستخدم للحاجات العلميه و الهندسيه مثلالفورتران (FORTRAN) و لغات تستخدم لتعليم الناس البرمجة مثلالباسكال (Pascal) و البيسك (BASIC) و انواع اخرى كثيرة. المبرمجين عامة يكونون على علم باكتر من لغة برمجه واحده وبسبب تشابه كتير من لغات البرمجة تعلم لغة برمجه جديده يكون اسهل. عمليا المبرمجين يسمون على حسب لغة البرمجه اللى يشتغلو بها: مبرمج چافا او مبرمج سى بلس بلس, و على حسب نوع الشئ اللى يعملوه زى مبرمج قواعد بيانات او مبرمج ويب.

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

الاختبار والتصحيح (التنقيح)

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

برمجة التطبيقات قدام برمجة النُظم

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