Shaders are fun! Looks a bit like "scary c++" at first but not too steep a learning-curve actually. No header files, pointers and the likes. Just a couple of maths functions and maths types (vec3, float etc). Pixel shaders return a "color" vector, vertex shaders a vertex "position" and "that's about it".