The Influence Of Human Factors On Programming Performance: Personality, Programming Styles And Programming Attitudes