Paradigm-wise I find these the most interesting. All the others (maybe except prolog) are really just different ways to write a sequence of instructions. HW definition is fundamentally different. It does everything all the time and you have to figure out how to make it do what you want. Lots of opportunities for tricks to sneak in some calculations on temporarily unused wires, etc.