Programming Languages and Theory of Computing