A ver Pocopelo,.
el lenguaje que entiende el micro es a base de 1 y 0 que unidos en grupos realizan unas funciones determinadas.
Como puedes comprender si existe alguna persona que programe de esa manera no estaria ni medio bien pagado. Por eso existen una serie de "lenguajes" que hacen mas facil la realizacion de programas para los micros.
Los hay de bajo nivel (proximos a lo que entiende el micro), nivel medio y de alto nivel(proximos al lenguaje humano).
Respescto al libro que indicas, la mayoria de la programacion está realizada en ASM=Ensamblador(bajo nivel), y es una serie de comandos(instrucciones) que luego necesitan ser traducidas a series de 1 y 0 para que el micro las entienda.
A la hora de aprender, desde mi punto de vista, habria que empezar a programas en ASM, de esta manera al ser un lenguaje muy proximo al lenguaje del micro, te permite tener un control muy exhaustivo del micro, ademas de se controla directamente cada una de sus posibilidades. De esta manera se aprende como funciona.
Mas adelante, lo normal es migrar a un lenguaje de mas alto nivel como puede ser: basic, C..... Estos sistemas permiten realizar con pocas instrucciones o lineas de programa un monton de cosas, pero ademas de necesitarse tambien un traductor(compilador) de l codigo creado, son menos eficientes en el sentido de que necesitan mas memoria pues generan un codigo mas extenso. Todos tienen sus pros y sus contras. Al final es el usuario el que segun sus gustos o preferencias el que se decide por un lenguaje u otro.
Fermin