Skip to main content
Global

3.4: إنشاء البرامج

  • Page ID
    168273
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

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

    على غرار اللغة البشرية، تتكون لغة البرمجة من الكلمات الرئيسية والتعليقات والرموز والقواعد النحوية لإنشاء عبارات كتعليمات صالحة يفهمها الكمبيوتر لأداء مهام معينة. باستخدام هذه اللغة، يكتب المبرمج برنامجًا (يسمى شفرة المصدر). يقوم برنامج آخر بعد ذلك بمعالجة شفرة المصدر لتحويل عبارات البرمجة إلى نموذج يمكن قراءته آليًا والآحاد والأصفار اللازمة لتنفيذ وحدة المعالجة المركزية. غالبًا ما تُعرف عملية التحويل هذه بالتجميع، ويسمى البرنامج المترجم. في معظم الأحيان، تتم البرمجة داخل بيئة برمجة؛ عند شراء نسخة من Visual Studio من Microsoft؛ يوفر للمطورين محررًا لكتابة الكود المصدري والمترجم والمساعدة للعديد من لغات برمجة Microsoft. تتضمن أمثلة لغات البرمجة المعروفة اليوم النكهات المختلفة لـ Java و PHP و C (Visual C و C ++ و C #.)

    Behaviorism_1.gif
    الشكل\(\PageIndex{1}\): تحويل برنامج كمبيوتر إلى ملف قابل للتنفيذ. الصورة من لي-هيونغ تي فام مرخصة بموجب CC-BY-NC

    تم إنشاء الآلاف من لغات البرمجة منذ لغة البرمجة الأولى في عام 1883 من قبل امرأة تدعى Ada Lovelace. تم استخدام إحدى اللغات السابقة الشبيهة باللغة الإنجليزية والتي تسمى COBOL منذ الخمسينيات وحتى الوقت الحاضر في الخدمات التي ما زلنا نستخدمها اليوم، مثل الرواتب وأنظمة الحجز. تم تقديم لغة برمجة C في السبعينيات وظلت خيارًا شائعًا للغاية. بعض اللغات الجديدة مثل C # و Swift تكتسب زخمًا أيضًا. يختار المبرمجون اللغة الأكثر تطابقًا مع المشكلة التي سيتم حلها لمنصة نظام تشغيل معينة. على سبيل المثال، يتم استخدام لغات مثل HTML و JavaScript لتطوير صفحات الويب.

    من الصعب تحديد اللغة الأكثر شيوعًا لأنها تختلف. ومع ذلك، وفقًا لـ TIOBE Index، إحدى الشركات التي تصنف شعبية لغات البرمجة شهريًا، فإن الشركات الخمس الأولى في أغسطس 2020 هي C و Java و Python و C ++ و C # (2020). لمزيد من المعلومات حول هذه المنهجية، يرجى زيارة صفحة تعريف TIOBE . بالنسبة لأولئك الذين يرغبون في معرفة المزيد عن البرمجة، تعد Python لغة أولى جيدة للتعلم لأنها ليست لغة حديثة لتطوير الويب فحسب، بل إنها سهلة التعلم وتغطي العديد من المفاهيم الأساسية للبرمجة التي تنطبق على اللغات الأخرى.

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

    برنامج مفتوح المصدر مقابل برنامج مغلق المصدر

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

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

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

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

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

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

    باختصار، بعض فوائد نموذج المصدر المفتوح هي:

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

    بعض فوائد نموذج المصدر المغلق هي:

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

    اليوم هناك الآلاف من تطبيقات البرامج مفتوحة المصدر المتاحة للتنزيل. يعد Open Office Suite مثالاً على برامج الإنتاجية مفتوحة المصدر. يعد sourceforge.net مكانًا جيدًا للبحث عن البرامج مفتوحة المصدر، حيث تتوفر آلاف التطبيقات البرمجية للتنزيل المجاني.

    تراخيص البرامج

    تمتلك الشركات أو المطورون البرامج التي يقومون بإنشائها. البرنامج محمي بموجب القانون إما من خلال براءات الاختراع أو حقوق النشر أو التراخيص. الأمر متروك لمالكي البرامج لمنح مستخدميهم الحق في استخدام البرنامج من خلال شروط التراخيص.

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

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

    مرجع

    مؤشر TIOBE لشهر أغسطس 2020. تم استرجاعه في 4 سبتمبر 2020 من https://www.tiobe.com