I've been doing the first chapters of the book and so far it has gone quite smoothly. I'm still on the hardware part, but if I keep progressing at current pace, soon it will come the second part of the book.
I haven't decided which language I should use. I have a bit experience in quite a few programming languages but I wold probably prefer to use one I'm not so fluent in, because it's fun.
The programs that you will be writing will all be command line programs. They will process command line arguments that specify the files and/or directories that will be processed. and the output will be output to other files. You might want to print error messages to the command line console.
I chose to write my programs in Python, and a few weeks ago I rewrote my assembler in Ruby, since I had never written any Ruby.