Graphical Programming Languages: Bridging the Gap in IoT Development