The document discusses the challenges and methodologies involved in developing Internet of Things (IoT) applications, focusing on issues of heterogeneity across devices and the need for a comprehensive approach to simplify the development process. It outlines existing programming paradigms and proposes a framework that combines various methodologies to enhance reusability, expressiveness, and support for technological changes. Additionally, it provides case studies showcasing applications in building automation, highlighting metrics like lines of code and code coverage as measures of development effort and efficiency.