Если у вас есть опыт в области программирования, вы хорошо знакомы с ООП, понимаете принципы структурного программирования и имеете аналитический склад ума, позволяющий вам без особого труда придумывать алгоритмы для реализации разных программ, то вам стоит определиться с областью в которой вы хотите развиваться, уже позже выбирая язык программирования.
Лучше всего, если у вас есть общий опыт программирования, обучаться языкам с помощью документации и самостоятельно. Есть множество сервисов, как geekbrains или skill-box, но от них не будет много толку, если вы действительно хотите научиться программировать, т.к. большинство этих сервисов дают лишь поверхностные знания, бегают "галопом" по материалу, и не ориентируются на каждого человека конкретно.
Лучший сценарий обучения программированию и конкретным языкам, по моему мнению, это:
Научиться аналитически мыслить, придумывать алгоритмы, неплохо знать математику и английский язык.
Познакомиться с ООП, изучить принципы структурного программирования.
Выбрать сферу, в которой вы хотите развиваться, и затем выбрать конкретный язык программирования.
Всему нужно учиться самим, и добиваться тоже самостоятельно. Это гораздо полезнее.