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

بدايةً، برامج الحاسب أو برمجيات مصطلح عام يُستعمل لوصف مجموعة من عمليات الحاسوب المتكاملة لحل مسألة رياضية معينة أو القيام بعملية إحصائية أو لتصحيح صيغة تحريرية أو إنجاز عملية معينة أو غير ذلك. ونتناول فيما يلي مزيدًا من التفاصيل.
لمحة عامة
كذلك، إن مصطلح «البرمجيات» غالبًا ما يشمل كل شيء في جهاز الحاسب ما عدا عتاد الحاسوب؛ أي المكونات المادية للحاسوب والتي من ضمنها وحدات الإدخال والإخراج، ولكن البرامج مواد غير ملموسة داخل جهاز الحاسب.
من جهة ثانية، ويشمل «البرمجيات» أو «برامج الحاسب» مجموعة كبيرة للغاية من المنتجات والوسائل التقنية المطورة باستخدام تقنيات مختلفة، مثل لغات البرمجة أو لغات النصوص البرمجية أو حتى الكود المصغر أو FPGA.
من جهة ثانية، ومن بين أنواع «البرمجيات» تأتي المواقع الإلكترونية المطورة من خلال بعض التقنيات الحديثة، مثل لغات HTML وبي إتش بي وبيرل وJavaServer وASP.NET وXML، إلى جانب البرمجيات التطبيقية، مثل برنامج "مايكروسوفت وورد" وبرنامج أوبن أوفيس الذين تم إنشاؤهما باستخدام بعض التقنيات الحديثة، مثل لغة c و++c وJava و#c وغيرها.
برامج التطبيقات
البرامج التجارية
الأتمتة الصناعية
ومن جهة أخرى، تسمح برامج التطبيقات للمستعملين النهائيين بالقيام بمهمة واحدة أو أكثر (لا ترتبط بشكل مباشر بتطوير الحاسوب). وتتضمن التطبيقات النموذجية:
ترخيص برنامج الحاسوب
في هذا الإطار، إن ترخيص برنامج الحاسوب يمنح المستعمل الحق في استخدام البرنامج ضمن إطار وشروط هذا الترخيص. وتأتي بعض البرامج مزودة بترخيص استخدامها عند شرائها بنفسك أو قد تأتي مزودة بترخيص صانع معدات أصلية أو ما يعرف اختصاراً OEM من الشركة الأصلية عندما يأتي جهاز الحاسوب الذي تم شراؤه مثبتًا عليه البرنامج. في حين أن هناك برامج أخرى تأتي بترخيص استخدام مجاني ويُمنح المستعمل حق تعديل البرنامج وإعادة توزيعه. هذا فضلًا عن أنه توجد بعض البرامج المجانية أو التجريبية. انظر كذلك: إدارة رخص البرمجيات.
تنفيذ برامج الحاسوب
من جهة ثانية، عادةً ما يكون نقل البيانات من مكان إلى آخر في الذاكرة. وفي بعض الأحيان يتضمن الأمر نقل البيانات بين الذاكرة الرئيسية (Memory) ومناطق التخزين في وحدة المعالجة المركزية (الكاش أو الذاكرة المخبأة)؛ مما يتيح الوصول السريع إلى البيانات في وحدة المعالجة المركزية. إن نقل البيانات، وخاصةً إذا كانت بكميات كبيرة، قد يكون مكلفًا. ومن ثم، فإنه يمكن تجنب هذا الأمر في بعض الأحيان عن طريق استخدام «مؤشرات» لبيانات. وتشمل العمليات الحسابية إجراء بعض العمليات البسيطة، مثل زيادة قيمة العنصر الخاص ببيانات المتغير. وربما تطلبت العمليات الحسابية الأكثر تعقيدًا استخدام الكثير من العمليات وعناصر البيانات معًا.
وفي هذا السياق، ينبغي «تحميل» برامج الحاسوب في الجزء المخصص للتخزين في الحاسوب (مثل، القرص الصلب أو الذاكرة أو ذاكرة الوصول العشوائي) المعروفة باسم RAM. وبمجرد الانتهاء من تحميل البرنامج، فإن الحاسوب يصبح قادرًا على تشغيل البرنامج. ويتضمن ذلك تمرير التعليمات من برنامج التطبيق وعبر برنامج النظام إلى عتاد / مكونات الحاسوب الذي يتلقى التعليمات في النهاية في شكل لغة برمجة يفهمها جهاز الحاسوب نفسه، ويقوم كل سطر برمجي بجعل جهاز الحاسوب يتولى تنفيذ عملية أو مهمة معينة، مثل نقل البيانات أو إجراء عمليات حسابية أو تغيير التحكم في تدفق التعليمات.
دليل التعليمات الفنية
علاوةً على ذلك، وربما يكون دليل التعليمات الفنية للمطور موجودًا كذلك إما مع الكود في شكل تعليقات و/أو في شكل ملفات منفصلة تشرح كيفية تشغيل البرنامج وكيفية إدخال بعض التعديلات عليه.
ومن ناحية أخرى، إن الملفات القابلة للتنفيذ لا تكون عادةً كاملة بالشكل الكافي الذي يجعل من الممكن تنفيذها بشكل مباشر. تتضمن المكتبات البرمجية (Software Libraries) مجموعات من الوظائف والاستخدامات يمكن تضمينها في تطبيقات أخرى. وتحتوي نظم التشغيل على الكثير من ملفات البرامج القياسية، وغالبًا ما يتم توزيع التطبيقات مع الملفات الخاصة بها.
مجموعة الملفات (مكتبة الملفات)
وفي هذا الصدد، تحتوي أغلب برامج الحاسوب على دليل تعليمات فنية للبرنامج حتى يتمكن المستعمل النهائي من فهم البرنامج وما يفعله وكيفية استخدامه. وإذا لم يكن هناك دليل تعليمات فنية سهل وواضح، فقد يكون من الصعب استخدام البرنامج، وخاصةً إذا كان برنامج متخصص ومعقد نسبيًا، مثل برنامج "فوتوشوب" و"أتوكاد"...إلخ.
برنامج تحرير النصوص
في هذا الإطار، بيئة التطوير المتكاملة، وهي تطبيق واحد يهدف إلى المساعدة في إدارة جميع هذه الوظائف.
ألعاب الحاسوب
- وسائل الاتصال السلكية واللاسلكية (مثل، الإنترنت وكل ما يتعلق به)
- قواعد البيانات
- البرامج التعليمية
لغات البرمجة
وفي هذا الصدد، لا يمكن إنشاء البرمجيات إلا بلغات البرمجة. وتوفر لغات البرمجة في الغالب أدوات لمساعدة المبرمج في كتابة برامج الحاسوب باستخدام لغات برمجة مختلفة، ولكن بطريقة سهلة. تشتمل الأدوات على:
إضافةً إلى ذلك، الرابط (حاسوب) (أداة للربط بين نصوص الكود البرمجي التي يتم تحويلها باستخدام المحول البرمجي ودمجها للحصول على برنامج تنفيذي واحد)
- محول برمجي (يتم من خلالها تحويل جميع الجمل البرمجية وتنفيذها دفعة واحدة).
- مصحح (أداة اكتشاف الأخطاء)
- المفسر (يتم من خلالها تحويل جميع الجمل البرمجية وتنفيذها جملة جملة).
تصميم البرامج وتطبيقها
كذلك، يختلف تصميم برنامج الحاسوب وتطبيقه تبعًا لدرجة تعقيد البرنامج وصعوبته. مثلًا، يستغرق تصميم وإنشاء برنامج مايكروسوفت وورد وقتًا أطول من الوقت المستغرق في تصميم وتطوير برنامج «المفكرة» مفكرة «مايكروسوفت»، وذلك بسبب اختلاف وظائف كل برنامج.
صناعة البرمجيات
في هذا الإطار، إن برامج الحاسوب لها سوقها الخاص الذي يسمى صناعة البرمجيات ويتكون من شركات مختلفة وأشخاص يقومون بإنتاج برامج الحاسوب. ونتيجة لذلك، فإن هناك الكثير من الشركات المتخصصة في إنتاج برامج الحاسوب والمبرمجين في العالم. ونظرًا لزيادة استخدام برامج الحاسوب في الكثير من المجالات المختلفة، مثل النواحي المالية والبحث والرياضيات واستكشاف الفضاء والألعاب والتعدين وغيرها، فإن شركات البرامج والمبرمجين عادةً ما يتخصصون في مجالات معينة. مثلًا، تتخصص شركة "إليكترونك آرتس" في تصميم ألعاب الفيديو.
وفي هذا السياق، توجد الكثير من المؤسسات المتخصصة في برامج الحاسوب التي لا تهدف إلى الربح، مثل شركة مؤسسة البرمجيات الحرة ومشروع جنو ومؤسسة موزيلا. هذا فضلًا عن أن هناك الكثير من المؤسسات الخاصة بوضع معايير برامج الحاسوب، مثل W3C و"IETF" وغيرها من المؤسسات التي تحاول وضع معايير للبرامج، وذلك حتى يمكن أن تعمل برامج الحاسوب مع بعضها البعض وذلك كما يحدث من خلال معايير لغة الترميز القابلة للامتداد ولغة رقم النص الفائق وبروتوكول نقل النص الفائق وبروتوكول نقل الملفات وغيرها.
من جهة ثانية، ومن أشهر شركات برامج الحاسوب في العالم، شركة مايكروسوفت وأبل وآي بي إم وأوراكل ونوفيل وساب إيه جي وإتش بي، وغيرهم...
- انظر كذلك
- برامج تجريبية
- برمجيات مجانية
- مصدر مفتوح
- برامج تجارية
- برمجيات محمولة
وفي هذا السياق، هذا إلى جانب أن بيع برامج الحاسوب يمكن أن يكون مجالاً مربحًا جدًا. مثلًا، تم تصنيف "بيل جيتس" مؤسس شركة "مايكروسوفت" في عام 2008 على أنه ثاني أغنى رجل في العالم، ويرجع السبب في ذلك إلى حد كبير إلى بيع برامج "ويندوز" و"أوفيس". وينطبق الأمر نفسه على لاري إليسون بسبب برنامج قواعد البيانات "أوراكل".
البرامج المستخدمة في تصميم البرامج
وعلى صعيد آخر، تتميز برامج الحاسوب بخصائص اقتصادية تجعل تصميمها وإنشائها وتوزيعها مختلف عن أغلب السلع الاقتصادية الأخرى.
وعلى صعيد آخر، يُطلق على مصمم برامج الحاسوب أسماء عدة مثل مبرمج ومهندس برامج ومصمم برامج والمبرمج المحترف وكلها تحمل المعنى نفسه.
كذلك، وعادةً ما يتم تصميم وإنشاء برامج الحاسوب (عن طريق كتابة الكود الخاص بها أو برمجتها) في بيئات تطوير متكاملة، مثل إيماكس وأكس إيماكس (محرر نصوص) ومايكروسوفت فيجوال ستوديو وإكليبس والتي تعمل جميعًا على تبسيط عملية الكتابة وتحويل الكود باستخدام أداة المترجم.
من جهة ثانية، ويتم تصنيف مجموعة ملفات واجهة برمجة التطبيقات بحسب أغراض مختلفة. مثلًا، تُستعمل مجموعة ملفات JavaBeans في تصميم تطبيقات الشركات، أما ويندوز فورمز فتُستعمل في تصميم تطبيقات واجهة مستعمل رسومية، مثل برنامج مايكروسوفت وورد وتستعمل (Windows Communication Foundation (WCF في تصميم خدمات الويب.
وعلى صعيد آخر، كما سبق وذكرنا أنه عادةً ما يتم إنشاء برنامج جديد بالاعتماد على برنامج موجود بالفعل وباستخدام واجهة برمجة التطبيقات الخاصة بالبرنامج الأساسي، مثل GTK+ وJavaBeans وSwing...إلخ.
مستوى جودة البرامج وفاعليتها
من جانب آخر، إن نوعية برامج الحاسوب مهمة جدًا، وخاصةً البرامج التجارية والبرامج التي تعمل مع نظام التشغيل، مثل مايكروسوفت أوفيس وكذلك برامج نظام التشغيل نفسه مثل مايكروسوفت ويندوز ولينكس...إلخ. وإذا كان هناك عيب في البرنامج، فإنه يمكن أن يحذف ملفات العمل ويعطل جهاز الحاسوب ويتسبب في حدوث أشياء أخرى غير متوقعة. يُطلق على الأخطاء والمشكلات اسم أخطاء برمجية(Bugs). جدير بالذكر أنه يتم اكتشاف الكثير من الأخطاء والتخلص منها في أثناء اختبار البرامج. ومع ذلك، فإنه نادرًا ما تستطيع عملية اختبار البرامج التخلص من كل الأخطاء، ويقول بعض المبرمجين إن «كل برنامج يحتوي على خطأ واحد على الأقل» (قانون «لوبارسكي»).إن جميع شركات برامج الحاسوب الكبيرة، مثل «مايكروسوفت» و«نوفيل» وصن مايكروسيستمز لديها أقسام لاختبار البرامج الخاصة بها هدفها الأساسي اختبار مستوى جودة البرامج وضمان فاعليتها. يمكن اختبار برامج الحاسوب من خلال اختبار الوحدات واختبار مشكلات البرنامج إلى جانب طرق أخرى يتم إجراؤها يدويًا أو أوتوماتيكيًا وهذا هو الأكثر شيوعًا؛ حيث إن كم الكود الذي يتم اختباره قد يكون كبيرًا للغاية. مثلًا، طبقت ناسا إجراءات صارمة للغاية لاختبار برامج الحاسوب الموجودة في مكوك الفضاء وبرامج أخرى كون وجود أخطاء يمكن أن يوقف البرنامج بأكمله ويعطل المركبة ويتسبب في خسائر فادحة.
البنية
وعلى صعيد آخر، غالبًا ما يرى مستعملو الحاسوب الأمور بصورة مختلفة عن المبرمجين. فالأشخاص الذين يستعملون أجهزة الحاسوب الحديثة الخاصة بالأغراض العامة (في مقابل النظم المضمنة وأجهزة الحاسوب التناظرية وأجهزة الحاسوب كبيرة الحجم وفائقة السرعة...إلخ) عادةً ما يصنفون برامج الحاسوب التي تؤدي مهام متنوعة في ثلاث طبقات وهي: برامج نظم التشغيل وبرامج التطبيقات وبرامج المستعملين.
برامج مساعدة
وفي هذا السياق، نظم الإطارات التي تساعد مستعمل الحاسوب على فتح عدة برامج في الوقت نفسه وكل برنامج في إطار أو نافذة خاصة به.
علاوةً على ذلك، إن الهدف من برامج النظم هو مساعدة مطوري التطبيقات لتفادي الخوض في التفاصيل الخاصة بجهاز الحاسوب بما في ذلك الأجهزة الملحقة، مثل وسائل الاتصال والطابعات وأجهزة العرض والقراءة ولوحات المفاتيح...إلخ. هذا إلى جانب التفاصيل الخاصة بتقسيم مصادر الحاسوب، مثل الذاكرة وزمن المعالجة بطريقة آمنة وثابتة.
العلاقة بين البرامج والمكونات المادية لجهاز الحاسب
كذلك، وعادةً ما تكون هذه التعليمات مكتوبة بلغة برمجة عالية المستوى يمكن للإنسان التعامل معها بسهولة وكفاءة وهي أقرب إلى لغة البشر الطبيعية من اللغة البرمجية التي يفهمها جهاز الحاسب وهي لغة الآلة.
من جانب آخر، يمكن كذلك كتابة البرامج باستخدام لغة الأسيمبلي وهي ترميز للغة البرمجية التي يفهمها الحاسب باستخدام الأحرف الهجائية الإنجليزية.
من جهة ثانية، والشفرة الناتجة من هذا التحويل يُطلق عليها لغة الآلة أو شفرة الهدف.
وفي السياق ذاته، هذا ويجب تحويل لغة الأسمبلي إلى اللغة البرمجية التي يفهمها الحاسب باستخدام أداة المجمـِّع.
علاوةً على ذلك، ويتم تحويل جميع الجمل البرمجية المكتوبة بلغات برمجة عالية المستوى وتنفيذها جملة جملة باستخدام المترجم أو تنفيذها دفعة واحدة باستخدام المحول البرمجي.
ومن جهة أخرى، سميت برامج الحاسوب بهذا الاسم لتمييزها عن مكونات جهاز الحاسوب "الهاردوير" والتي تشمل ما يُعرف باسم لغة الآلة، «البرمجيات»، وهي سلسلة مرتبة من التعليمات.
استخدام معايير قياسية للبرامج
وعلى صعيد آخر، بما أنه يمكن تصميم برامج الحاسوب باستخدام الكثير من لغات البرمجة المختلفة وفي الكثير من نظم التشغيل المختلفة وبيئات التشغيل، فإننا بحاجة لوضع معايير قياسية لبرامج الحاسوب حتى يمكن للبرامج المختلفة أن تعمل مع بعضها البعض وتتبادل المعلومات فيما بينها. مثلًا، إذا تم إرسال رسالة بريد إلكتروني من برنامج "مايكروسوفت أوت لوك"، فينبغي أن تكون قابلة للقراءة إذا تم فتحها في برنامج"ياهو ميل" والعكس صحيح.
أنواع البرامج
وفي السياق ذاته، برامج تطبيقية: مثل برامج معالجة الكلمات التي تؤدي بعض المهام المطلوبة لمستعملي الحاسب.
علاوةً على ذلك، برامج النظم: مثل نظم التشغيل التي تشترك مع مكونات الحاسب المادية في تقديم الخدمات اللازمة لبرامج التطبيقات.
من جانب آخر، فحص البرمجيات مصطلح شامل يتضمن جميع البرامج المساعدة والبرامج التطبيقية التي تعمل معًا لاختبار أي حزمة برمجية، ولكن ليس ذلك بالضرورة؛ حيث إنها يمكن أن تستعمل كذلك في أغراض تشغيلية أخرى. وبالتالي، فإن عملية الاختبار ليست عملية توصيف أو ضبط، ولكنها مجرد بيئة عمل لبرامج التطبيقات أو مجموعات فرعية منها.
من جهة ثانية، اختبار البرامج: هو مجال مستقل يهتم بالبرمجة وتطوير البرامج. وتوجد عدة طرق لاختبار المنتج والتأكد من جودته قبل طرحه للاستخدام من قبِل فرد أو مجموعة. The Complete Software testing Theory بقلم "رو فينايك" 2008[2][2].
كذلك، البرامج الوسيطة: هي برنامج وسيط يتحكم في النظم الموزعة ويعمل على التنسيق فيما بينها.
في هذا الإطار، يشمل مصطلح البرمجيات مواقع الويب والبرامج وألعاب الفيديو وغيرها من البرامج والتطبيقات التي يتم برمجتها (أي كتابة الكود الخاص بها) باستخدام لغات البرمجة، مثل لغة C و++C...إلخ.
في هذا الإطار، برنامج ثابت أو برنامج دائم أو ما يسمى بالفريموير وهو برنامج صغير يتحكم في الأجهزة الإلكترونية ويكون مخزنًا على شرائح ذاكرة مبرمجة إلكترونياً ومثبتة على اللوحة الأم أو أنواع أخرى من حاملات المكونات المادية المتكاملة للأجهزة.
برامج النظم
- تساعد برامج النظم في تشغيل مكونات جهاز الحاسوب ونظام التشغيل. تشمل برامج النظم:
- برنامج تعريف
- نظام التشغيل
- وحدات الخادم
البرامج الطبية
موضوعات متعلقة بالبرامج
وهناك الكثير من الموضوعات المتعلقة ببرامج التطبيقات.
براءة الاختراع
في هذا الإطار، يمكن تسجيل براءة اختراع لبرنامج حاسوب، إلا أن هذا الأمر قد يكون موضع خلاف في مجال البرمجيات؛ حيث يوجد الكثير من الآراء المتباينة إزاء هذا الأمر. إن نقطة الخلاف المثارة حول موضوع براءات اختراع برامج الحاسوب تتمثل في عدم السماح بنسخ لوغاريتم أو تقنية معينة يتضمنها البرنامج من قبِل أشخاص آخرين، فهي تعتبر ملكية فكرية ويحذر نسخها إو إعادة نشرها، وذلك بحسب درجة أهمية البرنامج. وهنا يعتقد البعض أن تسجيل براءة اختراع لبرنامج حاسوب يعوق تطوير البرنامج، في حين يجادل البعض الآخر قائلين إن براءات الاختراع تعتبر حافزًا قويًا يشجع على ابتكار برامج حاسوب جديدة.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