Advantages of real-world programming