Pour commencer, pourquoi pas
FreeBASIC? C'est libre, portable entre systèmes d'exploitation (mais malheureusement seulement pour x86 32-bits), et le bon vieux BASIC est vraiment bien fait pour débuter. Et ensuite, franchement, je conseille l'assembleur avant le C, ça aide à comprendre les bases du C (et de même, le C avant le C++ parce que c'est la base). Si on vient directement du BASIC, on a beaucoup de mal à comprendre les pointeurs. (J'ai vraiment été frustré en voulant commencer le C en venant du BASIC, j'ai trouvé l'assembleur 68k beaucoup plus simple à l'époque, et maintenant, je m'en sors très bien avec le C et le C++.)