Computer software er defineret som sæt af instruktioner eller data i computersystemet drives i en sekvens. Computer software pakker kommer i forskellige stilarter og typer. Denne virtuelle overflod af programmer kommer i forskellige former: spil, webbrowser, chat program, Office-programmer og specifikke softwarepakker. Trods det store antal variationer af software, stort set alle det samme med computere. Det er meget lettere at bryde software i fire nøgleområder: produktivitet, programmering, underholdning, og distribuerede computing funktioner.
Produktivitet, label softwarepakker såsom Excel, Word, PowerPoint, Pages, Numbers og meget mere. Forskellige speciel software er designet til brug i en bred vifte af institutioner og brugere med forskellige evner og interesser. Der er off hylde produktivitet computer software pakker og brugerdefinerede applikationer udviklet til specifikke opgaver. Programmeringssprog, softwareudviklere bruger til at oprette computerprogrammer, selv om de er i det væsentlige en del af mange programmer.
BASIC programmering for C og Java er alt for almindelig, og er en klar opdeling mellem præ-kompileret sprog som C sprog og mange run-tid til at designe så mange versioner af BASIC. Forskellen er, at C ofte bruges til at skrive et program og omdanne den menneskeligt læsbare kode i et sprog, der er direkte læses af computeren. Mange former for BASIC på den anden side for at markere en fil eller formidlere, der hjælper en motor køre nødvendige tid til at kompilere det i farten. En nyere tendens i computere er tendensen til udvikling af software platform agnostiker.
JAVA som et typisk eksempel på et sprog, der har ført afgiften på deres begrænsede evne til at køre en gang på alle måder platform. "Platform agnostiker software vil køre på forskellige platforme, men de har tendens til at være mere effektiv end at designe software. Underholdning software tager mange former, men spillet er, hvad du normalt tænker på, når vi diskuterer emnet af edb-programmer designet til at underholde. Nyeste spil er næsten alle de følgende tendenser i internetforbindelsen til multiplayer (selvom det kræver en vis genre) og realistiske 3D-grafik.
Nøglefunktioner af software til at oversætte retninger og koncepter til hardware, så opgaven kan håndteres korrekt. Denne funktion omfatter omdannelsen af sprog, vi kan forstå det sprog af computeren for at tillade karakteren af de hardware-funktioner udføres for at forstå. Nu er det klart, at der er ingen so