برمجه

من ويكيبيديا، الموسوعه الحره
روح على: استكشاف، تدوير

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

نظره عامه[تعديل]

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

البرمجه الحديثه[تعديل]

متطلبات الجوده[تعديل]

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

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

امكانية القرايه مهمه عشان المبرمجين بيقضوا معظم وقتهم فى قراية الكود و محاولة فهم و تعديل الكود القديم المكتوب و بيقضى وقت اقل فى كتابة كود جديد. الكود اللى موش مقرى (اللى مينفعش قرايته خالص) دايما بيأدى لحصول اخطاء فى البرامج(Bugs) و اكواد متكرره. فى دراسه اتعملت قالت ان كل ما كانت القدره على القرايه اكتر كل ما قل الوقت المستهلك فى فهم الكود.

من العوامل اللى بتأثر على القرايه:

  1. اسلوب المسافه الباديه.
  2. كتابة التعليقات.
  3. اتفاقيات التسميه
  4. التقسيم

التعقيد الجوريزمى[تعديل]

الحقل الأكاديمي والممارسه في برمجة الكومبيوتر مهتمين بشكل كبير باكتشاف وتطبيق أكتر الجوريزمات كفائه لفئه معينه من المشكله.

المنهجيات[تعديل]

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

قياس استخدام لغة البرمجه[تعديل]

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

التنقيح و التصحيح[تعديل]

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

لغات البرمجه[تعديل]

مقال تفصيلى: لغة برمجه

ليسته فيها حبه من لغات البرمجه[تعديل]

و لغات تانيه كتير

المبرمجين[تعديل]

مقال تفصيلى: مبرمج

مبرمجين الكمبيوتر واللي بيكتبوا البرامج. وظايفهم عادة بيكون فيها:

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