Depende,
C++ é uma linguagem extremamente poderosa, mas extremamente difícil para principiantes. Vale a pena aprender pois é uma das mais usadas no mundo. É adequada para aplicações robustas em que a performance seja um factor importante, o exemplo típico são os jogos, mas o KDE e o Gnome (
C não C++
).
Para começar recomendo C e depois evoluir para conceitos de Orientação a Objectos e C++.
Python é uma linguagem fácil (utilizar, aprender) mas mesmo para principiantes requer empenho para aprender. Muito boa para pequenos utilitários e aplicações desktop ou para rotinas que possam ser alteradas frequentemente. Basta ver que é uma linguagem muito usada em projectos do Ubuntu ou a ferramenta de instalação do Fedora/Red Hat. Outro exemplo: a NASA e o Google utilizam-na para tratamento de dados.
Uma das diferenças mais importantes entre elas é na execução dos programas, em C++ o código é compilado e é gerado um programa em código máquina (instruções compreendidas pelo CPU) e é esse programa que é depois executado, enquanto que o Python é uma linguagem de script: o código é interpretado em tempo de execução. Existe uma espécie de compilação de python mas não gera código máquina, mas sim instruções simplificadas que aceleram um bocado o tempo de carregamento dos programas/bibliotecas.
Um exemplo curioso: o Civilization IV, um dos jogos mais populares para PC tem o motor de jogo desenvolvido em C++ com
scripting em Python facilitando o desenvolvimento de Mods para este jogo. O scriting em jogos é muito popular para desenvolver eventos, comportamento de objectos e cenários/níveis, etc... o que pode facilitar a criação de novos objectos ou expansão do jogo.
Para desenvolver em C++ podes utilizar o gcc/g++ e qualquer editor de texto, mas recomendo que uses uma IDE (ambiente integrado de desenvolvimento) Anjuta, KDevelop ou Eclipse com plugin CDT são muito bons para esse efeito.
Sendo iniciante recomendo que aprendas primeiro princípios de algoritmia e lógica de programação.
Boa sorte e bom trabalho.