Суть в следующем:
C/C++/Assembler - это низкоуровневые языки (например там нужно выделять память под объекты и не забывать её освобождать)
Поэтому всегда видно какой из алгортим, чего стоит для железа.
На высокоуровневых языках - это все скрыто.
И для понимать, что в реальности происходит, и писать более оптимальный код с точке использования ресуросов, нужно иметь опыт по C/C++/Assembler.
Тоесть изучать только синтаксис C/C++/Assembler нет смысл, также нужен опыт.
В дальнейшем это сделает вас более квалифицированным специалистом.