Formal methods is what happens when you try to do engineering in the traditional sense in the software space. You sit down, design, find a specification, and then build to spec. It's arguably an idealized version, even, because depending on the methods you cannot fail the spec if you succeed in building it.
Only a small group of software engineers are interested in this principled approach. Hell many software engineers are scared of recursion.
Only a small group of software engineers are interested in this principled approach. Hell many software engineers are scared of recursion.