عند حديثنا عن أجهزة الحاسب الآلي والبرامج دائماً ما نذكر كلمة تطبيق Application او كلمة برنامج Software بدون أن ندرك الفرق بينها!
ولكن هل فعلاً يوجد فرق بين هذه الكلمات؟
وهل تدل على أشياء مختلفة في الحاسب الآلي؟
أم ان هذه المصطلحات تعني نفس الشيء!؟
لمعرفة الإجابة تابع قراءة المقال حتى النهاية.
في الحقيقة، كلمة تطبيق (Application) او ما يطلق عليه الناس اليوم App هي متفرعة او بمعنى آخر هي جزء subset من كلمة برنامج (Software)، أي أن مصطلح برنامج (Software) هو المعنى الأشمل والأعم والمظلة الأكبر، ولكن كيف ذلك ولماذا؟ لفهم الموضوع بشكل أكبر دعونا نأخذ لمحة تاريخية سريعة عن بداية البرامج في عالم الحاسب الآلي ليسهل الفهم عليكم.
في ستينيات وسبعينيات القرن الماضي كانت البرامج (Software) يتم بناءها وتطويرها بطريق صعبة ومعقدة نوعاً ما، ولم يكن الجميع قادراً على التعامل معها، حيث لم يوجد في ذلك الوقت ما يسمى بواجهة المستخدم Graphical User Interface (GUI) والأيقونات والرسومات كما نراها اليوم – حيث يعود الفضل لشركة زيروكس الأمريكية ومجموعة من المهندسين والعلماء فيها امثال دوقلاس انجلبيرت (Douglas Engelbart) و آلن كاي (Alan Kay) وزملاءهم لتقديم فكرة واجهة المستخدم (GUI) والتي غيرت تماماً مفهوم التعامل مع الحاسب الآلي وسهلت للجميع استخدام الحاسب وحولته من ألة معقدة إلى آلة يسهل التعامل معها وإدارتها – .
عموماً قبل ظهور واجهة المستخدم (GUI) كانت آنذاك الشاشة السوداء [وأحياناً يسميها البعض الشاشة الزرقاء] هي المتاحة حينها وعلى الشخص التعامل مع أسطر متعددة من الأكواد التي يجب عليه فهمها بشكل جيد لكي يتمكن من التعامل مع جهاز الحاسب الآلي لتنفيذ المهام المطلوبة. وكانت البرامج يتم كتابتها بأكواد معقدة لتتعامل مع الأجزاء المادية (Hardware) للحاسب الآلي بشكل مباشر سواءً المعالج ام الكروت المختلفة مثل كرت الشاشة او كروت وسائط التخزين المختلفة او لوحة المفاتيح او الفأرة أو غيرها، ومن أمثلة لغات البرمجة التي كانت تستخدم في ذلك الوقت لغة الآلة (Machine Language) ولغة الأسمبلي (Assembly Language)، حيث إن الأوامر التي تكتب بمثل هذه اللغات تتعامل بشكل مباشر مع الأجزاء المادية للحاسب الآلي. في تلك الحقبة تحديداً كان استخدام الحاسب الآلي حكراً على مهندسي وعلماء الحاسب الآلي، وذلك بسبب صعوبة وتعقيد التعامل مع تلك الأجهزة، حيث ان ما كان يتم كتابته من أوامر وتعليمات هي عبارة عن رموز معقدة لا يفهمها إلا المختصين فقط.
وكلمة برنامج (Software) هي كلمة عامة وتشمل كل ما يتعلق بالبرامج والبيانات والتعليمات التي يعمل من خلالها جهاز الحاسب الآلي ويؤدي الوظائف المطلوبة منه. لذلك إن تحدث معك شخص ما، وذكر بأنه لديهم برنامج (Software) فهذا المعنى عام، ويحتاج أن يفصل لك أكثر أي نوع من البرامج يقصد؟ وهذا ما سنوضحه في الأسطر التالية.
عموماً، ومع الوقت والتطور في البرامج وانتشار استخدام واجهة المستخدم (GUI) بدأ المختصين في مجال الحاسب الآلي بتقسيم وتصنيف البرامج لنوعين رئيسيين هي (1) برامج الأنظمة Systems Software و (2) برامج التطبيقات Applications Software. ومنذ ذلك الوقت بدأ التفريق بين البرامج بشكل واضح، حيث تقوم برامج الأنظمة (Systems Software) بالتعامل كما ذكرنا قبل قليل مع الأجزاء المادية للحاسب (Hardware) وهي المسؤولة عن تنظيم وإدارة العمل بالحاسب الآلي والتنسيق بين العمليات المختلفة، ومن امثلتها برامج نظم التشغيل المعروفة وشائعة الاستخدام، كنظام التشغيل ويندوز (Windows) ونظام التشغيل ماكنتوش (Macintosh) من شركة ابل والذي أصبح يُختصر لاحقاً بنظام ماك (Mac) ونظام التشغيل يونكس (Unix) و لينكس (Linux). أما برامج التطبيقات (Applications Software) فهي البرامج التي يتم تصميمها وبناءها لغرض محدد ومهمة معينة فقط يحتاجها المستخدم، ولا تتعامل مع الأجزاء المادية للحاسب الآلي (Hardware)، ولتعمل برامج التطبيقات (Applications Software) بالشكل المطلوب لابد لها من التواصل مع نظام التشغيل (Operating System) والذي يعتبر احد برامج الأنظمة (Systems Software) والذي بدوره يقوم بالتواصل مع الأجزاء المادية (Hardware) للحاسب الآلي.
ومن امثلة برامج التطبيقات برنامج الوورد (MS Word) وهو ما يعرف ببرنامج تحرير النصوص وبرامج الاوفيس كاملة مثل البوربوينت والاكسل، وغيرها من البرامج العديدة المختلفة كبرامج شركة أدوبي (Adobe) العديدة وغيرها من البرامج الأخرى التي نقوم بتحمليها بشكل مستمر على نظام التشغيل لنستفيد منها بأداء مهام معينة ومحددة، كل هذه البرامج لابد من وجود شخص يعمل عليها ويستخدمها بشكل مباشر ليحصل على مايريد، وهذا ما يميز برامج التطبيقات (Applications Software) عن غيرها، وهو وجود مستخدم يتعامل معها بشكل مباشر ويستفيد منها.
ولكي تعرف الرابط ما بين برنامج التطبيق (Application Software) وبرنامج النظام (System Software) لنأخذ المثال التالي: عند استخدامك لبرنامج الوورد والذي يعتبر برنامج تطبيق (Application Software) وعند قيامك بالضغط على زر طباعة الملف، فإن برنامج الوورد لا يقوم بالتواصل مع الطابعة بشكل مباشر، ولكن يقوم بالتواصل مع نظام التشغيل والذي يعتبر (System Software) والذي يقوم بدوره بتمرير طلب الطباعة للطابعة لتقوم بتنفيذ عملية الطباعة المطلوبة.
إذاً الفرق الجوهري بين برامج التطبيقات (Applications Software) وبرامج الأنظمة (Systems Software) هي أن التطبيق يقوم بمهمة محددة تخدم المستخدم (End User) والتي من أجلها تم تصميم وبناء هذا التطبيق، مثل “تطبيق معالجة النصوص”، أو “تطبيق تحرير الصور”، أو “تطبيق البريد الإلكتروني” أو تطبيق الآلة الحاسبة أ وتطبيق تشغيل ملفات الفيديو والملفات الصوتية أو غيرها العديد والعديد من التطبيقات المحملة على جهاز الحاسب الآلي، بينما برنامج النظام (System Software) يقوم بمهام تتعلق بتشغيل وإدارة جهاز الحاسب الآلي وضمان سير العمليات فيه بالشكل المطلوب.
ولو أمعنا النظر في كلمة “تطبيق” ومعناها في علم الحاسب الآلي فهي تشير إلى البرامج التي تم تطويرها “لتطبيق” وتنفيذ وظائف أو ميزات محددة لتلبية احتياجات ومهام المستخدمين.
ومختصر القول، بأن كلمة تطبيق (Application) هي كلمة فرعية من كلمة برنامج (Software) ويقصد فيها البرامج التي تؤدي خدمة معينة ومحددة للمستخدم ويوجد مستخدم يتعامل معها بشكل مباشر، أما كلمة برنامج (Software) فهي معنى يدخل من ضمنه كل أنواع البرامج سواءً أكانت برامج تطبيقات (Applications Software) أم برامج أنظمة (Systems Software) وكذلك البيانات والتعليمات والأوامر التي يعمل من خلالها الحاسب الآلي.
لذلك يتضح لنا بأن أغلب البرامج التي يتعامل معها المستخدمين على جوالاتهم او أجهزتهم المحمولة أو المكتبية هي برامج تطبيقات (Applications).