Why does the attributive adjective come before a noun in English? In most languages, the adjective comes always after a noun. For example, white car is written as the equivalent of car white in Latin languages. What is the origin of this?
The short answer to why we say "a tall tree" and not "a tree tall" is that we learned this pattern from listening to other people speaking; and those people got their rules from their elders, and so on. In other words, this is and has been a historical fact of the language for many years. Ringe & Taylor (2014) The development of Old English has a reasonably extensive discussion of the history of English word order, and A-N order seems to be a fact of Old English as well. Ringe (2006) in the predecessor volume From Proto-Indo-European to Proto-Germanic is a bit brief on Proto-Germanic syntax, saying "PGmc syntax reflected the PIE situation with little change, aside from the development of prepositions".
OE order of noun and adjective is not as rigid as it is in Modern English, see Ringe & Taylor §8.7 esp. §8.7.3. For example the order "angel holy", "garment rough", "thane the foremost", "sorrow the great" exist in OE. There are proposed correlations between pre-nominal vs. post-nominal order and formal or functional properties: attributive, given information, non-restrictive reading, inherent or intrinsic characteristics and weak adjective form – vs. predicative, new information, restrictive reading and temporary characteristics.
The question of why there are pre-nominal adjectives in Germanic at all is not trivial. There is similar variability in word order in other branches of IE, so that Ancient Greek A N ἀγαθοὶ ἄνδρες vs N A ἄνδρες ἀγαθοί seems to relate to focus / emphasis. Latin has similar variability. One can speculate about possible explanations for the stronger tendency for adjectives to be pre-nominal and not post-nominal in Modern English, for example, loss of inflectional affixes may have forced adoption of more rigid word order patterns.
It's perhaps not entirely accurate to say 'most languages'. In several Indo-European languages, the adjective comes before the noun too. E.g. in Russian - 'белая машина' is 'white car', but the other way around 'машина белая' actually means 'the car is white'.
In Hindi, 'सफेद गाडी' ('safed gaadi') has the adjective 'safed' before the noun too.
Even in Latin languages, e.g. Italian, the position of the adjective is not always after the noun (e.g. 'beautiful red ball' becomes 'bella palla rossa' - note the adjective 'bella' preceding the noun 'palla' and 'rossa' succeeding it).
There's some analysis in this paper that you may find useful: Artemis Alexiadous, "Adjective Syntax and (the absence of) noun raising in the DP")
Another paper that discusses the conditions under which a normally post-nominal adjective (e.g. in French) sometimes appears pre-nominally is Robert Truswell, "Non-restrictive Adjective Interpretation and Association with Focus".
"Why" is always a difficult question to answer in linguistics. Sometimes, the best we can say is "it's just the way things are": in some languages (English, Russian, Ancient Greek, Hittite, Japanese), attributive adjectives typically precede the noun, while in others (Latin, most of Romance, Swahili, Arabic, Persian), they tend to follow. There's no objective reason why one is better than the other; it's just one of the rules of the syntax. English actually uses a mix: attributive adjectives generally have to come after indefinite pronouns (I saw something red, *I saw red something).
However, this choice sometimes does connect to other features of the syntax. Some syntacticians categorize languages as a whole as right-branching vs left-branching, also known as head-initial vs head-final. English is generally considered head-initial aka right-branching; since the attributive adjective is the head of its phrase, according to these theories, it makes sense that it comes first. But this isn't an absolute: German is head-initial sometimes and head-final other times, for example, while Japanese is pretty much always head-final but has nouns as the heads of noun-plus-attributive-adjective phrases. And, as you've seen above, English inverts the order in certain regular circumstances. So this is more like a vague categorical guideline than a clean boolean property.