Why computers do not understand us and why they are still not really smart? Why computers still could barely recognize faces and speech? One of explanations sound as "human brain are too optimized for these tasks, whereas computers are not". So, answer to our question is: (a) either computers are not powerful enough to be smart, (b) or they are not constructed appropriately to handle "more intelligent" tasks. There's doubts in plausibility of (a) because computers outsmart human beings as for mechanical calculation and information storing and processing. So, more possibly the problem is in the way how we build computers or how we use them.
And problem is again the same. Meaning. To understand us computers should handle meaning. Are they ready for it? Sooner no, than yes. There is reasons:
1. There is no ways (at this moment) to translate language or other form of meaning (like images, speech, etc) into meaning.
2. Computer architecture is not optimized for handling meaning.
What solution could look like?
1. Language could be translated into space-time structures like today it is done by humans "manually" (but, in fact, mentally). All information inside computer (data, metadata, metametadata) should be linked in one meaning space.
2. Computer architecture must be parallel. Real intellect works rather in massive parallel fashion. It does not focus at one point and then scans the entire picture. It handles information in thousands recognition points in parallel. And after, each point lives own life.
a. Real intellect works similarly to thousands (or even more) processors.
b. These processor should be less powerful (say, not 10K MIPS but even 1-10).
c. We need parallel memory and hard-drives which could be more easily shared between thousands of processors.
c1. Multi-entry memory. Each entry is responsible for own segment. Thus, processors could read memory from different segments simultaneously.
c2. Redundant memory. Memory could multiplicated in several places. Thus, writing will be slower, but reading is faster, because we can read from alternative sources.
d. We could avoid memory usage at all. If each processor would own 1-10Mb of memory it would cover all needs.
e. We could have dedicated to processor hard-drive (of course, by less capacity, say, 16-128Mb).
f. We need the concept of processor/memory load balancing and/or clustering (which, for example, would use "adjacent" processors to minimize communication cost).
Such concept of computer architecture could exist in parallel with commonly-used one. In fact, they solve different tasks: one of cognition, another one of information storing/processing.