Scratch is a java based program that attempts to teach kids some simple fundamentals about programming. It's a very effective looking program and great way to start young. However, it has limitations to it as it has not been created for rigorous use in theindustry.