برمجة

البرنامج عبارة عن مجموعة من التعليمات و البيانات التي تخبر الكمبيوتر كيفية العمل. هذا على عكس الأجهزة ، التي تم بناء النظام منها ويقوم بالعمل فعليًا. في علوم الكمبيوتر و هندسة البرمجيات ، والبرمجيات هو كل المعلومات التي تتم معالجتها بواسطة أنظمة الكمبيوتر ، بما في ذلك البرامج والبيانات. تتضمن البرامج البرامج والمكتبات والبيانات غير القابلة للتنفيذ ذات الصلة ، مثل الوثائق عبر الإنترنت أو الوسائط الرقمية. تتطلب البرامج والأجهزة بعضها البعض ولا يمكن استخدام أي منهما بشكل واقعي بمفردهما.
في أدنى مستوى برمجة ، تتكون التعليمات البرمجية القابلة للتنفيذ من تعليمات لغة الآلة التي يدعمها معالج فردي - نموذجيًا وحدة معالجة مركزية (CPU) أو وحدة معالجة رسومات (GPU). تتكون لغة الآلة من مجموعات من القيم الثنائية التي تشير إلى تعليمات المعالج التي تغير حالة الكمبيوتر عن حالته السابقة. على سبيل المثال ، قد تغير التعليمات القيمة المخزنة في موقع تخزين معين في الكمبيوتر - وهو تأثير لا يمكن ملاحظته بشكل مباشر من قبل المستخدم. قد تستدعي التعليمات أيضًا واحدة من العديد من عمليات الإدخال أو الإخراج، على سبيل المثال عرض بعض النصوص على شاشة الكمبيوتر ؛ إحداث تغييرات في الحالة التي يجب أن تكون مرئية للمستخدم . يقوم المعالج بتنفيذ التعليمات بالترتيب الذي تم توفيره به ، ما لم يُطلب منه "الانتقال" إلى تعليمات مختلفة ، أو تمت مقاطعته بواسطة نظام التشغيل. اعتبارا من 2015 [تحديث]، ومعظم أجهزة الكمبيوتر الشخصية ، الهواتف الذكية الأجهزة و الخوادم لديها معالجات مع وحدات التنفيذ متعددة أو معالجات متعددة أداء الحساب معا، والحوسبة أصبحت أكثر من ذلك بكثير المتزامنة النشاط مما كانت عليه في الماضي.
غالبية البرامج مكتوبة بلغات برمجة عالية المستوى . إنها أسهل وأكثر كفاءة للمبرمجين لأنها أقرب إلى اللغات الطبيعية من لغات الآلة. [1] تُترجم اللغات عالية المستوى إلى لغة الآلة باستخدام مترجم أو مترجم أو مزيج من الاثنين. يمكن أيضًا كتابة البرنامج بلغة تجميع منخفضة المستوى ، والتي لها توافق قوي مع تعليمات لغة آلة الكمبيوتر ويتم ترجمتها إلى لغة الآلة باستخدام المجمع .
تاريخ
على خوارزمية وقد كتب على ما يمكن أن يكون أول قطعة من البرنامج عن طريق أدا لافليس في القرن ال19، على المخطط المحرك التحليلي . [2] لقد صنعت البراهين لتظهر كيف سيحسب المحرك أرقام برنولي . [2] بسبب البراهين والخوارزمية ، تعتبر أول مبرمجة كمبيوتر. [3] [4]
النظرية الأولى حول البرمجيات ، قبل إنشاء أجهزة الكمبيوتر كما نعرفها اليوم ، اقترحها آلان تورينج في مقالته عام 1935 ، حول الأرقام المحوسبة ، مع تطبيق على Entscheidungsproblem (مشكلة القرار). [ بحاجة لمصدر ] أدى هذا في النهاية إلى إنشاء المجالات الأكاديمية لعلوم الكمبيوتر وهندسة البرمجيات. كلا المجالين دراسة البرمجيات وإنشائها. [ بحاجة لمصدر ] علم الحاسوب هو الدراسة النظرية للكمبيوتر والبرمجيات (مقال تورينج هو مثال لعلوم الكمبيوتر) ، بينما هندسة البرمجيات هي تطبيق المبادئ الهندسية لتطوير البرمجيات. [ بحاجة لمصدر ]قبل عام 1946 ، لم تكن البرامج بعد هي البرامج المخزنة في ذاكرة أجهزة الكمبيوتر الرقمية المخزنة للبرامج ، كما نفهمها الآن ؛ بدلاً من ذلك ، تم إعادة توصيل أول أجهزة الحوسبة الإلكترونية من أجل "إعادة برمجتها". [ بحاجة لمصدر ]
في عام 2000 ، نشر فريد شابيرو ، أمين مكتبة في كلية الحقوق بجامعة ييل ، رسالة تكشف أن ورقة جون ويلدر توكي لعام 1958 بعنوان "تدريس الرياضيات الخرسانية" [5] [6] احتوت على أقدم استخدام معروف لمصطلح "برمجيات" تم العثور عليها في البحث عن الأرشيفات الإلكترونية لـ JSTOR ، والتي سبقت اقتباس OED بسنتين. [7] أدى هذا إلى تكليف توكي بصياغة المصطلح ، لا سيما في نعي نُشر في نفس العام ، [8] على الرغم من أن توكي لم يدعي أبدًا الفضل في أي عملة من هذا القبيل. في عام 1995 ، ادعى بول نيكيت أنه صاغ المصطلح في الأصل في أكتوبر 1953 ، على الرغم من أنه لم يتمكن من العثور على أي مستندات تدعم ادعائه. [9]كان أول نشر معروف لمصطلح "برمجيات" في سياق هندسي في أغسطس 1953 من قبل ريتشارد آر كارهارت ، في مذكرة أبحاث مؤسسة راند . [10]
أنواع
في جميع أنظمة الكمبيوتر تقريبًا ، يمكن تجميع البرامج في عدة فئات عامة.
الغرض أو مجال الاستخدام
بناءً على الهدف ، يمكن تقسيم برامج الكمبيوتر إلى:
- يستخدم برنامج التطبيق نظام الكمبيوتر لأداء وظائف خاصة تتجاوز التشغيل الأساسي للكمبيوتر نفسه. هناك العديد من الأنواع المختلفة لبرامج التطبيقات لأن نطاق المهام التي يمكن إجراؤها باستخدام كمبيوتر حديث كبير جدًا - راجع قائمة البرامج .
- يدير برنامج النظام سلوك الأجهزة ، وذلك لتوفير الوظائف الأساسية التي يطلبها المستخدمون ، أو لتشغيل البرامج الأخرى بشكل صحيح ، إن وجدت. تم تصميم برنامج النظام أيضًا لتوفير نظام أساسي لتشغيل برامج التطبيقات ، [11] ويتضمن ما يلي:
- أنظمة التشغيل هي مجموعات أساسية من البرامج التي تدير الموارد وتوفر خدمات مشتركة للبرامج الأخرى التي تعمل "فوقها". برامج الإشرافية ، رافعات التمهيد ، قذائف و النظم النافذة هي الأجزاء الأساسية من أنظمة التشغيل. من الناحية العملية ، يأتي نظام التشغيل مرفقًا ببرامج إضافية (بما في ذلك البرامج التطبيقية) بحيث يمكن للمستخدم القيام ببعض الأعمال مع جهاز كمبيوتر يحتوي على نظام تشغيل واحد فقط.
- تعمل برامج تشغيل الأجهزة أو تتحكم في نوع معين من الأجهزة المتصلة بجهاز الكمبيوتر. يحتاج كل جهاز إلى برنامج تشغيل جهاز واحد على الأقل ؛ نظرًا لأن الكمبيوتر يحتوي عادةً على جهاز إدخال واحد على الأقل وجهاز إخراج واحد على الأقل ، يحتاج الكمبيوتر عادةً إلى أكثر من برنامج تشغيل جهاز واحد.
- الأدوات المساعدة هي برامج كمبيوتر مصممة لمساعدة المستخدمين في صيانة أجهزة الكمبيوتر الخاصة بهم والعناية بها.
- البرامج الضارة ، أو البرامج الضارة ، هي برامج تم تطويرها لإلحاق الضرر بأجهزة الكمبيوتر أو تعطيلها. ترتبط البرامج الضارة ارتباطًا وثيقًا بالجرائم المتعلقة بالكمبيوتر ، على الرغم من أن بعض البرامج الخبيثة ربما تم تصميمها كنكات عملية .
طبيعة أو مجال التنفيذ
- تطبيقات سطح المكتب مثل متصفحات الويب و Microsoft Office ، بالإضافة إلى تطبيقات الهواتف الذكية والأجهزة اللوحية (تسمى " التطبيقات "). [ بحاجة لمصدر ]
- نصوص جافا سكريبت عبارة عن أجزاء من البرامج المضمنة تقليديًا في صفحات الويب التي يتم تشغيلها مباشرة داخل متصفح الويب عندما يتم تحميل صفحة ويب دون الحاجة إلى مكون إضافي لمتصفح الويب. يمكن أيضًا تشغيل البرامج المكتوبة بلغات برمجة أخرى داخل متصفح الويب إذا تمت ترجمة البرنامج إلى JavaScript ، أو إذا تم تثبيت مكون إضافي لمتصفح الويب يدعم تلك اللغة ؛ المثال الأكثر شيوعًا على هذا الأخير هو نصوص أكشن سكريبت ، التي يدعمها البرنامج الإضافي Adobe Flash . [ بحاجة لمصدر ]
- برنامج الخادم ، بما في ذلك:
- تطبيقات الويب ، التي تعمل عادةً على خادم الويب وتخرج صفحات الويب التي يتم إنشاؤها ديناميكيًا إلى متصفحات الويب ، مثل PHP أو Java أو ASP.NET أو حتى JavaScript التي تعمل على الخادم . في الأزمنة الحديثة ، تتضمن هذه عادةً بعض جافا سكريبت ليتم تشغيلها في متصفح الويب أيضًا ، وفي هذه الحالة يتم تشغيلها جزئيًا على الخادم وجزئيًا في متصفح الويب. [ بحاجة لمصدر ]
- الإضافات والإضافات هي برامج توسع أو تعدل وظائف برنامج آخر ، وتتطلب استخدام هذا البرنامج لكي يعمل. [ بحاجة لمصدر ]
- البرمجيات المدمجة يقيم كما الثابتة داخل أنظمة المدمجة ، وأجهزة مخصصة لاستخدام واحد أو عدد قليل من الاستخدامات مثل السيارات و أجهزة التلفزيون (على الرغم من بعض الأجهزة المدمجة مثل رقائق اللاسلكية يمكن أنفسهم تكون جزءا من عدم جزءا لا يتجزأ من النظام العادي، والكمبيوتر مثل PC أو الهاتف الذكي). [12] في سياق النظام المضمن ، لا يوجد في بعض الأحيان تمييز واضح بين برنامج النظام وبرنامج التطبيق. ومع ذلك ، تقوم بعض الأنظمة المضمنة بتشغيل أنظمة تشغيل مضمنة، وتحتفظ هذه الأنظمة بالتمييز بين برامج النظام وبرامج التطبيقات (على الرغم من أنه عادةً ما يكون هناك تطبيق ثابت واحد يتم تشغيله دائمًا). [ بحاجة لمصدر ]
- يعد الرمز الصغير نوعًا خاصًا وغامضًا نسبيًا من البرامج المضمنة التي تخبر المعالج نفسه بكيفية تنفيذ رمز الجهاز ، لذلك فهو في الواقع مستوى أقل من رمز الجهاز. [ بحاجة لمصدر ] عادةً ما يكون مملوكًا لمصنّع المعالج ، ويتم توفير أي تحديثات ضرورية لبرنامج الرمز الصغير التصحيحي للمستخدمين (وهو أرخص بكثير من شحن أجهزة المعالج البديل). وبالتالي لن يتوقع المبرمج العادي أن يتعامل معه على الإطلاق. [ بحاجة لمصدر ]
أدوات البرمجة
أدوات البرمجة هي أيضًا برامج في شكل برامج أو تطبيقات يستخدمها المطورون لإنشاء البرامج أو تصحيحها أو صيانتها أو دعمها بأي طريقة أخرى . [ بحاجة لمصدر ]
البرنامج مكتوب بلغة برمجة واحدة أو أكثر ؛ هناك العديد من لغات البرمجة الموجودة ، ولكل منها تطبيق واحد على الأقل ، كل منها يتكون من مجموعة أدوات البرمجة الخاصة بها. قد تكون هذه الأدوات برامج مكتفية ذاتيا نسبيا مثل المجمعين ، مصححات ، الفوريين ، linkers ، و برامج تحرير النصوص ، التي يمكن دمجها لإنجاز المهمة؛ أو قد تشكل بيئة تطوير متكاملة (IDE) ، والتي تجمع بين الكثير أو كل وظائف هذه الأدوات القائمة بذاتها. [ بحاجة لمصدر ]قد تقوم IDEs بذلك إما عن طريق استدعاء الأدوات الفردية ذات الصلة أو عن طريق إعادة تنفيذ وظائفها بطريقة جديدة. [ بحاجة لمصدر ] يمكن أن يسهل IDE القيام بمهام محددة ، مثل البحث في الملفات في مشروع معين. [ بحاجة لمصدر ] توفر العديد من تطبيقات لغة البرمجة خيار استخدام كل من الأدوات الفردية أو IDE. [ بحاجة لمصدر ]
المواضيع
هندسة معمارية
الناس الذين يستخدمون أجهزة الكمبيوتر الحديثة للأغراض العامة (في مقابل النظم المضمنة ، أجهزة الكمبيوتر التناظرية و أجهزة الكمبيوتر العملاقة ) وعادة ما نرى ثلاث طبقات من البرمجيات أداء مجموعة متنوعة من المهام: منصة، والتطبيق، وبرامج المستخدم. [ بحاجة لمصدر ]
- منصة البرمجيات
و منصة تشمل البرامج الثابتة ، برامج تشغيل الأجهزة ، و نظام التشغيل ، وعادة ما يكون واجهة المستخدم الرسومية التي، في المجموع، وتتيح للمستخدم التفاعل مع الكمبيوتر وفي الأجهزة الطرفية (المعدات المرتبطة بها). غالبًا ما تأتي برامج النظام الأساسي مجمعة مع الكمبيوتر. على جهاز الكمبيوتر ، عادة ما يكون لدى المرء القدرة على تغيير برنامج النظام الأساسي. - برامج التطبيقات البرامج
التطبيقية هي ما يفكر فيه معظم الناس عندما يفكرون في البرامج. [ بحاجة لمصدر ] تشمل الأمثلة النموذجية أجنحة المكاتب وألعاب الفيديو. غالبًا ما يتم شراء برامج التطبيقات بشكل منفصل عن أجهزة الكمبيوتر. في بعض الأحيان يتم تجميع التطبيقات مع الكمبيوتر ، ولكن هذا لا يغير حقيقة أنها تعمل كتطبيقات مستقلة. عادةً ما تكون التطبيقات برامج مستقلة عن نظام التشغيل ، على الرغم من أنها غالبًا ما تكون مصممة لأنظمة أساسية محددة. يفكر معظم المستخدمين في المجمعين وقواعد البيانات و "برامج النظام" الأخرى كتطبيقات. [ بحاجة لمصدر ] - البرامج المكتوبة من
قبل المستخدم يصمم تطوير المستخدم النهائي الأنظمة لتلبية احتياجات المستخدمين الخاصة. يتضمن برنامج المستخدم قوالب جداول البيانات وقوالب معالج الكلمات . [ بحاجة لمصدر ] حتى مرشحات البريد الإلكتروني هي نوع من برامج المستخدم. ينشئ المستخدمون هذا البرنامج بأنفسهم وغالبًا ما يتجاهلون مدى أهميته. [ بحاجة لمصدر ] اعتمادًا على مدى كفاءة البرنامج المكتوب من قبل المستخدم في دمج حزم التطبيقات الافتراضية ، قد لا يكون العديد من المستخدمين على دراية بالتمييز بين الحزم الأصلية وما أضافه زملاء العمل. [ بحاجة لمصدر ]
تنفيذ
يجب "تحميل" برامج الكمبيوتر في وحدة تخزين الكمبيوتر (مثل محرك الأقراص الثابتة أو الذاكرة ). بمجرد تحميل البرنامج ، يكون الكمبيوتر قادرًا على تنفيذ البرنامج. يتضمن ذلك تمرير التعليمات من برنامج التطبيق ، من خلال برنامج النظام ، إلى الجهاز الذي يتلقى التعليمات في النهاية كرمز للجهاز. يتسبب كل أمر في قيام الكمبيوتر بتنفيذ عملية - نقل البيانات أو إجراء حساب أو تغيير تدفق التحكم في التعليمات. [ بحاجة لمصدر ]
عادة ما يتم نقل البيانات من مكان في الذاكرة إلى مكان آخر. يتضمن أحيانًا نقل البيانات بين الذاكرة والسجلات التي تتيح الوصول إلى البيانات بسرعة عالية في وحدة المعالجة المركزية. قد يكون نقل البيانات ، وخاصة الكميات الكبيرة منها ، مكلفًا ؛ يتم تجنب هذا أحيانًا باستخدام "المؤشرات" للبيانات بدلاً من ذلك. [ بحاجة لمصدر ] تتضمن الحسابات عمليات بسيطة مثل زيادة قيمة عنصر بيانات متغير. قد تتضمن العمليات الحسابية الأكثر تعقيدًا العديد من العمليات وعناصر البيانات معًا. [ بحاجة لمصدر ]
الجودة والموثوقية
تعد جودة البرامج مهمة جدًا ، خاصة بالنسبة للبرامج التجارية وبرامج النظام. إذا كان البرنامج معيبًا ، فيمكنه حذف عمل الشخص وتعطل الكمبيوتر والقيام بأشياء أخرى غير متوقعة. تسمى العيوب والأخطاء " الأخطاء " والتي يتم اكتشافها غالبًا أثناء اختبار ألفا وبيتا. [ بحاجة لمصدر ] غالبًا ما تكون البرامج أيضًا ضحية لما يُعرف باسم تقادم البرامج ، وهو التدهور التدريجي في الأداء الناتج عن مجموعة من الأخطاء غير المرئية. [ بحاجة لمصدر ]
يتم اكتشاف العديد من الأخطاء وإصلاحها من خلال اختبار البرامج . ومع ذلك ، نادرًا ما يؤدي اختبار البرامج - إن وجد - إلى القضاء على كل الأخطاء ؛ يقول بعض المبرمجين أن "كل برنامج به خلل واحد على الأقل" (قانون لوبارسكي). [13] في طريقة الشلال لتطوير البرمجيات ، عادة ما يتم استخدام فرق اختبار منفصلة ، ولكن في الأساليب الأحدث ، التي يطلق عليها مجتمعة تطوير البرمجيات الرشيقة ، يقوم المطورون في كثير من الأحيان بإجراء جميع الاختبارات الخاصة بهم ، ويعرضون البرنامج للمستخدمين / العملاء بانتظام للحصول على ردود الفعل. [ بحاجة لمصدر ] البرنامج يمكن اختبارها من خلال وحدة اختبار ، اختبار الانحداروغيرها من الطرق ، التي تتم يدويًا ، أو الأكثر شيوعًا ، تلقائيًا ، نظرًا لأن مقدار الكود المراد اختباره يمكن أن يكون كبيرًا. [ بحاجة لمصدر ] البرامج التي تحتوي على برامج الأوامر تمكن هندسة الأجهزة وعمليات النظام من العمل بشكل أسهل بكثير معًا. [ بحاجة لمصدر ]
رخصة
يمنح ترخيص البرنامج المستخدم الحق في استخدام البرنامج في البيئة المرخصة ، وفي حالة تراخيص البرامج المجانية ، يمنح أيضًا حقوقًا أخرى مثل الحق في عمل نُسخ. [ بحاجة لمصدر ]
يمكن تقسيم البرمجيات الاحتكارية إلى نوعين:
- مجانية ، والذي يتضمن فئة البرمجيات "تجريبية مجانية" أو " فريميوم " البرنامج (في الماضي، فإن مصطلح كومبيوتري وغالبا ما تستخدم للمحاكمة حرة / البرمجيات فريميوم). كما يوحي الاسم ، يمكن استخدام البرامج المجانية مجانًا ، على الرغم من أنه في حالة الإصدارات التجريبية المجانية أو برامج freemium ، يكون هذا صحيحًا في بعض الأحيان فقط لفترة زمنية محدودة أو بوظائف محدودة. [ بحاجة لمصدر ]
- البرامج المتوفرة مقابل رسوم ، والتي لا يمكن استخدامها بشكل قانوني إلا عند شراء ترخيص. [ بحاجة لمصدر ]
تأتي البرامج مفتوحة المصدر مع ترخيص برمجيات مجاني ، يمنح المستلم حقوق تعديل البرنامج وإعادة توزيعه. [ بحاجة لمصدر ]
براءات الاختراع
من المفترض نظريًا أن تمنح براءات اختراع البرمجيات ، مثل الأنواع الأخرى من براءات الاختراع ، للمخترع ترخيصًا حصريًا ومحدود الوقت للحصول على فكرة مفصلة (مثل خوارزمية) حول كيفية تنفيذ جزء من البرنامج أو مكون من جزء من البرنامج. أفكار لأشياء مفيدة يمكن أن تفعلها البرامج ومتطلبات المستخدم، ليس من المفترض أن تكون قابلة للحماية ببراءة ، والتطبيقات الملموسة (أي حزم البرامج الفعلية التي تطبق براءة الاختراع) ليس من المفترض أن تكون محمية ببراءة أيضًا - فالأخيرة مغطاة بالفعل بموجب حق المؤلف ، بشكل عام تلقائيًا. لذلك من المفترض أن تغطي براءات اختراع البرمجيات المنطقة الوسطى ، بين المتطلبات والتنفيذ الملموس. في بعض البلدان ، قد يكون اشتراط أن يكون للاختراع المطالب به تأثير على العالم المادي جزءًا من متطلبات براءة اختراع البرمجيات لتكون صالحة - على الرغم من أن جميع البرامج المفيدة لها تأثيرات على العالم المادي ، فقد يكون هذا المطلب كذلك مفتوح للنقاش. وفي الوقت نفسه ، تم تطبيق قانون حقوق التأليف والنشر الأمريكي على جوانب مختلفة من كتابة كود البرنامج. [14]
تعتبر براءات اختراع البرمجيات مثيرة للجدل في صناعة البرمجيات حيث تختلف وجهات نظر العديد من الأشخاص عنها. أحد مصادر الجدل هو أن الفصل المذكور أعلاه بين الأفكار الأولية وبراءات الاختراع لا يبدو أنه يتم تكريمه من الناحية العملية من قبل محامي براءات الاختراع - على سبيل المثال براءة اختراع البرمجة الموجهة إلى الجانب (AOP) ، والتي يُزعم أنها تطالب بحقوق على أي أداة برمجة تنفيذ فكرة AOP مهما كان تنفيذها. [ بحاجة لمصدر ] مصدر آخر للجدل هو التأثير على الابتكار ، حيث يجادل العديد من الخبراء والشركات المتميزين بأن البرمجيات مجال سريع الحركة لدرجة أن براءات اختراع البرمجيات تخلق فقط تكاليف ومخاطر تقاضي إضافية هائلة ، وتؤخر في الواقع الابتكار. [اقتباس مطلوب ]في حالة النقاشات حول براءات اختراع البرمجيات خارج الولايات المتحدة ، فقد تم طرح حجة مفادها أن الشركات الأمريكية الكبرى ومحامي براءات الاختراع من المرجح أن يكونوا المستفيدين الأساسيين من السماح أو الاستمرار في السماح ببراءات اختراع البرامج. [ بحاجة لمصدر ]
تصميم و تنفيذ
يختلف تصميم البرامج وتنفيذها تبعًا لمدى تعقيد البرنامج. على سبيل المثال ، استغرق تصميم وإنشاء Microsoft Word وقتًا أطول بكثير من تصميم Microsoft Notepad وتطويره لأن هذا الأخير يحتوي على وظائف أساسية أكثر بكثير. [ بحاجة لمصدر ]
يتم تطوير البرامج عادةً في بيئات التطوير المتكاملة (IDE) مثل Eclipse و IntelliJ و Microsoft Visual Studio التي يمكنها تبسيط العملية وتجميع البرامج. [ بحاجة لمصدر ] كما هو مذكور في قسم مختلف ، يتم عادةً إنشاء البرنامج فوق البرامج الحالية وواجهة برمجة التطبيقات (API) التي يوفرها البرنامج الأساسي مثل GTK + أو JavaBeans أو Swing . [ بحاجة لمصدر ] يمكن تصنيف المكتبات (APIs) حسب الغرض منها. على سبيل المثال ، إطار الربيعتُستخدم في تنفيذ تطبيقات المؤسسات ، تُستخدم مكتبة Windows Forms لتصميم تطبيقات واجهة المستخدم الرسومية (GUI) مثل Microsoft Word ، وتستخدم Windows Communication Foundation لتصميم خدمات الويب . [ بحاجة لمصدر ] عندما يتم تصميم البرنامج ، فإنه يعتمد على API. على سبيل المثال ، قد يستدعي تطبيق سطح مكتب Microsoft Windows وظائف API في مكتبة نماذج Windows .NET مثل Form1.Close () و Form1.Show () [15]لإغلاق أو فتح التطبيق. بدون واجهات برمجة التطبيقات هذه ، يحتاج المبرمج إلى كتابة هذه الوظائف بالكامل بنفسه. توفر شركات مثل Oracle و Microsoft واجهات برمجة التطبيقات الخاصة بها بحيث تتم كتابة العديد من التطبيقات باستخدام مكتبات البرامج الخاصة بها والتي تحتوي عادةً على العديد من واجهات برمجة التطبيقات. [ بحاجة لمصدر ]
هياكل البيانات مثل الجداول التجزئة ، المصفوفات ، و شجرة ثنائية ، و خوارزميات مثل فرز سريع ، يمكن أن تكون مفيدة لخلق البرمجيات.
تتميز برامج الكمبيوتر بخصائص اقتصادية خاصة تجعل تصميمها وإنشائها وتوزيعها مختلفًا عن معظم السلع الاقتصادية الأخرى. [ حدد ] [16] [17]
والشخص الذي يخلق البرمجيات يسمى مبرمج ، مهندس البرمجيات أو تطوير البرمجيات، حيث أن كل لها معنى مماثل. توجد أيضًا مصطلحات أكثر رسمية للمبرمج مثل "المبرمج" و "المتسلل" - على الرغم من أن استخدام الكلمة الأخيرة قد يتسبب في حدوث ارتباك ، لأنها تستخدم في كثير من الأحيان للإشارة إلى شخص يخترق أنظمة الكمبيوتر بشكل غير قانوني .
أنظر أيضا
مراجع
- ^ "بناء مترجم" . مؤرشفة من الأصلي في 2 نوفمبر 2013.
- ^ أ ب إيفانز 2018 ، ص. 21.
- ^ فويجي ، ياء ؛ فرانسيس ، ج. (2003). "لافليس وباباج وخلق" مذكرات 1843 " " (PDF) . حوليات تاريخ الحوسبة . 25 (4): 16-26. دوى : 10.1109 / MAHC.2003.1253887 . S2CID 40077111 . مؤرشف من الأصل (PDF) في 15 فبراير 2020.
- ^ "تكريم Ada Lovelace بواسطة Google doodle" . الجارديان . 10 ديسمبر 2012 . تم الاسترجاع 25 نوفمبر 2018 .
- ^ توكي ، جون وايلدر (يناير 1958). "تدريس الرياضيات الخرسانية". الرياضيات الأمريكية الشهرية . تايلور وفرانسيس المحدودة / الرابطة الرياضية الأمريكية . 65 (1): 1-9 ، 2. دوى : 10.2307 / 2310294 . ISSN 0002-9890 . JSTOR 2310294 . كودن عميا .
[...] اليوم "البرنامج" الذي يشتمل على الإجراءات التفسيرية المخططة بعناية ، والمترجمين ، والجوانب الأخرى للبرمجة الآلية ، لا تقل أهمية عن "الأجهزة" من الأنابيب والترانزستورات والأسلاك والأشرطة وما شابه ذلك بالنسبة للآلة الحاسبة الإلكترونية الحديثة . [...]
- ^ بيب ، نيلسون إتش إف (22 أغسطس 2017). "الفصل الأول - الحساب الصحيح". كتيب حساب الوظيفة الرياضية - البرمجة باستخدام مكتبة برامج MathCW المحمولة (1 ed.). سالت ليك سيتي ، يوتا ، الولايات المتحدة الأمريكية: Springer International Publishing AG . ص 969 ، 1035. دوى : 10.1007 / 978-3-319-64110-2 . رقم ISBN 978-3-319-64109-6. LCCN 2017947446 . S2CID 30244721 .
- ^ شابيرو ، فريد (2000). "أصل مصطلح البرنامج: دليل من أرشيف المجلة الإلكترونية JSTOR" (PDF) . حوليات IEEE لتاريخ الحوسبة . 22 (2): 69-71. دوى : 10.1109 / mahc.2000.887997 . مؤرشفة من الأصلي (PDF) في 5 يونيو 2003 . تم الاسترجاع 25 يونيو 2013 .
- ^ ليوناردت ، ديفيد (28 يوليو 2000). "جون توكي (85 عاما) إحصائي، صاغ" برامج وورد " " . نيويورك تايمز . تم الاسترجاع 24 سبتمبر 2012 .
- ^ Niquette ، R. Paul (2006) ، Softword: أصل برنامج Word ، ISBN 1-58922-233-4، المؤرشفة من الأصل على 8 أغسطس 2019 ، استرجاع 18 أغسطس 2019
- ^ كارهارت ، ريتشارد (1953). مسح للوضع الحالي لمشكلة الموثوقية الإلكترونية (PDF) . سانتا مونيكا ، كاليفورنيا: شركة راند . ص. 69.
[...] سيتم استدعاؤه من ثانية. 1.6 أن مصطلح
الأفراد
قد تم تعريفه ليشمل الأشخاص الذين يتعاملون بشكل مباشر مع الأجهزة ، من الإنتاج إلى الاستخدام الميداني ، أي الأشخاص الذين يقومون بتجميع المعدات الإلكترونية وفحصها وتعبئتها وشحنها والتعامل معها وتركيبها وتشغيلها وصيانتها. في أي من هذه المراحل ، قد يؤدي فشل الأفراد إلى عدم تشغيل المعدات. كما هو الحال مع عوامل الأجهزة ، لا توجد تقريبًا بيانات كمية تتعلق بهذه البرامج أو العوامل البشرية في الموثوقية: كم عدد الأعطال التي يسببها الموظفون ، ولماذا تحدث ، وما الذي يمكن فعله لإزالة الأخطاء. [...]
- ^ "برنامج النظام" . جامعة ميسيسيبي. مؤرشفة من الأصلي في 30 مايو 2001.
- ^ "البرامج المضمنة - التقنيات والاتجاهات" . جمعية الكمبيوتر IEEE. مايو - يونيو 2009. مؤرشفة من الأصلي في 28 أكتوبر 2013 . تم الاسترجاع 6 نوفمبر 2013 .
- ^ "برمجة أمثلة كتاب المخابرات" . 9 مايو 2018 مؤرشفة من الأصلي في 6 نوفمبر 2015.
- ^ جيراردو كون دياز ، "النص في الآلة: قانون حقوق النشر الأمريكي والعديد من طبائع البرمجيات ، 1974-1978 ،" التكنولوجيا والثقافة 57 (أكتوبر 2016) ، 753-79.
- ^ "مكتبة MSDN" . مؤرشفة من الأصلي في 11 يونيو 2010 . تم الاسترجاع 14 يونيو 2010 .
- ^ ضد إنجلهاردت ، سيباستيان (2008). "الخصائص الاقتصادية للبرمجيات" . أوراق البحث الاقتصادية جينا . 2 (2008–045). مؤرشفة من الأصلي في 5 يناير 2016.
- ^ كامينسكي ، دان (1999). "لماذا المصدر المفتوح هو النموذج الاقتصادي الأمثل للبرامج" . مؤرشفة من الأصلي في 22 مايو 2012.
مصادر
- إيفانز ، كلير ل. (2018). النطاق العريض: القصة غير المروية للنساء اللاتي صنعن الإنترنت . نيويورك: بورتفوليو / البطريق. رقم ISBN 9780735211759.
روابط خارجية