Программист просто должен уметь программировать! Знать принципы построения алгоритмов, блок-схем, методы программирования. Ну и соображалку иметь. А конкретный язык программирования выбирается уже из поставленной задачи и возможностей языка. Выучить же основные операторы любого языка - дело пару дней. Однако, согласись, глупо выбирать язык "Ассемблер" для составления элементарной проги, высчитывающий корень квадратный ))))