برمجية حاسوب

هذه المقالة تتضمن معلومات من هذه النسخة من المقالة المناظرة في ويكيپيديا الإنگليزية.

برامج الكمبيوتر أو السوفت وير مصطلح عام يُستخدم لوصف مجموعة من برامج الكمبيوتر والإجراءات وأدلة التعليمات الفنية التي تؤدي مهمة ما في نظام تشغيل الكمبيوتر. [1]

يتضمن مصطلح السوفت وير ما يلي:

  • برامج التطبيقات: مثل برامج معالجة الكلمات التي تؤدي بعض المهام المطلوبة لمستخدمي الكمبيوتر.
  • برنامج ثابت: برنامج صغير يتحكم في الأجهزة الإليكترونية، وهذا البرنامج يكون مخزنًا على شرائح ذاكرة مبرمجة إليكترونيًا ومثبتة على اللوحة الرئيسية (اللوحة الأم) أو أنواع أخرى من حاملات المكونات المادية المتكاملة للأجهزة.
  • Middleware: عبارة عن برنامج وسيط يتحكم في النظم الموزعة ويعمل على التنسيق فيما بينها.
  • برامج النظم: مثل نظم التشغيل التي تشترك مع مكونات الكمبيوتر المادية في تقديم الخدمات اللازمة لبرامج التطبيقات.
  • اختبار البرامج: عبارة عن مجال مستقل يهتم بالبرمجة وتطوير البرامج. وتوجد عدة طرق لاختبار المنتج والتأكد من جودته قبل طرحه للاستخدام من قبِل فرد أو مجموعة. جدير بالذكر أن العديد من الاختبارات الخاصة بكفاءة البرنامج ومستوى أدائه وشكله تُجرى من خلال مجموعة من برامج الاختبار الحديثة التي تشتمل على أدوات متنوعة، مثل برامج QTP وLoad runner وBlack box وما إلى ذلك، وذلك لتحرير قائمة المتطلبات في الكود المطور. إن شهادة ISTQB ضرورية للغاية بالنسبة للمهندسين الذين يرغبون في العمل في مجال اختبار البرامج. [2] مهندس اختبار برامج حاصل على درجة الماجستير في إدارة الأعمال.
  • فحص البرمجيات : مصطلح شامل يتضمن جميع البرامج المساعدة والبرامج التطبيقية التي تعمل معًا لاختبار أية حزمة برمجية، ولكن ليس ذلك بالضرورة؛ حيث إنها يمكن أن تستخدم أيضًا في أغراض تشغيلية أخرى. وبالتالي، فإن عملية الاختبار ليست عملية توصيف أو ضبط، ولكنها مجرد بيئة عمل لبرامج التطبيقات أو مجموعات فرعية منها.

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

لمحة عامة

غالبًا ما يشمل مصطلح "السوفت وير" كل شيء في جهاز الكمبيوتر عدا عتاد الحاسوب؛ أي المكونات المادية للكمبيوتر، ولكن البرامج عبارة عن مواد غير ملموسة داخل جهاز الكمبيوتر. ويشمل "السوفت وير" أو "برامج الكمبيوتر" مجموعة كبيرة للغاية من المنتجات والوسائل التكنولوجية المطورة باستخدام تقنيات مختلفة، مثل لغات البرمجة أو لغات النصوص البرمجية أو حتى الميكروكود أو FPGA. ومن بين أنواع "السوفت وير" تأتي المواقع الإليكترونية المطورة من خلال بعض التقنيات الحديثة، مثل لغات HTML وPHP وPerl وJSP وASP.NET وXML، بالإضافة إلى تطبيقات سطح المكتب، مثل برنامج "مايكروسوفت وورد" وبرنامج التطبيق المكتبي OpenOffice الذين تم إنشاؤهما باستخدام بعض التقنيات الحديثة، مثل لغة c و++c وJava و#c ...إلخ. وعادةً ما تعمل برامج الكمبيوتر معتمدة على بعض نظم التشغيل، مثل نظام التشغيل "مايكروسوفت ويندوز" أو "لينوكس". هذا بالإضافة إلى احتواء برامج الكمبيوتر على ألعاب الفيديو ونظم المنطق الخاصة بأجهزة العملاء الحديثة، مثل السيارات والتليفزيونات ومحمصة الخبز الكهربائية ...إلخ.


العلاقة بين البرامج والمكونات المادية لجهاز الكمبيوتر

