Personnellement, je ne déconseille pas d'apprendre C, je déconseille d'apprendre C comme premier langage. Ce qui est à mon avis fondamentalement différent. Quand on débute, écrire un algorithme c'est déjà vachement compliqué, ajouter le traitement systématique des retours de fonctions, des allocations, etc … dès le début est une difficulté qui peut larguer pas mal de débutant, pas nécessairement tous, certains s'en sortiront bien, mais à mon avis ça n'augmente pas les chances de réussite.
En revanche, connaître C est effectivement intéressant (ça peut transformer un très bon programmeur C++ en excellent programmeur C++ par exemple ).
En ce qui me concerne, je pense qu'il est important d'être capable de jongler avec les paradigmes. Connaître plusieurs paradigmes permet de mieux jauger les forces et les faiblesses de ceux-ci face à une tâche donnée et choisir au mieux.
Puis des abstractions, on en fait aussi en C, encore heureux.
Sur ce point je suis d'accord. Le plus important, ça reste d'être motivé à apprendre.