Requirements for real-wrld programming