I have been a bit obsessed with the idea that "the map is not the territory". I think it's because I grew up with some strong mental models that turned out not to be true.
I used Google and found that I mentioned it at least 3 times on HN, going back years:
https://news.ycombinator.com/item?id=15866856 -- Programmers should learn a little philosophy
https://news.ycombinator.com/item?id=7074831 -- With regard to Taleb, "I share Taleb's problem with models". I compare him to Nate Silver. I liked Silver's book very much at the time, and saw a lot of parallels in "learning about the world". (But I have since become disappointed with Silver.)
https://news.ycombinator.com/item?id=7913435 -- Static typing doesn't prevent the important bugs. Static types are a map; they're not the territory -- which is runtime behavior, interaction with the end user, interaction with the world.
I still have this rant a brewing: you cannot learn ANYTHING about the world if you don't actually run your program! Of course, most people who use static types do run their programs. But it's not a strawman; there's an extreme solipsistic school of "modeling with types" where programmers try not to run their programs and instead rely on the compiler. I suppose this may be effective for some very limited kinds of software with small interfaces to "the world" (which includes hardware), but IMO it's the wrong default. You can't learn anything about hardware without running your program, let alone end users!
https://en.wikipedia.org/wiki/Simulacra_and_Simulation#Analo...