سميت برامج الحاسوب بهذا الاسم لتمييزها عن مكونات جهاز الحاسوب"الهارد وير" التي تشمل الوصلات والأجهزة المادية اللازمة لتخزين وتشغيل البرامج. وعلى المستوى الأدنى، يشمل مصطلح السوفت وير لغات البرمجة الخاصة بجهاز الكمبيوتر أو ما يُعرف باسم لفة الآلة (Machine Language) والتي تتعامل مع معالج (أو بروسيسور) واحد. وتتكون اللغة البرمجية الخاصة بجهاز الكمبيوتر من مجموعات من القيم الثنائية التي تعبر عن تعليمات المعالج والتي تغير حالة الكمبيوتر عن حالته السابقة.

  • "السوفت وير" عبارة عن سلسلة مرتبة من التعليمات لتغيير حالة "الهارد وير" بتسلسل معين. وعادةً ما تكون هذه التعليمات مكتوبة بلغة برمجة عالية المستوى يمكن للإنسان التعامل معها بسهولة وكفاءة (وهي أقرب إلى لغة البشر الطبيعية) من اللغة البرمجية التي يفهمها جهاز الكمبيوتر لغة الآلة (Machine Language).

ويتم تحويل جميع الجمل البرمجية المكتوبة بلغات برمجة عالية المستوى وتنفيذها جملة جملة باستخدام المفسر (Interpreter)أو تنفيذها دفعة واحدة باستخدام المترجم Compiler. والشفرة الناتجة من هذا التحويل يُطلق عليها لغة الآلة Machine Language أو شفرة الهذف Object Code. يمكن أيضًا كتابة البرامج باستخدام لغة الأسيمبلي( Assembly)- وهي - عبارة عن ترميز للغة البرمجية التي يفهمها الكمبيوتر باستخدام الأحرف الهجائية الإنجليزية. هذا ويجب تحويل لغة Assembly إلى اللغة البرمجية التي يفهمها الكمبيوتر باستخدام أداة Assembler .

أول من استخدم مصطلح "سوفت وير" بهذا المعنى "جون وايلدر توكي" في عام 1958. [4] إن النظرية التي تعتبر الأساس لمعظم برامج الكمبيوتر الحديثة قدمها لأول مرة "آلان تورينج" في مقاله الذي تم نشره عام 1935 Computable numbers with an application to the Entscheidungsproblem . "مايك هالي" 2005.

أنواع برامج الكمبيوتر

بنية طبقية توضح مكان وجود نظم التشغيل في نظم البرامج المستخدمة عمومًا على سطح المكتب

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

برامج النظم

تساعد برامج النظم في تشغيل مكونات جهاز الكمبيوتر "الهاردوير" ونظام التشغيل. تشمل برامج النظم:

(ليس من الضروري التعرف على هذه البرامج بالتفصيل)

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

لغات البرمجة

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

  • المترجم Compiler (يتم من خلالها تحويل جميع الجمل البرمجية وتنفيذها دفعة واحدة).
  • Debugger (أداة اكتشاف الأخطاء)
  • المفسر Interpreter (يتم من خلالها تحويل جميع الجمل البرمجية وتنفيذها جملة جملة).
  • الرابط(حاسوب) Linker (أداة للربط بين نصوص الكود البرمجي التي يتم تحويلها باستخدام المترجم Compiler ودمجها للحصول على برنامج تنفيذي واحد)
  • برنامج تحرير النصوص

إن بيئة التطوير المتكاملة IDE عبارة عن تطبيق واحد يهدف إلى المساعدة في إدارة جميع هذه الوظائف.

برامج التطبيقات

تسمح برامج التطبيقات للمستخدمين النهائيين بالقيام بمهمة واحدة أو أكثر (لا ترتبط بشكل مباشر بتطوير الكمبيوتر). وتتضمن التطبيقات النموذجية:

وهناك العديد من الموضوعات المتعلقة ببرامج التطبيقات.

موضوعات متعلقة بالبرامج

