Многие под программированием понимают умение писать программы на каком-то языке программирования, но это не так. Представим писателя, который диктует текст своего произведения машинистке, они оба пишут книгу, но писатель ее творит, а машинистка просто переводит последовательность слов в текст на бумаге. Но писатель может и сам написать текст, а машинистка никогда не сможет сотворить произведение. И настоящий программист должен творить, создавать алгоритмы действий для выполнения какой-либо задачи, а для этого он должен знать математику, которая вся построена на алгоритмах, на последовательности логических действия. Но такому программисту нужно знать и другие науки, потому что он творит алгоритмы для решения различных задач, например, он должен знать работу атомной энергетической установки, если создает программу для управления энергоблоками АЭС, должен знать работу станков, механизмов для создания алгоритмов управления этими механизмами. Получается, что программист должен обладать высокими знаниями во всех областях знаний, иметь высокий уровень общих знаний, чтобы иметь возможность понять суть любого вопроса. Таких программистов не очень много, их цена намного выше цены золота. Конечно, знание иностранных языков позволяет расширить кругозор, дает возможность общения с коллегами и изучать опыт специалистов других стран., но языки программирования состоят из условных фраз, которые обычно в разговоре не используются. Наконец, так случилось, что языки программирования основаны на английском языке, потому что носители этого языка оказались первыми в в разработке и практическом применении достижений электроники. Если бы первым в этой области был СССР, то весь мир писал бы программы знаками русского алфавита. А изучать нужно математику, физику и прочие науки.