Introducing the pulse-oriented programming paradigm