1. Общие принципы и подходы в программировании одни и те же. 2. Существуют разные парадигмы языков программирования, а также особенности языков программирования, которые присущи разным языкам. Поэтому да. Ты осваиваешь не конкретный язык, а программирование в целом. Скажем, ты можешь освоить объектно-ориентированное программирование в c#, и тогда c++, java будет изучать проще.