I am now taking a course on Theory of Computation. I can understand the concepts well. I can able to solve the problems. And, when I asked my instructor about the real world application, he told me these concepts will be surely useful and essential in compiler design. But, at least to make a meaningful study, I need some explanations on how can I use those concepts it in my coding.
e.g. If I want to design my own grep. I will use string functions in C. I don't know how to use regular expressions there in coding.
Same case applies to Turing machines.
If I want to add two numbers why I have to go by those unary concepts. Does the hardware implement those concepts?