programming language safety