php adulte ?

Petit nouveau ! | 2 Messages

04 mai 2016, 17:40

Quand est-ce que php deviendra un langage adulte ?
Un langage adulte est un langage qui a atteint sa maturité, et évolue par la reprogrammation ou l'évolution du code de ses fonctions et non pas par des suppressions de fonctions et l'ajout de nouvelles.
Des langages adultes vivent depuis près de 40 ans sans qu'on soit obligé de modifier les programmes tous les ans ou tous les deux ans, car les fonctions restent identiques dans leur syntaxe, mais la sécurité, les fonctionnalités ou les performances sont améliorées dans le langage lui-même ou plutôt dans ses interpréteurs/compilateurs.

L'évolution du php se fait par des remplacements qui exigent de revenir notamment sur la programmation des sites web de façon importante.

Je viens de vivre une situation où le passage à une dernière version de php a nécessité plus de 30 mois-hommes de développement sans aucun valeur ajoutée pour le site. Donc une dépense de plusieurs dizaines de milliers d'euros pour rien.

La raison de ces évolutions de php par ajouts/suppressions semble être d'assurer du travail aux programmeurs.

Y a-t-il quelqu'un dans l'organisation php susceptible d'amener ce niveau d'adulte pour le langage php ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9037 Messages

04 mai 2016, 20:18

PHP est un langage mature, mais c'est un langage de haut-niveau et surtout un langage vivant.
La technologie évolue, et le web encore + vite.
Il serait dangereux que plus rien ne bouge et qu'on ne corrige pas les erreurs du passé.
Je viens de vivre une situation où le passage à une dernière version de php a nécessité plus de 30 mois-hommes de développement sans aucun valeur ajoutée pour le site. Donc une dépense de plusieurs dizaines de milliers d'euros pour rien.
C'est toujours plus simple d'accuser la technologie que de se remettre en cause.
Sans même connaitre ton projet, je peux affirmer que le directeur/chef de projet qui a piloté ton projet doit être viré immédiatement.
Et désolé si c'est toi.

Un projet de 30 mois-homme sans aucun avantage client, c'est soit que vous payez vos erreurs passées ou votre manque d'anticipation, soit que le projet est très très mal géré.


:arrow: Pour éviter que ton sujet parte en débat stérile/trollesque que je serai obligé de fermer, donne nous des exemples concrets des dysfonctionnement que tu décris et qui te permettent d'appuyer tes propos.
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 2 Messages

05 mai 2016, 18:51

Oui, php est un langage mature, de haut niveau et vivant.
Oui, la technologie évolue et le web encore + vite. Il y a quarante ans que c'est comme ça.
Oui, il serait dangereux que rien ne bouge.
Par contre, ce que je mets en cause ici, c'est la façon choisie par php pour évoluer.
Ce qu'on appelle depuis trente ans "les langages adultes", ce sont les langages qui évoluent sans cesse, en ajoutant de nouvelles fonctionnalités en améliorant les performances, etc. mais en le faisant de façon à maintenir ce qu’on appelle la compatibilité ascendante.
C.a.d. que chaque nouvelle version du langage n’oblige pas à modifier le code des programmes existants. Ce sont les nouvelles versions des fonctions qui intégrent les anciennes.
Presque toutes les grandes entreprises ont des milliers de programmes qui tournent depuis 10, 20 ou 30 ans sans aucune modification du code.
Php a choisi de rendre invalides certaines fonctions et de les remplacer par d’autres, ce qui oblige à modifier le code des programmes existants. En cela, php n’est pas encore un langage adulte.
Le projet dont je parle n’est qu’un exemple parmi d’autres. Il a été parfaitement géré, en respectant toutes les règles de php 3. La suppression de fonctions dans php 5 a entraîné cette charge de travail dans les centaines de milliers de pages de code.

Il ne s'agit donc pas d'un débat stérile, mais d'une réalité qui coûte très cher aux entreprises.

ViPHP
ViPHP | 928 Messages

05 mai 2016, 23:56

Il ne s'agit pas d'une réalité, mais de votre réalité à travers votre expérience. Je suis entièrement du même avis d'Arthur, des erreurs ont été causées de votre côté, et vous devriez avant tout remettre en question votre organisation avant de remettre en cause tout un langage.

L'informatique est un métier qui évolue, si vous n'évoluez pas vous êtes mort, c'est un fait. Si vous devez migrer un dinosaure en PHP3 (époque à laquelle PHP n'était pas du tout mature) vers du PHP 7, vous avez un sacré soucis : pourquoi mettre à jour la version si jusque là tout fonctionnait bien ?

PHP 4 est sorti en 2000 ! C'est à dire que votre projet a plus de 16 ans, c'est dingue de voir votre discours alors que le web a énormément évolué durant ces 16 années. En 2000 internet était à peine utilisé.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9037 Messages

06 mai 2016, 01:39

Le projet dont je parle n’est qu’un exemple parmi d’autres. Il a été parfaitement géré, en respectant toutes les règles de php 3.
:lol:

Petit rappel historique : si vous êtes resté en 2000 depuis 16 ans, ça voudrais dire que tous vos ordinateurs sont encore en Windows 98 (Windows XP n'est sortie qu'en 2001), et que vous utilisez comme navigateur Internet Explorer 5 (Firefox et Chrome n'existaient pas)... :-D


Vous avez donc un projet web qui n'a pas évolué depuis 16 ans que vous avez quasi-entièrement réécrit pour faire exactement la même chose, sans aucune nouveauté fonctionnelle en 2016... et ça vous a couté 30 mois-homme ! :-D
Quoiqu'il en soit, si vous avez développé un projet en PHP3 en 2000 en estimant qu'il devra fonctionner sans évolution pendant 16 ans, il est évident que vous avez fait une erreur.

:arrow: Donne nous les détails de ton projet, ça m'intéresse de comprendre le contexte et comment sont fait vos choix technologiques !
Quand tout le reste a échoué, lisez le mode d'emploi...

ViPHP
ViPHP | 3292 Messages

10 mai 2016, 08:31

Concretement on parle de remplacer ereg et eregi par des preg, de corriger des problèmes de variables globales, et de ce genre de choses, si c'est un gros projet, il y a aussi à retaper le modèle objet, étant donné que les public protected private n'existaient pas, que __construct n'était pas le constructeur mais qu'il fallait utiliser le même nom pour la classe et pour une fonction.

Même avec un projet en php3 vers php7 s'il avait été bien codé à la base, c'est un boulot qui se compte en semaine au pire, même mal codé aucun projet ne peut nécessiter 30 mois homme pour être corrigé. Ce dont vous avez besoin c'est de meilleurs développeurs, et de meilleurs chefs de projet.

Ceci étant dit, PHP est un langage jeune, encore aujourd'hui, il opère une mutation depuis plusieurs années pour imiter les langages plus "objet" comme Java (belle erreur d'après moi m'enfin), et il finit de déprécier les erreur du passé (les fonctions citées plus haut), et continue d'intégrer les technologies trendy comme par exemple mongo. La dernière version met l'accent sur les performances (php7) c'est aussi selon moi la première version d'une ère de stabilité dans la vie de php, il n'y a en effet plus besoin d'en rajouter (maxwell qualité filtre quoi) donc quand est ce que php deviendra mature? Ben maintenant, php7 tu écris ton code dans 16 ans je suis à peu prêt persuadé que ça sera encore compatible (avec php 64 parce que bon php va bien finir par partir en cacahuète avec les numéro de version comme tous le monde)
Fait du php depuis que ca existe ou presque :)