A logically perfect language must meet following requirements: (i) it must not contain „empty“ expressions designating nothing and (ii) it must not involve phrases that are synonymous, homonymous etc. According to Frege, the meaning of a compound expression is a function of meanings of its components, i.e. the meaning of an expression consisting of a functional phrase and a name is the value of the function for the argument. However, for some arguments a function need not give values and, hence, some compound phrases designate nothing in spite of the fact that every simple expression does designate something. Frege’s construction of a logically perfect language fails because it violates condition (i). According to Wittgenstein, every language is logically perfect; otherwise it cannot represent the world. Every expression, simple or compound, does designate something; the meaning of a compound expression consists of meanings of its components; the structure of a complex expression’s meaning mirrors, when completely analysed, the syntactic structure of the expression. Wittgenstein distinguishes between language and notation and we are supposed to look for a logically perfect notation that does not contain homonymy or synonymy. However, following some ideas from Tractatus, it can be shown that Wittgenstein cannot eliminate these phenomena and, hence, violates condition (ii).