Le PHP est souvent considéré comme un "sous"-langage, la faute à sa réputation d'être un langage web.
Pas seulement. De mon point de vue, cela vient surtout de la conception catastrophique (valeurs par défaut de la configuration des registers_globals, magic_quotes, ..., invention de l'inclusion distante qui n'a jamais eu d'autre application concrète que de rooter un serveur, etc...).
D'ailleurs, des scripts PHP peuvent facilement remplacer des scripts Bash
Je ne peux pas ne pas me sentir visé dans l'histoire. Mais il y a deux raisons très simples pour que PHP ne remplace pas bash. D'abord parce qu'on aura toujours besoin d'un shell (ne serait-ce que pour déplanter un serveur qui démarre en mode single parce qu'il y a problème quelque part), ensuite parce que lorsque l'on a besoin de quelque chose de plus évolué, on a autre chose, perl et python par exemple (j'ai un SCO Open Server qui a plus de 10 ans et qui possède un interpréteur Perl). Je n'ai pas rencontré, à ce jour, de système qui offrait un interpréteur PHP dans son installation de base. C'est tout simplement inutile.
Il est également compilable (je n'ai jamais essayé, apparemment c'est pas top),
Dans les solutions que j'ai vu, le bytecode du script est embarqué dans un exécutable contenant une VM (interprétation du bytecode) et les libs standards. Le meilleur moyen de transformer un script de 3 ko en exécutable de 5 Mo. Et quand bien même il pourrait être compilé en natif (ce qui permet au passage de casser la portabilité), quel avantage conserve-t-il par rapport à un langage compilé ?
A mon avis c'est un bon langage pour rentrer dans la programmation, mais il faut vite se tourner vers un truc plus poussé si on veut programmer à fond.
J'ai la faiblesse de penser que l'initiation à la programmation doit se faire dans un langage abordable, mais aussi strict. Par exemple, quelque chose comme Pascal ou Ada. Il est toujours plus facile de basculer alors sur des langages plus laxistes, en conservant les bonnes habitudes prises au départ.
PHP a ses limites. Tu PEUX keylogger sous certaines conditions.
Marmotte, papier alu, toussa.