إن برامج الحاسوب ببساطة هي عبارة عن قائمة من الأوامر ينفذها الحاسوب، وتتراوح هذه الأوامر (التعليمات) بين بعض الأوامر القليلة التي تؤدي مهمة بسيطة إلى قائمة أوامر أكثر تعقيدًا والتي من الممكن أن تحتوي جداول من البيانات. العديد من برامج الحاسوب تحتوي الملايين من الأوامر والعديد من هذه الأوامر يتم تنفيذها بصورة متكررة. إن الحاسوب الشخصي الحديث النموذجي يمكنه تنفيذ حوالي 3 مليار أمر في الثانية. إن الحواسيب لم تكتسب قدراتها غير العادية من خلال قدرتها على تنفيذ الأوامر المعقدة. ولكن بالأحرى فإنها تقوم بالملايين من الأوامر المرتبة عن طريق أشخاص يعرفون بالمبرمجين.عادة، فإن المبرمجين لا يكتبون الأوامر إلى الحاسوب مباشرة بلغة الآلة.إنالبرمجة بهذه اللغة عملية مملة وصعبة جدًا وتميل للخطأ بصورة كبيرة مما يجعل المبرمجين غير قادرين على الإنتاج بصورة كبيرة. وعوضاً عن ذلك، يقوم المبرمجون بوصف العملية المرادة في لغة برمجة "عالية المستوى" مثل لغة باسكال أو لغة سي أو لغات خاصة بتطبيقات الإنترنت مثل جافاوالتي يتم ترجمتها أوتوماتيكياً بعد ذلك إلى لغة الآلة عن طريق برامج حاسوب مخصصة (مفسرات ومترجم) يدعى بالإنجليزية كومبايلر compiler. بعض لغات البرمجة ترسم خريطة قريبة جدًا من لغة الآلة مثل لغة التجميع Assembly (لغات برمجة منخفضة المستوى) وعلى الجانب الآخر فإن لغات البرمجة مثل البرولوج Prolog مبنية على قواعد مجردة ومفصولة عن تفصيلات العملية الحقيقية للآلة (لغات برمجة عالية المستوى). إن اللغة المختارة لمهمة جزئية تعتمد على طبيعة هذه المهمة والمهارة التي يمتلكها المبرمجون وتوافر الأدوات وعادة احتياجات المستهلكين (على سبيل المثال، فإن المشاريع الخاصة بالاستخدامات الحربية الأمريكية في الغالب يجب أن تكون مبرمجة بلغة Ada).إن الكيان المعنوي للحاسوب Computer software (الأجزاء غير الملموسة بالحاسوب) هو مصطلح بديل لبرامج الحاسوب (computer programs): وهي عبارة أكثر شمولية وتتكون من كل المواد الهامة المصاحبة للبرنامج والتي يحتاجها لأداء المهام المهمة على سبيل المثال فإن لعبة الفيديو لا تحتوي فقط على البرنامج نفسه ولكن تحتوي أيضا على بيانات تمثل الصور والأصوات والمواد الأخرى المطلوبة لعمل البيئة التخيلية للعبة. تطبيق الحاسوب هو قطعة من برامج الحاسوب التي تقدم للعديد من المستخدمين غالبا في سوق تجزئة. من الأمثلة الحديثة المطبقة تماما هي الأدوات المكتبية office suite وهي عبارة عن برامج ذات صفات مشتركة لأداء مهام المكتب الشائعة.بالذهاب من القدرات شديدة البساطة الخاصة بأمر لغة آلة واحد إلى القدرات الضخمة للبرامج التطبيقية يعني أن الكثير من برامج الحاسوب تكون كبيرةً جدًا ومعقدةً للغاية. من الأمثلة على ذلك نظام التشغيل ويندوز إكس بيوالذي يتكون من حوالي 40 مليون سطر من شفرة الحاسوب في لغة برمجة C++ يوجد العديد من المشاريع التي تكون أكبر هدفا، يقوم بإنشائه فرق كبيرة من المبرمجين. إن إدارة هذه المشاريع شديدة التعقيد هو مفتاح إمكانية تنفيذ هذه المشاريع: لغات البرمجة وتطبيقات البرمجة تسمح بتقسيم المهمة إلى مهام فرعية أصغر فأصغر حتى تصبح في قدرات مبرمجواحد وفي وقت مناسب.كما أن هناك بعض النظم الأكثر تطوراً والتي تستخدم في الحواسيب الضخمة والحواسيب الحساسة كمخدمات الويب وغيرها، وهي الأنظمة المشتقة من نظام UNIX، مثل RedHat (ريد هات) وSun Solaris، وقد تطورت لتصلح للاستخدام المكتبي، وذلك بتوفير واجهات رسومية يمكن أن تتفوق أحياناً على أنظمة Microsoft Windows، حيث توفر تأثيرات تتفوق على تلك الموجودة في Windows 7 كما هو الحال فيUbuntu، كما تم استخدام أنظمة UNIX في بعض الأنظمة الخاصة بالموبايل، وتتميزهذه الأنظمة بالوثوقية، حيث يمكن أن تبقى قيد التشغيل حتى عشر سنوات متواصلة أو أكثر بدون أي توقف، كما أنها لا تأثر بما يسمى فيروسات[محل شك]،وتقدم أداء عالي حتى على الأجهزة الضعيفة إلى حد ما.وهذه الأنظمة عير مستخدمة بشكل كبير في العالم العربي، وذلك لعدم توافق كل البرامج التي تعمل على أنظمة Microsoft Windowsمعها، لكن معظم البرامج المكتبية يوجد بديل عنها كبرامج عرض الصوت والفيديو والبرامج المكتبية وبرامج تصفح الإنترنت، وكلها برامج مجانية غالباً تكون متوفرة مع النظام.إن عملية تطوير البرامج لا زالت بطيئة ولا يمكن التنبؤ بها وتميل للخطأ: إن نظم هندسة البرامج حاولت وقد نجحت جزئيا في جعل العملية أكثر سرعة وإنتاجية وتحسين جودة المنتج النهائي