Преимущества - для любой ОС есть транслятор. То есть, язык мультиплатформенный. Модный, достаточно универсальный.
Недостаток - не умеет компилировать программу в бинарный код.
Первый язык программирования, как бы он не назывался, по своей сути был чисто машинным языком. Т.е. программы писалась на языке, понятном процессору, что исключало транслятор. Где-то 1820-е годы. Черльз Бэббидж и Ада Лавлейс.
А уж далее пошли различные автокоды 1:1, т.е. те же самые машинные языки, только их команды в кодах заменялись для удобства использования человеком символьными командами. Вот тут уже стали вовсю использоваться трансляторы с автокода в машинный язык, хотя на первых порах вполне себе хватало трансляторов-интерпр<wbr />етаторов.
Программирую на Python 3.5 и С++14. Изредка приходится писать писать на AVR assembler, хотя ассемблер я не люблю, но приходится с ним общаться, когда идёт битва за скорость прототипа. В иное время я предпочитаю с ним не связываться. И если скорость для данной задачи микроконтроллера не совсем уж сильно не важна, то я предпочту плюсы.
С++ -- для меня это язык общего назначения. Программы на нём быстрее, чем на Питоне, код строже, поэтому некоторые ошибки ловить проще.
Питон я использую как язык для научных вычислений. На нём программы пишутся быстро и сравнительно просто. Код можно быстро поменять и практически на лету вносить изменения. Опять же, в коде можно позволить себе некоторые "вольности", как, например, присвоение одной переменной сначала строки, затем числа, а затем и функции. К этому прибавляется обилие библиотек "на все случаи жизни".
Можно рассматривать ссылку, как вариант указателя. Ссылки более безопасны, но менее мощные, из-за своих ограничений.
Например, ссылка не может быть не инициализированной или нулевой - значит нельзя получить ошибку разыменования нуля.
Пример
int a = 5;
int &b = a;
printf("%p %p", &a, &b);
a - переменная целочисленного типа со значением 5.
b - ссылка на переменную целочисленного типа.
Код выведет один и тот же адрес переменной.
Язык хорошо работает с математическими вычислениями, поэтому его начали активно использовать в Machine Learning и AI.
Это в профессиональной среде, а для новичков язык хорош тем, что учится легче, чем Java и другие ООП-ориентированные языки программирования. С Python легче стартовать в программировании.
Но на мой взгляд, в нем не хватает скобочек :) Но это уж сугубо личное мнение.