The discussion centers on the theoretical aspects of programming and computer science, highlighting that while programming is often applied, many areas delve into abstract concepts. Artificial intelligence is identified as a highly theoretical field, alongside non-procedural languages like ProLog and topics related to information theory. Cryptography is emphasized for its theoretical depth, including the study of one-way functions and cryptanalysis. Compiler design is also noted for its theoretical components, such as optimizations and error checking. Overall, while programming is practical, significant theoretical foundations exist in various subfields of computer science, including limits of computability and the theoretical underpinnings of algorithms.