Bir bilgisayar yazılımı, sahibinin bilgisayarını kullanmasını sağlayan bir programdır. Donanım, bilgisayarın tüm fiziksel bileşenlerinden oluşur ve yazılım, donanımın çalışmasına izin vermek için derlenen programlardan oluşur. Yazılım türleri arasında bilgisayar programları yazmak için işletim sistemleri, uygulamalar ve derleyiciler bulunur. Yazılımın çoğu, herhangi bir tüketicinin erişebilmesi için kurulumu ve kullanımı kolay olacak şekilde tasarlanmıştır. Diğer türler daha ileri düzeydedir ve bunları kullanmak için bilgisayar programlama dilleri bilgisi gerektirir.
İşletim sistemi genellikle bilgisayar yazılımının en önemli parçası olarak kabul edilir. Bu, kullanıcının fare ve klavye gibi girişler yoluyla bilgisayarın iç bileşenleri ile iletişim kurmasını ve sanal görüntüleri bilgisayar monitörüne aktarmasını sağlayan bir programdır. Windows, Macintosh ve Linux işletim sistemi örnekleridir. Bu sistemler, kullanıcının diğer yazılım programlarını çalıştırmasını, öğeleri yazdırmasını ve diğer görevlerin yanı sıra internette gezinmesini sağlar. Ayrıca, bilgisayarın iç bileşenlerinin hepsinin birbirleriyle ve farklı kullanıcı girişleriyle iletişim kurmasını, belleği bölümlendirmesini ve farklı yazılım programlarını başlatıp kapatmasını sağlayarak düzgün çalışmasına yardımcı olur.
Bir uygulama, işletim sisteminin üstüne eklenen bir bilgisayar yazılımı parçasıdır. Bilgisayar programı terimi en çok uygulamaları ifade eder. Bunlar, kelime işlem programları, İnternet tarayıcıları ve diğer çoğu tüketici programı türünü içerebilir. Bilgisayarlar, genellikle bir kelime işlemci, bir İnternet tarayıcı ve bir müzik çalar gibi önceden yüklenmiş bazı uygulamalarla satılır. Tüketiciler, Internet'ten indirerek veya CD-ROM, DVD ve diğer biçimler halinde satın alarak ek uygulamalar satın alabilirler. Kullanıcının çalışması için kullanıcının uygulamayı yüklemesi gerekir. Video düzenleme veya muhasebe programları gibi bazı uygulamaların kullanıcı tarafından başlatılması ve kullanılması gerekir. Diğer bilgisayar yazılımı parçaları, arka planda virüs koruma programları gibi önceden haber verilmeksizin çalışır.
Daha gelişmiş kullanıcılar bazen yeni bilgisayar programları yazmak, test etmek ve uygulamak için kullanılabilecek bir bilgisayar yazılımı satın alacaktır. Bu programlar genellikle Java veya Visual Basic gibi bireysel bir bilgisayar programlama diline özgü bir yazılım derleyici ile birlikte gelir. Bu yazılımı kullanarak, bir programcı bir bilgisayar programı yazabilir, test edebilir ve diğer gelişmiş işlevleri gerçekleştirebilir.