البنية

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

  • برامج نظم التشغيل: تشمل برامج نظم التشغيل برامج التحكم الصغيرة المعروفة باسم (Firmware) وبرامج تشغيل الأجهزة ونظم التشغيل وواجهة المستخدم الرسومية(GUI) - بشكل عام - وجميع هذه البرامج تسمح للمستخدم بالتفاعل مع جهاز الكمبيوتر والأجهزة الملحقة (الأدوات المساعدة). غالبًا ما يأتي برنامج نظام التشغيل الأساسي مع جهاز الكمبيوتر. بيد أنه يمكنك تغيير نظام التشغيل الموجود على جهاز الكمبيوتر.
  • برامج التطبيقات: إن برامج التطبيقات أو التطبيقات هي التي تتبادر إلى ذهن معظم الناس عند التفكير في كلمة "سوفت وير". وتتضمن الأمثلة النموذجية على ذلك مجموعة برامج "الأوفيس" وألعاب الفيديو. وغالبًا ما يتم شراء برامج التطبيقات بشكل منفصل عن مكونات جهاز الكمبيوتر. وفي بعض الأحيان يتم الحصول على برامج التطبيقات مع جهاز الكمبيوتر، ولكن هذا لا يغير حقيقة أنها تعمل كتطبيقات مستقلة. وغالبًا ما تكون التطبيقات في أغلب الأحيان عبارة عن برامج تعمل بشكل مستقل عن نظام التشغيل، على الرغم من أنها كثيرًا ما يتم تصميمها للعمل مع نظم تشغيل معينة. وكثير من مستخدمي الكمبيوتر يعتبرون أداة Compiler وقواعد البيانات وغيرها من "برامج النظام" بمثابة تطبيقات.
  • البرامج المكتوبة من قِبل المستخدم: إن خاصية التطوير بواسطة المستخدمين يعمل على قيام المستخدم النهائي بتعديل بعض البرامج التي يستخدمها حتى تلبي احتياجاته الخاصة. وتشمل برامج المستخدم قوالب الجداول الإليكترونية ووحدات الماكرو الخاصة بمعالج الكلمات وبرامج المحاكاة العلمية والنصوص البرمجية للجرافيكس والرسوم المتحركة. حتى فلاتر رسائل البريد الإليكتروني تعتبر نوعًا من أنواع برامج المستخدم. وفي الحقيقة، يقوم المستخدمون بإنشاء البرنامج بأنفسهم، وغالبًا ما يغفلون عن مدى أهميته ؛؛ فقد لا يدري المستخدمون الفرق بين الحزم البرمجية الأصلية وما أضافه زملاء العمل اعتمادًا على مدى كفاءة دمج البرامج التي يصممها المستخدم مع حزم التطبيقات الافتراضية.

دليل التعليمات الفنية

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

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

مجموعة الملفات (مكتبة الملفات)

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

استخدام معايير قياسية للبرامج

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


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

تنفيذ برامج الكمبيوتر

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

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

مستوى جودة البرامج وفاعليتها

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

ترخيص برنامج الكمبيوتر

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

براءة الاختراع

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

حقوق النشر والتأليف


توجد أكثر من طريقة لإنشاء برامج الكمبيوتر وترخيصها وتوزيعها. على سبيل المثال، إن البرامج المجانية أو البرامج مفتوحة المصدر تكون متاحة للتعديل والتطوير فيها من قبِل جميع المستخدمين. وعلى الرغم من أن بعض البرامج المطروحة بترخيص مفتوح المصدر (مثل، ترخيص الاستخدام العام للجمهور General Public License ترخيص الاستخدام العام للجمهور (GPL) General Public License ) يمكن بيعها نظير مبلغ من المال، [5]

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

تصميم البرامج وتطبيقها

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

