Gesture recognition is a subfield of Human Computer Interaction (HCI). Human Computer Interaction has become very attractive field in recent years. Various conventional devices such as mouse, keyboard, joysticks now can be replaced by touch free technologies. To achieve touch-free environment for interacting with computer systems, various algorithms and methodologies have been proposed. In this paper we are surveying methodologies that are proposed previously for hand gesture recognition. We are comparing these techniques on the basis of various parameters such as high accuracy, robustness and lower complexity. The evolution of hand gesture technology from glove based sensing to most recent model based sensing is explained in accordance with their advantages and limitations.  Vision based sensing has an advantage that there is no hardware component required and it also gives a benefit of directly using natural motion of hand. For vision based sensing, latest approaches are listed on the basis of parameters of correctness and user friendliness.