1. A software recommending method, comprising: detecting software that has been installed or has been run on a client computing device; analyzing the software to obtain personality data, age data, or gender data associated with a client user of the computing device, wherein the personality data associated with the client user is determined based at least in part on at least one software classes of the software and personality description corresponding to the at least one software class, wherein the personality description corresponding to the at least one software class describes personality of a user who installs or runs a certain number of software in the at least one software class, wherein the analysing the software to obtain personality data associated with the client user of the computing device further comprises obtaining and synthesizing personality description corresponding to each of the at least one software class in response to a determination that a number of software among the software that has been installed or has been run on the client computing device in each of the at least one software class is greater than or equal to a corresponding threshold; and providing a corresponding software recommending mechanism according to the personality data, age data, or gender data associated with the client user, wherein the providing a corresponding software recommending mechanism according to the personality data associated with the client user further comprises providing a key word related to the personality data, and providing a software recommendation list corresponding to the key word.