Достаточно трудно понять, как на нем писать так, чтобы было достаточно легко. И нужно много библиотек, в том числе изучать малоизвестные библиотеки. Стандартизации не хватает, тот же Boost содержит много такого, чему место бы в самой библиотеке языка, но его туда добавляют в год по чайной ложке.
Основы программирования проще изучить на чем-то более легком, где твой кривой код будет просто кривым кодом, но хотя бы будет работать.