Вообще тебе нужно определиться чем именно ты хочешь заниматься в будущем. Но могу посоветовать C++ или C, т. к. на основе этих языков созданы многие другие, также они довольны сложны, поэтому, если ты сможешь выучить их, то другие будут даваться легче. Английский не сказать, что особо нужен, разве, что искать ответы на зарубежных форумах. Нужна логика, математика, для многих задач не будет просто достаточно знать синтаксис языка, нужно будет строить алгоритмы по которым и будешь писать сам код.