The goal of this blog is not so much to give you tips to retire early. Retiring early is very simple, it is not rocket science. I sometimes get letters from people which say things like, and I paraphrase, “I recently found ERE. I’m writing to tell you that I did something similar 15 years ago (before ERE existed) and it’s been a blast.” This means that what’s really required to retire (meaning become financially independent to avoid having to work for money to pay bills) early is not “tips” but the ability to think critically and think outside-the-box. This is why the ERE book was written with the intention of “teaching you to fish” rather than “showing you some fish”. This is why blog posts here are more about thinking than they are about lists of information.

In making the distinction of the perception of reality vs the perception of perception (postmodernism), I announced engineers as an example of someone who did not care much about the “perceptions of perceptions” but only cared about reality. In other words, engineers may think about reality, but they do not think about thinking.

Go see the comments in the link above.

This riled up the engineering department who were/are up in arms.

Lets first make it clear that when I denominate one group as “engineers” I’m referring to an archetypical engineering behavior. I’m _abstracting_. (Some engineers seemed to miss this point thus proving my point.) Clearly, some scientists do and think “engineering” and some engineers think and do like “scientists”. However, having dealt with both kinds, I can say that scientists are more inclined to behave like “scientists” and engineers are more inclined to behave like “engineers”.

I will make a final attempt to explain the subtle “postmodern” differences. Let me introduce an analogy. Of course analogies can’t be used to prove anything, but they can be used to illustrate a point.

Consider the world of software.

Here the scientist are the ones who develop new computer languages, like BASIC, FORTRAN, C, C++, Java, R, Python, gnuplot script, and so on. Thanks to computer scientists there are literally hundreds of languages. Building a new language is sometimes a thesis project, so that’s why. They care mainly about whether a language should be function-oriented or object-oriented and how abstracting the computing will help people better describe the programs they’re writing. They are interested in whether multiple inheritance a useful abstraction and whether it should be part of a language or whether it’s best forgotten and replaced with virtual inheritance, etc.

Lets for arguments sake say the C++ is the most powerful language by which I mean you can write any type of program in it. Conversely, the scripting language for a plotting program is not so powerful—it would be fairly difficult to use gnuplot to write an operating system.

C++ would then be the analogue to what we consider the scientific body of knowledge. It is the most powerful programming language—science is the best and most powerful understanding of reality.

To stay with the analogy, Newtonian physics could correspond to C; then General Relativity (which includes Newtonian physics) would be C++. In other words, languages have various levels of power to make programs just as different theories about reality have different levels of power to describe, with modern science being the best.

The postmodern “haughty college professor” understands nothing about programming and so he will say that all languages are equally useful/powerful because they all serve some purpose of the people who are using them to program. Heck, even compilers that don’t run are considered valid. However, clearly, Perl is better than awk no matter how you look at it. The
“college professor” does not care that a compiler would actually have to be useful. It merely has to exist to be worthy of contemplation.

And now, my dear engineers …

I would say that in this analogy, the engineer is someone who has become an expert in programming in C++. However—and this is an important distinction, namely it was the distinction I was trying to make in the previous post (which most people seemed to miss): This does not mean that the engineer is an expert in computer languages. It means that this engineer masters the use of one particular language. He does know the limitations of C++, what it can do and so on. He can use it to make any application he wants.

However, the original arguments that went into, say, the inheritance model or whether garbage collection should be automated or manual via destructors is not something the engineer is in the habit of thinking about. He does not know or care why C++ was built with inheritance or why it was important to make a distinction between pointers and references. He just accepts those aspects about the C++ language, because that’s how it is and that’s how it works.

So when the scientist and the engineer talks about understanding C++, they’re really talking about two quite distinct things. The engineer talks about how his understanding allows him to use the language to build any application he likes; he is a master programmer. The scientist talks about why the C++ language was designed the way it is; he may not even be able to write very much code at all—but he could create a new language.

However, what the engineer does not consider/care much about is the language design.

It should be clear that computer scientists and computer engineers need each other. None of them can function without the other one because neither of them are very good at doing what the other one does.

Similarly for science. The engineer does not care why his quantum mechanical understanding is based on a second order differential equation, the Schrodinger equation, and not the equally valid scatter-matrix Heisenberg formulation. I can tell you why that is: The former is more intuitive, so that is what’s being taught to “programmers” (engineers)—people who use the science. People who must understand the science as well must learn the whole picture, make that the entire museum full of pictures. People who use the science only need to learn one picture.

This is why I say that scientists understand the philosophy of postmodernism more empathically than engineers. In the philosophical sense, engineers are closer to the philosophy of realism.

As I mentioned, if you can not explain something in at least three different ways, you can do understand it.

Well, I just tried to explain postmodernism in three different ways 😎

PS: The ignoramuses in this analogy would not know that there are multiple computer languages. They would think that there’s only one of them and that it’s the one that was used to build “Angry Birds”.

Originally posted 2011-07-09 09:57:01.