&gt; Now take those same two people and ask them to convince someone of something while knowing only a few things about them, the one who is used to thinking about various different belief systems and world views is going to find it much easier to identify with someone different from them.<p>Different paradigmas of programming (say, logical (Prolog), imperative, functional (Haskell), aspect-oriented, etc.) also represent various belief systems. The same can be said about nearly every aspect of computer science, say computer architecture (CISC vs. RISC, VLIW, superscalar vs. not superscalar, in-order vs. out-of-order, memory models (weak vs. strong) etc.), building blocks for algorithms (say, divide &amp; conquer, dynamic programming, different kinds of tree data structures that make different runtime compromises, etc.), etc.<p>So also in computer science you are confronted with lots of belief systems and world views.