What is an IDE? Integrated Development Environment Explained