Been thinking about this for a while, and came on this question: Can a contract access another contract's storage?.
What is the design rationale behind NOT allowing these types of reads? It seems trivial to implement on ETH currently. Now if ETH decided to shard later on then yes there might be problems with concurrent ordering between shards, but right now in a single monolithic chain, this is trivial to do.
Can someone explain to me if this design decision to NOT allow a contract to read another account's state is driven by technical or philosophical reasons? Thanks!