Learning to program in computer code has been considered one of the pillars of contemporary education with benefits that reach well beyond the skills required by the computing industry, into creativity and self-expression. Nevertheless, the execution of computer programs usually takes place on a traditional desktop computer, which has a limited repertoire of input and output interfaces to engage with the user. On the other hand, pedagogy has emphasized that physical representations and tangible interactive objects benefit learning especially for young students. In this work, we explore the benefits of learning to code for ubiquitous computers, such as robots and wearable computers, in comparison to programming for the desktop computer. For this purpose, thirty-six students participated in a within groups study that involved three types of tangibility at the target computer platform: 1) desktop with Scratch, 2) wearable with Arduino LilyPad, and 3) robotic with Lego Mindstorms. Regardless of the target platform, we employed the same desktop visual programming environment (MIT Scratch, Modkit and Enchanting) and we measured emotional engagement and assessed students' programming skills. We found that students expressed more positive emotions while programming with the robotic rather than the desktop computer. Furthermore, tangible computing platforms didn't affect dramatically students' performance in computational thinking.