Любой язык необходим для общения людей, а в программировании английский язык не нужен. Всякая программа начинается с алгоритма решения задачи, поэтому нужно знать язык записи алгоритма, который состоит из условных знаков и набора слов. Этот язык международный, это язык математики. Да, в алгоритмах применяются английские слова, но очень часто они не несут языковой смысловой нагрузки. Но алгоритм нужно превратить в последовательность машинных команд, которые понимает процессор. Для перевода служат специальные языки программирования, но и эти языки представляет собой набор различных условных обозначений, значения которых нужно знать, но для этого не нужно знать английский язык. Просто носители английского языка стали создателями ЭВМ, они первыми создавали программы и языки программирования, поэтому использовали слова своего родного языка. Между прочим, большинство программистов очень поверхностно знают даже языки программирования и никогда не пользуются этими языками.
Разные. Не верно задан вопрос. Это как спросить, какие бывают иностранные языки?
Алгоритмические языки программирования созданы в разное время, и уже этот факт накладывает отпечаток на его применение в жизни.С++ создан гораздо раньше и применение его очень обширное, начиная от использования в системных вопросах работы компьютера, использования в различных глобальных информационных системах, заканчивая программированием моделирования и различных инженерных расчетных задач. Java создана для создания интерактивности Web-страниц с участием пользователя на сайте. От этих работ и целей, которыми Вы будете заниматься и зависит какой для Вас язык программирования будет лучше и какой язык принесет Вам больший заработок. Хотите посвятить себя Интернет- просторам, изучайте все что связано с сайтами HTML, Java, PHP, различные СУБД. Если же хотите заниматься специализированными программами с более сложными алгоритмами и Вы знаете, что это принесет Вам больший доход , то изучайте С++.
На сайте Интуит есть много курсов по программированию разного плана на русском языке. Курсы сопровождаются зачетами и экзаменами, а по окончанию обучения выдают сертификат. Это бесплатно, только сертификат надо печатать на принтере.
Асм надо изучать, чтобы иметь возможность заставить процессор выполнить именно те команды и втой последовательности, что нужно вам, а не как захотелось компилятору. В обычном программировании для ПК это обычно не нужно, но зачастую требуется при программировании драйверов и прочих системных вещей, когда требуется максимально возможная эффективность кода. Также к ассемблеру прибегают при программировании микроконтроллеров, когда программу не только нужно вместить в микроскопическую память, но и выполняться каждая ее ветвь должна за строго щаданное количество тактов.