Конечно может. Ведь преподаватель физики - это совсем не то, к чему этот человек стремился, а просто такая должность (грубо говоря - "рабочее место"), исполняя которую человек получает зарплату. А помыслы у него могут быть куда более возвышенные. А программистом быть несложно, было бы желание и умение логически мыслить. А насчёт "выдающимся", то нужно уточнить, насколько выдающимся. То ли он "выдаётся" из общей массы середняков (я их называю троечниками), то ли действительно настолько крут, что другим программистам до него расти и расти.
В ГТА не знаю, но мне кажется, что движок на основе языка программирования C++. Создала эту игру фирма RockStar. В движок уже входит многое, поэтому это не чистый C++, а куча библиотек на нём. Говорят, что для GTA можно моды делать, так что, если интересно почитайте на форумах программистов про это. А для игр подходят те языки, какие игры вы хотите создать. Для 2D игр подходят все языки, имеющие такие функции:
1) Опрос клавиатуры.
2) Вывод на экран графики достаточно быстро.
А для 3D игр желательно ещё чтобы язык программирования имел доступ к системным библитотекам, например к DirectX и Win32API. Но это не обязательно, кто знает формулы для расчёта 3D игр может без всего этого обойтись, хотя работать это будет медленнее, так как всё будет просчитываться процессором.
На ваш вопрос ответ C++. Borland C++ Builder, либо Visual C++. Но вообще-то серьёзные 3D игры без движка не делают, так как без движка это сизифов труд.
В стародавние времена один мудрый педагог пояснял мне так:
Это как "карман", в него можно положить, можно в нем хранить, можно из него взять. Больше чем он вмещает не положишь. И каждый карман для хранения определенных вещей, внутренний для документов, в брюках для монет, в жилетке для часов.
Вы не поверите, но первым в мире программистом была женщина! Это Ада Августа Лавлейс.Она составила первую программу. И кстати, существует даже такой универсальный язык программирования "Ада", названный, как Вы понимаете, в честь Ады Лавлейс.
Чтобы работать программистом в 80% случаев диплом ненужен, но при наличии знаний - получить его можно легко.
Я бы посоветовал пройти бесплатные курсы (такие есть) по основам программимрования, веб-программированию<wbr />, программированию мобильников, программированию баз данных (быть может еще чему-то). Чтобы понять что именно вам интересно. Пройти до конца в любом случае, конечно.
Потом стоит сходить на какие-то мероприятия по программированию. Типа митапов. Посотреть, пообщаться, предложить ребятам себя в качестве стажера. На такие штуки обычно ходят ребята с более-менее приличных контор, а не "рога и копыта"
Ну вот в случае успешного прохождения стажировки вам предожат работу.
Это как бы самый быстрый способ, которым можно пользоваться если у вас реально есть склонность к программированию.
С другой стороны можно пойти в техникум или ВУЗ. Разницы особой нет, но в техникуме у вас скорее всего будет больше свободного времени (хотя есть вузы типа синергии, которые тоже учат как-то странно). Тут преимущество лишь в системности подаваемых знаний, т.е. вам как программисту в любом случае нужно будет сильно расширять кругозор - научиться сеть настраивать, командной строкой пользоваться, виртуальные машины использовать, системы контроля версий и т.п. - это очень много и если вуз хороший - то 4 года учат "тому что надо" очень интенсивно. Лучше ничего быть не может. Бесплатно еще и стипендию платят. И можно в олимпиадах по тому же программированию участвовать.