:تعريف الحاسوب*
الحاسوب هو آلة تتعامل مع البيانات وفقا لمجموعة من التعليمات -البرامج-.
تتعدد أنواع الحواسيب من حيث طريقة عملها وحجمها. أوائل الحواسيب الإلكترونية كانت في حجم غرفة كبيرة وتستهلك طاقة مماثلة لما يستهلكه بضعة مئات من الحواسيب الشخصيّة اليوم. [1] من الممكن اليوم صنع حواسيب داخل ساعة يد تأخذ طاقتها من بطارية الساعة. ينظر المجتمع إلى الحاسوب الشخصي -ونظيره المتنقل؛ الحاسوب المحمول- على أنهما رمزي عصر المعلومات؛ فهما ما يفكر به معظم الناس عند الحديث عن الحاسوب. على الرغم من هذا فأكثر أشكال الحاسوب استخداما اليوم هي الحواسيب المضمّنة. الحواسيب المضمنة حي أجهزة صغيرة وبسيطة تستخدم عادة للتحكم في أجهزة أخرى، فعلى سبيل المثال يمكنك أن تجدها في آلات تتراوح من الطائرات المقاتلة، و الآليون، وآلات التصوير الرقمية ولعب الأطفال.
حاسوب في ساعة يد.لا يمكن القول بأن الحاسوب هو اختراع بحد ذاته لأنه كان نتاج الكثير من الابتكارات العلمية و التطبيقات الرياضية. الحاسبات متنوعة، في الواقع إنها آلات معالجة بيانات عالمية . طبقا لفرض Church–Turing فإن حاسب له قدرة ذات حد أدنى معين يكون ببساطة قادر على إنجاز المهام الخاصة بأي حاسب آخر، بدءاً من المساعد الرقمي الشخصي إلى الحاسوب الفائق، طالما أن الوقت وسعة الذاكرة ليست في الاعتبار. لذلك فإن التصميمات المتماثلة من الحاسب من الممكن أن تضبط من أجل مهام تتراوح بين معالجة حسابات موظفي الشركات والتحكم في المركبات الفضائية بدون طيار. و بسبب التطور التكنولوجي فإن الحاسبات الاليكترونية الحديثة بشكل جبري تكون أكثر قدرة من تلك التي من الأجيال السابقة (ظاهرة موصوفة و مشروحة جزئيا بقانون مور).
: البرامج*
إن برامج الحاسب ببساطة هي عبارة عن قائمة من الأوامر يقوم الحاسب بتنفيذها. تتراوح هذه الأوامر (التعليمات) ابتداء من بعض الأوامر القليلة التي تؤدي مهمة بسيطة إلى قائمة أوامر أكثر تعقيدا و التي من الممكن أن تحتوي جداول من البيانات. العديد من برامج الحاسب تحتوي الملايين من الأوامر و العديد من هذه الأوامر يتم تنفيذها بصورة متكررة. إن حاسب شخصي حديث نموذجي يمكنه تنفيذ حوالي 3 مليار أمر في الثانية. إن الحاسبات لم تكتسب قدراتها غير العادية من خلال قدرتها على تنفيذ الأوامر المعقدة. و لكن بالأحرى فإنها تقوم بالملايين من الأوامر المرتبة عن طريق أشخاص يعرفون بالمبرمجين.
عادة، فإن المبرمجين لا يكتبون الأوامر إلى الحاسب مباشرة بلغة الالة.إن البرمجة بهذه اللغة عملية مملة جدا و تميل للخطأ بصورة كبيرة مما يجعل المبرمجين غير قادرين على الإنتاج بصورة كبيرة. و عوضا عن ذلك، يقوم المبرمجين بوصف العملية المرادة في لغة برمجة "عالية المستوى" و التي يتم ترجمتها أوتوماتيكيا بعد ذلك إلى لغة الالة عن طريق برامج حاسب مخصصة (مفسرات و مجمعات). بعض لغات البرمجة ترسم خريطة قريبة جدا من لغة الآلة مثل لغة التجميع Assembly (لغات برمجة منخفضة المستوى): و على الجانب الآخر فإن لغات البرمجة مثل البرولوج Prolog مبنية على قواعد مجردة و مفصولة عن تفصيلات العملية الحقيقية للآلة (لغات برمجة عالية المستوى). إن اللغة المختارة لمهمة جزئية تعتمد على طبيعة هذه المهمة و المهارة التي يمتلكها المبرمجين و توافر الأدوات و عادة احتياجات المستهلكين (على سبيل المثال، فإن المشاريع الخاصة بالاستخدامات الحربية الامريكية في الغالب يجب أن تكون مبرمجة بلغة Ada).
إن Computer software (الأجزاء غير الملموسة بالحاسب) هو مصطلح بديل لبرامج الحاسب (computer programs): إنها عبارة أكثر شمولية و تحتوي كل المواد الهامة المصاحبة للبرنامج و التي يحتاجها لأداء المهام المهمة على سبيل المثال فإن لعبة الفيديو لا تحتوي فقط على البرنامج نفسه و لكن تحتوي ايضا على بيانات تمثل الصور و الاصوات و المواد الاخرى المطلوبة لعمل البيئة التخيلية للعبة. تطبيق الحاسب هو قطعة من برامج الحاسب التي تقدم للعديد من المستخدمين غالبا في سوق تجزئة. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite و هي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة.
بالذهاب من القدرات شديدة البساطة الخاصة بأمر لغة آلة واحد إلى القدرات الضخمة للبرامج التطبيقية يعني أن الكثير من برامج الحاسب تكون كبيرة جدا و معقدة للغاية. من الأمثلة المنطبقة على ذلك هو Windows XP و الذي يتكون من حوالي 40 مليون سطر من شفرة الحاسب في لغة برمجة C : يوجد العديد من المشاريع التي تكون أكبر هدفا، يقوم بإنشائه فرق كبيرة من المبرمجين. إن إدارة هذه المشاريع شديدة التعقيد هو مفتاح إمكانية تنفيذ هذه المشاريع: لغات البرمجة و تطبيقات البرمجة تسمح بتقسيم المهمة إلى مهام فرعية أصغر فأصغر حتى تصبح في قدرات مبرمج واحد و في وقت مناسب.
إن عملية تطوير البرامج لا زالت بطيئة و لا يمكن التنبؤ بها و تميل للخطأ: إن نظام هندسة البرامج حاولت و قد نجحت جزئيا في جعل العملية أكثر سرعة و إنتاجية و تحسين جودة المنتج النهائي.