OOPic is specially designed for robotics and is a totally different approach in microcontrollers that uses Virtual Circuits to interact with the attached hardware while the application program focuses on controlling the Virtual Circuits in an Object-Oriented programming style. With a library of over 130 Objects, Most any Virtual Circuit can be created and Programmed in Basic, C, or Java syntax styles.
The concept behind OOPic is straight forward. Use preprogrammed multitasking Objects from a library of highly optimized Objects to do all the work of interacting with the hardware. Then write small scripts in Basic, C, or Java syntax styles to control the Objects. During operation, the Objects run continuously and simultaneously in the background while the scripts run in the foreground telling the objects what to do. Every aspect of the Objects can be controlled by the scripts as the Object do their work with the hardware. The OOPic Object library contains Object that know how to interact with the most popular sensors and drive systems around which make the OOPic ideally suited for robotics of any kind.
Another unique feature of OOPic is the Virtual Circuits capability. Virtual Circuits can be thought of as the software equivalence of an electronic circuit connecting together Objects in various ways. This allows the Objects to pass data to each other in the background so that your script doesn't have to. Virtual circuits can handle the processing required for speed control, time-out events, limit switches, emergency breaking, and a whole myriad of other function so that your script does not have pole for such tedious tasks. With a library of over 130 Objects, most any Virtual Circuit can be created. In several cases, entire applications can be built as pure Virtual Circuits.
More details on OOPic can be found here.