Error-free operation of programs is becoming more and more important in the modern world, when we are surrounded by billions of lines of code, which grows more and more every year, week and day and penetrates more and more into our lives, existing in various devices, computers, phones and web pages. But how do software tools achieve this, and has it been done successfully in programming languages? What is the analogy with ordinary human thinking? The next article is about this.