وعادةً ما يتم تصميم وإنشاء برامج الكمبيوتر (عن طريق كتابة الكود الخاص بها أو برمجتها) في بيئات تطوير متكاملة (IDE)، مثل برنامج emacs وبرنامج xemacs وبرنامج Microsoft Visual Studio وبرنامج Eclipse والتي تعمل جميعًا على تبسيط عملية الكتابة وتحويل الكود باستخدام أداة Compiler. كما سبق وذكرنا أنه عادةً ما يتم إنشاء برنامج جديد بالاعتماد على برنامج موجود بالفعل وباستخدام واجهة برمجة التطبيقات Application Programming Interface (API) الخاصة بالبرنامج الأساسي، مثل +GTK وJavaBeans وSwing ...إلخ. ويتم تصنيف مجموعة ملفات واجهة برمجة التطبيقات وفقًا لأغراض مختلفة.على سبيل المثال، تُستخدم مجموعة ملفات JavaBeans في تصميم تطبيقات الشركات، أما Windows Forms فتُستخدم في تصميم تطبيقات واجهة الاستخدام الرسومية ـ (Graphical User Interface (GUI ، مثل برنامج "مايكروسوفت وورد" وتستخدم Windows Communication Foundation (WCF في تصميم خدمات الويب. وتوجد أيضًا مفاهيم أساسية في برمجة الكمبيوتر، مثل أسلوب التصنيف السريع Quicksort وجدول التحويل Hashtable (أحد تراكيب البيانات الذي يقوم بتعيين قيم عددية وليكن رقم تليفون) للعناصر المطلوبة اسم شخص))والمصفوفة array وتركيب البيانات binary tree ذو التفرعات الثنائية، ويمكن الاستفادة من المفاهيم السابقة في إنشاء برامج جديدة. عندما يتم تصميم برنامج كمبيوتر، فإنه يعتمد على واجهة برمجة التطبيقات. على سبيل المثال، إذا قام مستخدم بتصميم أحد تطبيقات سطح المكتب الخاص بنظام التشغيل "ويندوز"، فبإمكانه استخدام مجموعة ملفات برنامج .NET Windows Forms في تصميم تطبيقات سطح المكتب واستدعاء واجهة برمجة التطبيقات Application Programming Interface (API)، مثل Form1.()Close وForm1. Show() لإغلاق أو فتح التطبيق وكتابة العمليات الإضافية التي يحتاج إليها بنفسه. ودون واجهات برمجة التطبيقات، فإن المبرمج يحتاج إلى كتابة واجهات برمجة التطبيقات بنفسه. هذا وتُقَدِّم بعض الشركات، مثل "صن مايكروسيستمز" و"نوفيل" و"مايكروسوفت" واجهات برمجة التطبيقات الخاصة بها لدرجة أن العديد من التطبيقات يتم كتابتها باستخدام Software Libraries ـ ملفات برامج خاصة بها عادةً ما تشتمل على العديد من واجهات برمجة التطبيقات.

تتميز برامج الكمبيوتر بخصائص اقتصادية تجعل تصميمها وإنشائها وتوزيعها مختلف عن معظم السلع الاقتصادية الأخرى.

يُطلق على مصمم برامج الكمبيوتر أسماء عدة مثل مبرمج ومهندس برامج ومصمم برامج والمبرمج المحترف وكلها تحمل المعنى نفسه.

الصناعة والمؤسسات

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

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

توجد العديد من المؤسسات المتخصصة في برامج الكمبيوتر التي لا تهدف إلى الربح، مثل شركة "Free Software Foundation" و"GNU Project" و"Mozilla Foundation". هذا بالإضافة إلى أن هناك العديد من المؤسسسات الخاصة بوضع معايير برامج الكمبيوتر Software standard organizations، مثل W3C و"IETF" وغيرها من المؤسسات التي تحاول وضع معايير للبرامج، وذلك حتى يمكن أن تعمل برامج الكمبيوتر مع بعضها البعض وذلك كما يحدث من خلال معايير XML وHTML وHTTP وFTP وغيرها.

"Software Top 100: the world's largest software companies". the Top 100 research foundation. Retrieved 2008-04-28.[6]


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

انظر أيضًا

Related subjects
Wikiversity
At Wikiversity, you can learn about: School:Computer Science
يمكنك أن تجد معلومات أكثر عن Software عن طريق البحث في مشاريع المعرفة:

Wiktionary-logo-en.png تعريفات قاموسية في ويكاموس
Wikibooks-logo1.svg كتب من معرفة الكتب
Wikiquote-logo.svg اقتباسات من معرفة الاقتباس
Wikisource-logo.svg نصوص مصدرية من معرفة المصادر
Commons-logo.svg صور و ملفات صوتية من كومونز
Wikinews-logo.png أخبار من معرفة الأخبار.

مراجع

  1. ^ "Wordreference.com: WordNet 2.0". Princeton University, Princeton, NJ. Retrieved 2007-08-19.
  2. ^ The Complete Software testing Theory بقلم "رو فينايك" 2008
  3. ^ تعريف software (بدون تاريخ).
  4. ^ "John Tukey, 85, Statistician; Coined the Word 'Software'". New York Times. 2000-07-28. {{cite news}}: Check date values in: |date= (help) وفي مجال الكمبيوتر وهندسة البرمجيات، يعتبر سوفت وير الكمبيوتر كل البرامج المستخدمة في تشغيل الكمبيوتر.
  5. ^ فإنه لا يمكن السيطرة على عملية توزيعها بالطريقة نفسها التي يتم بها السيطرة على برامج الكمبيوتر ذات حقوق النشر والتأليف وبراءات الاختراع (التي تستخدمها الشركات للحصول على رسوم الترخيص).
  6. ^ ومن أشهر شركات برامج الكمبيوتر في العالم، شركة "مايكروسوفت" و"أبل" و"آي بي إم" و"أوراكل" و"نوفيل" و"ساب" و"إتش بي"، وغيرهم.