Считаю, что любой самоучитель даёт больше, чем среднестатистическое учебное заведение. Тем более, что сейчас полным полно бесплатных онлайн-курсов. Смысл идти в учебное заведение есть только в том случае, если вам примерно 16-17 лет и нужно получить высшее образование.
На мой взгляд самый лучший путь, это взять какую-нибудь книгу для подготовки к экзамену от Oracle №1Z0-808, который называется "Java SE 8 Programmer I". Это самый простой экзамен на знание Java 8. Учите Java по этом самоучителю, попутно готовитесь к экзамену и в конце сдаете экзамен. Плюс в том, что ваше обучение не проходит бесследно и в конце вы получаете сертификат от Oracle котирующийся во всем мире.
Алгоритмические языки программирования созданы в разное время, и уже этот факт накладывает отпечаток на его применение в жизни.С++ создан гораздо раньше и применение его очень обширное, начиная от использования в системных вопросах работы компьютера, использования в различных глобальных информационных системах, заканчивая программированием моделирования и различных инженерных расчетных задач. Java создана для создания интерактивности Web-страниц с участием пользователя на сайте. От этих работ и целей, которыми Вы будете заниматься и зависит какой для Вас язык программирования будет лучше и какой язык принесет Вам больший заработок. Хотите посвятить себя Интернет- просторам, изучайте все что связано с сайтами HTML, Java, PHP, различные СУБД. Если же хотите заниматься специализированными программами с более сложными алгоритмами и Вы знаете, что это принесет Вам больший доход , то изучайте С++.
Если есть желание овладеть профессией программиста, то не стоит начинать с языков программирования, потому что они, как правило, программистам высшей квалификации не нужны. Нужно серьезно заняться математикой, математическим и системным анализом, что позволит овладеть знаниями и умениями для разработки алгоритмов решения различных задач управления, именно алгоритмы и являются программами, а с помощью различных языков программирования эти алгоритмы переводятся на язык, который понятен процессору, на язык машинных кодов процессора. И такие специалисты в России, как и во всем мире, на вес золота, у них достаточно высокая оплата труда, которая может быть в несколько миллионов рублей в год. Конечно, можно знать языки программирования, но эта работа менее квалифицированная. Для начала стоит продолжить учебу и получить высшее образование по специальности системного или математического анализа.
Текст, который программист вводит в компьютер чтобы программный код заработал, называется программа. Это если нужно именно слово из девяти букв. А так ещё подходят такие словосочетания, как "текст программы", "код программы" или "программный код" (или во множественном числе: программные коды).
Также некоторые на своём сленге сокращают слово "программа" до слова "прога".
В ГТА не знаю, но мне кажется, что движок на основе языка программирования C++. Создала эту игру фирма RockStar. В движок уже входит многое, поэтому это не чистый C++, а куча библиотек на нём. Говорят, что для GTA можно моды делать, так что, если интересно почитайте на форумах программистов про это. А для игр подходят те языки, какие игры вы хотите создать. Для 2D игр подходят все языки, имеющие такие функции:
1) Опрос клавиатуры.
2) Вывод на экран графики достаточно быстро.
А для 3D игр желательно ещё чтобы язык программирования имел доступ к системным библитотекам, например к DirectX и Win32API. Но это не обязательно, кто знает формулы для расчёта 3D игр может без всего этого обойтись, хотя работать это будет медленнее, так как всё будет просчитываться процессором.
На ваш вопрос ответ C++. Borland C++ Builder, либо Visual C++. Но вообще-то серьёзные 3D игры без движка не делают, так как без движка это сизифов труд.