Question 2 How do variables and data types work in theoretical programming, and what are some of the key concepts and principles to understand when working with these fundamental building blocks of computer programs? How do different programming languages and paradigms handle variables and data types, and what are some of the advantages and disadvantages of using different approaches? (20).