Lambda calculus is of limited relevance to practical programming, since it has no notion of I/O, nor does it address the physical realities of data storage (e.g. you might call a variable "A", but that variable is just an idea, the actual data might be in a CPU register at one point, in RAM at another, and on the disk at another point). Assembly can be useful to programmers, depending on their area of work. If you work exclusively in very high-level abstract languages, you might not have much use for it, but if doing reverse-engineering or writing software for embedded systems it's pretty important.