How do You Learn to Program and What Languages do You Know