
﻿ -------------------------------------------------------------------------------- I The chief defect of all hitherto existing materialism – that of Feuerbach included – is that the thing , reality , sensuousness , is conceived only in the form of the object or of contemplation , but not as sensuous human activity , practice , not subjectively . Hence , in contradistinction to materialism , the active side was developed abstractly by idealism – which , of course , does not know real , sensuous activity as such . Feuerbach wants sensuous objects , really distinct from the thought objects , but he does not conceive human activity itself as objective activity . Hence , in The Essence of Christianity , he regards the theoretical attitude as the only genuinely human attitude , while practice is conceived and fixed only in its dirty-judaical manifestation . Hence he does not grasp the significance of “ revolutionary ” , of “ practical-critical ” , activity . II The question whether objective truth can be attributed to human thinking is not a question of theory but is a practical question . Man must prove the truth — i. e. the reality and power , the this-sidedness of his thinking in practice . The dispute over the reality or non-reality of thinking that is isolated from practice is a purely scholastic question . III The materialist doctrine concerning the changing of circumstances and upbringing forgets that circumstances are changed by men and that it is essential to educate the educator himself . This doctrine must , therefore , divide society into two parts , one of which is superior to society . The coincidence of the changing of circumstances and of human activity or self-changing can be conceived and rationally understood only as revolutionary practice . IV Feuerbach starts out from the fact of religious self-alienation , of the duplication of the world into a religious world and a secular one . His work consists in resolving the religious world into its secular basis . But that the secular basis detaches itself from itself and establishes itself as an independent realm in the clouds can only be explained by the cleavages and self-contradictions within this secular basis . The latter must , therefore , in itself be both understood in its contradiction and revolutionized in practice . Thus , for instance , after the earthly family is discovered to be the secret of the holy family , the former must then itself be destroyed in theory and in practice . V Feuerbach , not satisfied with abstract thinking , wants contemplation ; but he does not conceive sensuousness as practical , human-sensuous activity . VI Feuerbach resolves the religious essence into the human essence . But the human essence is no abstraction inherent in each single individual . In its reality it is the ensemble of the social relations . Feuerbach , who does not enter upon a criticism of this real essence , is consequently compelled : 1. To abstract from the historical process and to fix the religious sentiment as something by itself and to presuppose an abstract – isolated – human individual . 2. Essence , therefore , can be comprehended only as “ genus ” , as an internal , dumb generality which naturally unites the many individuals . VII Feuerbach , consequently , does not see that the “ religious sentiment ” is itself a social product , and that the abstract individual whom he analyses belongs to a particular form of society . VIII All social life is essentially practical . All mysteries which lead theory to mysticism find their rational solution in human practice and in the comprehension of this practice . IX The highest point reached by contemplative materialism , that is , materialism which does not comprehend sensuousness as practical activity , is contemplation of single individuals and of civil society . X The standpoint of the old materialism is civil society ; the standpoint of the new is human society , or social humanity . XI The philosophers have only interpreted the world , in various ways ; the point is to change it . -------------------------------------------------------------------------------- 