What is the benefit of writing a bunch of different raytracers? Is it just an exercise to practice a new language and reenforce your understanding of raytracing fundamentals, or is there actually a notable difference?