It's still not clear what fact of "understand" you want, because you haven't given us a definition of "meaning" (asking for "actual meaning" just confuses the matter, since it implies that there are non-actual meanings that you don't want). Here are some notions of "meaning" that I think you might be interested in. (1) a translation matrix into other languages or the same language, e.g. "understand": "comprehend": "comprendre": "fahamu": "vorstå". (2) an reduction to defined terms of the states and events which are described by the word, in normative usage. (3) a statistically-adjusted reduction to defined terms of the states and events which are described by the word, in observed usage by all speakers of English. (1) is usually just wrong, and seems to be the thing you don't want. (3) is too complicated and is of dubious empirical value (sampling problems, for example). I surmise that you want something like (2), where you state the necessary and sufficient conditions for felicitously using "understand" in Standard English.
A non-circular account would distinguish "understand" from every other word (unless you have a situation like "sofa" and "couch" where there is no difference referents), and is built on other well-defined concepts which ultimately are based in perception. Only a consciousness can "understand", and what the consciousness understands is a fact of reality. This does not distinguish "understand" from "think" or "know", but you can add more distinguishing features, so that you can differentiate "understand" from "know". To do that, you could assemble pairs of sentences which differ in word choice, like "I know Spanish" and "I understand Spanish", which should lead you to see some differences in the situations described by the two verb – you may understand Spanish yet hardly be able to speak it, but it would be infelicitous usage to say say that you know Spanish if you can't speak it. Similarly, the situations described by saying "I know Jack" and "I understand Jack" are different, though there is some intersection. If you apply these two verbs to somewhat different objects, the difference becomes sharper: you can say "I understand this contract" but it is almost senseless to say "I know this contract" – unless you mean "I have encountered this contract before".
It appears, then, that you are looking for a characterization of how "understand" is distinguished from all other words of English, in terms of felicitous usage. Since you mentioned being a programmer, it is likely that you are not interested only in "literal meaning", you would also be interested in metaphorical extensions. When A says to B "We understand each other", A is not just saying that A literally understands B and vice versa, he is saying that they are in agreement (so B could respond "I understand your position, but I don't think we do agree"). It depends on the nature of the programming task, but it is likely that it will have to deal with "actual usage", which expands the range of situations that have to be dealt with substantially. So while I encourage approach (2), from a practical perspective, ignoring "actual usage" (figurative language, especially) may be a short-sighted and mistaken choice.