Cela dépend de plusieurs critères:
- du temps et de l'énergie disponible
- de l'usage ( un type de projet, connaître et gérer son système, apprendre les bases etc.. )
- peut-être aussi du style personnel ( certains sont plus doués pour les langues orientales, le latin , l'anglais, ou le verlan ! )
Pour ma part, totalement autodidacte, limité par l'âge et une profession très absorbante, et par une paresse croissante, j'ai beaucoup appris en tombant "par hasard" sur Perl, puis par nécessité sur bash.
Avec 2 nuances:
j'ai commencé à m'initier avec
basic puis
pascal sur un win3.1 dans les années 80 ( 85..92),
je pense que la qualité de l'écriture ( et des traductions ) et les qualités didactiques des auteurs jouent aussi un grand rôle, ainsi qu'une grande patience eu égard à mes très faibles performances.
Pour des projets web, il est classique et sans doute inévitable de connaître
PHP et
javascript, mais ce n' est pas mon cas.
Pour la facilité et l'efficacité d'un langage objet, il semblerait que
python ait la cote ( mais il y en a d'autres )
Les
assembleur,
C ada et autres nécessitent beaucoup de travail et me semblent réservés à des pro, car tout ce qui peut servir aux autres a déjà été programmé et plus ou moins intégré aux autres langages ( impression de béotien.. )
Pour ma part, je persiste à cultiver mon
Perl, car très polyvalent ( pour le style ) et proche d'un langage naturel ( sauf les expressions régulières, qui sont aussi l'une de ses forces ), et
bash pour des scripts simples ( automatisation de tâches, tâches complexes en ligne de commande etc .. )
Il me semble que, outre les programmes de compétitions en C, les langages les plus courants utilisés sur ma machine ( dans les paquets Debian ) sont en
Perl en
bash ou
sh posixly correct, et de nombreux logiciels sympas en
python, simple impression à vérifier.
Mais pour moi, l'essentiel c'est le fun, le plaisir d'apprendre, de poser et tenter de résoudre des problèmes. Pour l'efficacité, je laisse la parole aux autres.

PS
autres critères: ( entre Python, seulement objet et Perl qui mélange les 2 approches, peut-être )
Ci dessous les titres de paragraphe de: "De l'art de progammer en Perl" Damian Conway (trad: Philippe Bruhat ,Jérôme Fenal et Jean Forget ) ed O'Reilly p326-328, "Critères pour choisir l'orientation Objet":
Citation:
"Lorsque vous décidez d'utiliser ou non l'orientation objet, cherchez les éléments du problème ( ou de sa solution ) qui pourraient suggérer que l' OO est adaptée.Par exemple, l'orientation objet peut être une approche correcte dans l'une de ces situations:"
- La taille du système à développer est importante ou susceptible de le devenir
-Les données peuvent d'agréger en structures de manière évidente, surtout s'il y a une grande quantité de données à agréger
-Les différents types d'aggrégats de données s'agencent dans une hiérarchie naturelle favorable à l'utilisation de l'héritage e du polymorphisme
-Vous devez appliquer de nombreuses opérations différentes sur un élément de données
-Vous devez appliquez de nombreuses opérations analogues sur des données apparentées avec toutefois de légères variations
- Il est probable que vous deviez ajouter de nouveaux types de données ultérieurement
- Les interventions typiques entre les pièces de données peuvent être représentées par des opérateurs ( peut-être spécifique à Perl .note de Joseph Tux)
- L'implémentation des composants individuels est susceptible de changer au cours du temps
-La conception du système est déjà orienté objet ( = ce n'est pas la liberté du programmeur . note de Joseph Tux )
-De nombreux autres programmeurs utiliseront vos modules ( Un module Perl, c'est une bibliothèque . note de Joseph Tux)