Long time no see

From Teflpedia

Long time no see (/lɒŋ(g) taɪm nəʊ si:/) is an English phrase sometimes used as a greeting to a friend one hasn't seen for an extended time period.[1]

It is an imitation of learner or pidgin English, and it may be Chinese, Native American (or possibly both). It is used jokingly - a nuance of meaning that learners often miss.

"Long time no see" sounds foreign, meaning that even though it's an English phrase, use of it by non-native English speakers may make their English sound worse than it actually is. A way to say this which closer conforms to the norms of English grammar is "I haven't seen you for a long time!". Since this shows immediate control of the present perfect it is indicative of a student at pre-intermediate level or above, and is far more aesthetically pleasant.