La programmation est la description d´une succession d´états de mémoire pour une machine dite " de Turing" ( comme les micro-ordinateurs).
Comme l´a dit MatBox, on peut faire des logiciels qui permettent de surfer sur Internet, etc... mais à chaque fois ça n´est qu´une suite d´ordres au processeur. Ces ordres peuvent être simplifiés en utilisant des mnémoniques, comme MOV DX,MyChar plutôt qu´une suite de 0 et de 1. Cela s´appelle l´Assembleur
Toutefois, je pense que peu pourraient aujourd´hui faire un navigateur web, même minimal, en assembleur. Donc on utilise des langages qui ne te forcent pas à savoir tout ça. Tout en bas, il y´a le C ( aujourd´hui, avant y´avait bien pire), qui est plus simple que l´ASM, et tout en haut disons Perl ou Python, langages vraiment sympas qui ne demandent absolument pas de savoir comment fonctionnent les choses. Chacun ont leurs utilités.
Moi j´aime bien Python, Objective-C, le LISP et le Forth.