Las principales categorías de software son: software de sistemas, lenguajes de programación y software de aplicaciones. Los lenguajes de programación se pueden clasificar en lenguaje de máquina, lenguaje de bajo nivel y lenguaje de alto nivel. Los lenguajes de alto nivel son los más utilizados por los programadores ya que son más fáciles de entender y producen software portable.