Et tu considères ça comme des avantages ?
Pas à mon niveau quand ça fait 15 ans que j’ai commencé la programmation en ado amateur. Mais pour un débutant, je pense que c’en est, si.
Multiplier les couches, c’est très bien pour séparer les ddomaines, faire du code plus lisible et maintenable. Mais je ne crois pas que débuter immédiatement avec toute cette compexité soit une bonne chose pour commencer. Pour moi c’est le meilleur moyen de se planter. Je trouve qu’il vaut mieux commencer par des choses simples, et évoluer en même temps que ses outils.
Je vois ça un peu comme te jeter tout nu dans la jungle: ça fait un peu beaucoup d’un coup de devoir apprendre en même temps à connaître ton environnement, à chasser, à se construire un abri et à se défendre; et tu as pourtant besoin de tout sinon tu es vite mort.
Ou, autre image: ça ne sert à rien d’acheter un marteau à deux têtes pour apprendre à planter un clou. Par contre le marteau à deux têtes t’aidera à devenir plus efficaces quand tu sauras bien planter des clous avec un marteau normal à une seule tête.
Cela dit, je ne suis pas encore convaincu que toutes les couches sont réellement utiles. Si je suis convaincu depuis longtemps par l’injection de dépendance et les moteurs de template, j’ai encore toujours l’impression que les ORM et leurs DQL sont plutôt superflus, sauf si tu es nul en SQL ou si tu penses devoir changer de DBMS vraiment souvent.
Le gros inconvénient de PHP est qu’il a été conçu spécifiquement pour le web. Il n’est donc pas possible (en tout cas rien ne l’enseigne de cette manière)
d’apprendre PHP en dehors de cet environnement web si complexe.
C’est clair que PHp est fait pour le web et rien que le web. IL ne faut pas chercher à faire autre chose avec (certains ont essayé de faire de la GUI, mais c’était pas terrible).
C’est effectivement un inconvénient si le but c’est d’apprendre la programmation en général et si on ne sait pas trop ce qu’on veut faire; mais ici la question de base était, que conseillez-vous à un débutant en développement web. On sait ce qu’on veut faire et PHp est spécifiquement conçu pour, en ce sens c’est au contraire un avantage.
ON en revient à ces questions fondamentales qui n’ont pas eu de réponse: est-ce que l’auteur initial connaît déjà la programmation, et veut-il à terme faire autre chose que du web ou non ?
Si les réponses sont non et oui, alors on est d’accord, PHp n’est pas un très bon choix. Au contraire de la majorité ici, j’ai supposé un oui à la première question.
Ce serait comme enseigner le Python en axant l’apprentissage sur la CGI, personne ne fait ça.
Forcément, personne ne fait ça… ou en tout cas on ne fait plus ça une fois qu’on a passé un certain niveau.
L’inconvénient que je vois à python, tout comme ruby, Node.js, tout sauf PHP en fait, c’est que non seulement tu débutes en apprenant un langage, mais en plus tu dois nécessairement apprendre un framework en même temps.
Il ne faut pas s’étonner si ça paraît compliqué !
Si le but c’est de se faire un petit site perso, PHP convient largement, et on passe outre cette complexité. ON peut toujours monter en compétence plus tard.
Ah, et l’autre question bonus, tu fais comment pour héberger un site python, ruby ou Node.js ? Les hébergeurs traditionels comme OVH, Infomaniac, etc. ne font pas…
En plus de devoir maîtriser ton langage et ton framework, tu as tout l’aspect serveur dédié et/ou cloud à connaître. C’est loin d’être simple tout ça…
Le FTP c’est moyen-âgeux mais au moins c’est simple, on a rapidement quelque chose onlilne.
Dans un autre secteur, beaucoup disent qu’Angular c’est compliqué, pourquoi ?
Une fois passé le super tuto qui t’explique comment faire un truc cool en 5 minutes, tu te retrouves perdu dans la jungle avec plein de notions que tu dois apprendre à maîtriser toutes en même temps si tu veux vraiment aller plus loin.
JE crains qu’avec Django ou Rails, ça soit perçu pareil… ça le serait aussi avec Symfony d’ailleurs.