Peut on interpréter par cette news que php n'est pas une bonne base au niveau de son code ?
Peut on interpréter par cette news que php n'est pas une bonne base au niveau de son code ?
Il n'y a pas besoin de cette "affaire" pour le savoir. PHP est notoirement un langage bordélique (pardonnez-moi l'expression).
PHP c'est un truc né pour des besoins pratiques précis qui n'avait pas pour vocation de devenir un langage complet. Comme Perl,il est partit sur des bases un peu branlantes du point de vue de l'élégance, mais fortes du point de vue pratique. À la différence de Perl, l'équiper derrière PHP n'a jamais vraiment cherché à "purifier", autant que possible et en conservant le pragmatisme, le langage.
La démarche est purement, strictement et uniquement pragmatique : on ajoute ce qui fonctionne et qui est efficace, que ce soit dégueulasse, incohérent ou pas.
PHP c'est l'inverse absolu de Scheme : un langage très pur, très beau, très élégant, très bien pensé, mais pas du tout conçu pour résoudre des problèmes réels (même si théoriquement il le peut ).
Scheme est beau langage qui n'est pas utilisé, PHP est un langage laid qui est trop utilisé.
À mon humble avis PHP va continuer à accumuler les incohérences, les lourdeurs à mesure que les besoins évolueront, jusqu'à ce qu'il devienne (s'il ne l'est pas déjà) un monstre à quinze têtes détesté pas tous et que tout le monde voudra absolument remplacer.
C'est là que Python entrera sans doute en jeu. Python c'est un langage fondé sur le principe : «moi GvR je sais ce dont vous avez besoin, je me moque de vos opinions sur quel est le meilleur paradigme programmationnel, je me contrefiche de la programmation fonctionnelle, je me contrefiche des processeurs multicœurs, ce dont vous avez besoin c'est d'un langage procédural qui fait de l'objet pas trop mal».
Dit comme ça c'est pas très excitant, et de fait Python n'est pas très excitant. Mais parce que le langage est excessivement restreint, limité, il reste toujours simple à appréhender (ce qui ne signifie pas qu'il facilite la vie du programmeur, attention !), et ne souffrira jamais vraiment d'obésité, quelque soit son degré de popularité.
PHP est laid, fonctionnel mais pas pour très longtemps.
Perl est extraordinairement riche, souple, et fun (et il faut voir ce que permet Perl 6 !), mais extraordinairement bordélique et difficile à appréhender.
LISP est parfaitement bien conçu, souple, simple et facile, mais extraordinairement impopulaire (la faute à ses origines de langage pour chercheurs).
Java dispose d'un écosystème extraordinaire, mais est obèse, le langage n'est pas trop vilain, mais est à bout de souffle.
Ruby est élégant, pragmatique, simple, mais pas assez populaire.
Python est simpliste, peu bandant, mais dispose d'un écosystème de qualité, cohérent, et ne risque pas de souffrire, en l'état actuel d'obésité.
C sera là encore pour trèèèès longtemps, est parfaitement documenté, et s'infiltre partout, tout le monde devant être compatible avec lui.
Pour résumer :
Perl et Php filent un mauvais coton.
Java comme langage ne tient que grâce au framework.
Ruby et LISP (scheme, CL etc.) sont très beaux, très élégants, très puissants, mais ne sont pas suffisamment populaires.
Python et C sont solides, sont des valeurs sûres, continuent sur une bonne voi, malgré leurs défauts.
@Camille_B
Ne pas confondre le langage php et son implémentation qui est faite par Zend et d'autres contributeurs. supertonic parlait bien du Zend Engine et du code source de php en général.
C'était peut être comme ça il y a fort longtemps, mais de nos jour, et ce depuis un moment déjà, il n'y a plus grand chose de "palpable" qui soit ajouté au langage php. Le PHP Group est très frileux pour les nouveaux ajouts. C'est d'ailleurs une des conséquences du bordélisme du code base qui rend incertaines les conséquences d'ajouts de nouvelles features. Je parle de feature au niveau du langage même, pas de nouvelles fonctions pour une extension X.La démarche est purement, strictement et uniquement pragmatique : on ajoute ce qui fonctionne et qui est efficace, que ce soit dégueulasse, incohérent ou pas.
Je suis très heureux de l'apprendre !C'était peut être comme ça il y a fort longtemps, mais de nos jour, et ce depuis un moment déjà, il n'y a plus grand chose de "palpable" qui soit ajouté au langage php. Le PHP Group est très frileux pour les nouveaux ajouts. C'est d'ailleurs une des conséquences du bordélisme du code base qui rend incertaines les conséquences d'ajouts de nouvelles features. Je parle de feature au niveau du langage même, pas de nouvelles fonctions pour une extension X.
Cela dit, il reste un problème, et un autre apparaît :
1) le code de base reste bordélique, et continuera, tant qu'il le sera, de donner l'impression d'un langage conçu à "l'arrache" (puisque ce fut le cas).
2) vous avouez vous-mêmes que ce fait rend "incertaines les conséquences d'ajouts de nouvelles fonctionnalités", ce qui se traduit par : "le PHP Group est très frileux pour les nouveaux ajouts".
Qu'est-ce que cela signifie ? Que nous sommes en face d'un langage toujours aussi bordélique, mais qui risque d'évoluer très lentement, voire quasiment plus car cela est rendu difficile par la base du code ?
Nous sommes exactement dans le cas que je dénonçais : un langage obèse qui file un mauvais coton et ne tient que par sa popularité (liée à une efficacité réelle).
Oui, l'évolution est difficile. Et le support natif d'unicode dans php 6 en est un exemple flagrant. Ca fait 4 ou 5 ans que le projet a démarré.
Des changement dans l'engine (le coeur) impactent quasiment toutes les extensions. Il n'y a pas de séparation de l'API entre le coeur et les extensions. Au mieux il y a un usage extensif de macros (le preproc C).
L'introduction des namespaces dans php 5.3 (qui d'ailleurs est sorti avec plus d'un an de retard) a été le fruit de plusieurs années de débats, de patches et problèmes a n'en plus finir...
Disons que d'un point de vue utilisateur, php a certes de sérieux problèmes de convention de nommage au niveau des fonctions et des classes ainsi que de fortes lacunes quant à une homogénéité de l'ordre des paramètres dans les fonctions (penser aux array_* et str*), mais il n'en reste pas moins correcte à l'usage. Les utilisateurs n'ont pas à savoir que le code source de php est bordélique. php fait son job.
Personnellement, je ne trouve pas php obèse (le langage). Je trouve le langage chétif à vrai dire. Comme il dérive du C, on pourrait s'attendre à une compatibilité au niveau de la grammaire. Mais en fait php est beaucoup plus limité. Impossible par exemple de déréférencer automatiquement le retour de fonctions qui retournent un array ( blah()[] ). Pareil pour les fonctions anonymes ( $blah()() ).
Tout à fait.Disons que d'un point de vue utilisateur, php a certes de sérieux problèmes de convention de nommage au niveau des fonctions et des classes ainsi que de fortes lacunes quant à une homogénéité de l'ordre des paramètres dans les fonctions (penser aux array_* et str*), mais il n'en reste pas moins correcte à l'usage. Les utilisateurs n'ont pas à savoir que le code source de php est bordélique. php fait son job.
Vous avez raison, obèse n'est pas le mot. Le langage est en effet chétif, mais la bibliothèque standard est inutilement complexe pour les raisons que vous avez évoquées.Personnellement, je ne trouve pas php obèse (le langage). Je trouve le langage chétif à vrai dire. Comme il dérive du C, on pourrait s'attendre à une compatibilité au niveau de la grammaire. Mais en fait php est beaucoup plus limité. Impossible par exemple de déréférencer automatiquement le retour de fonctions qui retournent un array ( blah()[] ). Pareil pour les fonctions anonymes ( $blah()() ).
J'y suis peut-être allé un peu fort sur PHP. C'est un langage qui fonctionne globalement très bien.
Pourquoi tant de haineIl n'y a pas besoin de cette "affaire" pour le savoir. PHP est notoirement un langage bordélique (pardonnez-moi l'expression).
.......
PHP est laid, fonctionnel mais pas pour très longtemps.
Perl et Php filent un mauvais coton.
C'est toujours la même histoire, la même rengaine, et ça, dans quasi tous les forums de développement.
Vous n'en avez pas marre de répéter tout le temps la même chose.
Désolé pour le troll, mais ça commence à devenir un peu "rasoir" de lire tout le temps la même chose, et ça partout.
Longue vie à Php
Rendez-vous dans 10 ans
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
De la haine ? Non. J'aime php pour un certain nombre de raisons (simplicité, pragmatisme), et perl pour encore plus de raisons (fun, riche etc.)Pourquoi tant de haine
C'est que c'est vrai mon bonhommeC'est toujours la même histoire, la même rengaine, et ça, dans quasi tous les forums de développement.
Soyons franc, à part LISP, aucun langage n'est parfait
[FINDUTROLL]
edit (cf.supra) : oups, désolé, je m'arrête là !
Je rappelle que le sujet principal de la discussion c'est le développement de php 6 (enfin, la suspension dudit développement) et non les mérites et démérites de PHP comparativement à d'autres langages.
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
Oui désolé, mais cette propagande me fatigue à la longueEnvoyé par Celira
La dessus, j'ai lu cette annonce, la news de RL, et je n'ai pas remarqué aussi qu'il était question de mettre Php6 dans un carton.
Bien au contraire, RL n'a fait qu'affirmer de l'intérêt de l'unicode, de son implémentation, et il est apparemment plus question de savoir comment le faire, quitte à repousser l'échéance vu l'ampleur du travail.
A mon sens, ce n'est que partie remise.
Non, Php n'est pas mort ...
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
Mais alors, quel est le sujet exactement ?
@Camille_B
Il est très amusant de lire une telle haine envers le PHP, basé sur des arguments, certes tangibles mais complètement décontextualisé.
Je voudrais comparer de l'actionscript et du javascript... L'actionscript cay mieux on peut faire tourner des ronds...$Comparé le PHP et le scheme, c'est comme comparé une chèvre et une table (j'exagère...).
Le php c'est bien pour pleins de raisons, la facilité d'apprentissage, de déploiement. Même lors de l'utilisation des GUI, le PHP est portable.
Ton argumentation est vraiment basée sur des comparaisons scabreuses...
Et dire que le java est à bout de souffle oui oui, bien-sur... c'est pour ça que google (en qui on peut faire confiance, à moins que tu trouves qu'ils sont obèses et à bout de souffle...) s'en est servi pour son Android.
Tu sembles avoir une bonne culture générale sur les langage de programmation, mais... je ne sais pas, peut être que le PHP t'as violée quand tu étais jeune...
à partir du moment où la team est dans la souffrance à chaque mise à jour un peu majeure.
Le langage est obèse, où la team dépassé, mais cela revient au même.
Et sincèrement ce qu'ils ont fait entre php5.2 et php5.3 dénote d'une véritable souffrance à implémenter les demandes de certain acteurs dans l'état du projet.
Ce qu'ils viennent de faire concernant php6 n'est qu'une annonce de plus en ce sens, et je me dit que si il y eu plus de grosses mises à jours il aurait eu plus de déconvenues.
Moi je suis assez d'accord avec camille_b qui ne semble pas être dans le faux, et qui ne semble pas fouetté à tord les travers de ce langage.
auto censuré
Moi je veux bien qu'on parle du développement de php6, mais que peut on en dire puisque son développement est abandonné, d'autre que il y a un problème dans son code ? c'est pas un commentaire sur le developpement de php ?
Désolé d'avoir participer.
Ce topic vire au cauchemar, limite insultant même.
Apprenez donc d'abord à lire, peut être arriverez vous un jour à avoir un sens critique.
Envoyé par Celira
J'ai un super broyeur ... impossible de la main sur la corbeille. Mais où est elle ?
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
@cryde :
Si vous m'aviez bien lu, vous sauriez que je ne hait pas PHP, je le répète même... deux messages plus haut.Il est très amusant de lire une telle haine envers le PHP
Si vous m'aviez bien lu vous sauriez que je ne parlais pas de la JVM et du framework, mais de Java le langage, et uniquement le langage. Et à mon avis, ce qui intéresse Google c'est autant la JVM et son framework que le langage.Et dire que le java est à bout de souffle oui oui, bien-sur... c'est pour ça que google (en qui on peut faire confiance, à moins que tu trouves qu'ils sont obèses et à bout de souffle...) s'en est servi pour son Android.
Enfin, qu'importe, là n'est pas le sujet !
Bonjour à tous,
Je pense que les problématiques de délais laissent entrevoir un problème de fond plus important.
En partant du constat qu'Il existe à priori deux grandes communautés d'utlisateurs de PHP, les bidouilleurs et les développeurs.
Communauté de bidouilleur drainée par les facilités du copier coller qui marche
et les nombreux outils type CMS où le moindre power user peut monter sa web agency, ceux qui font la démocratisation, la promotion et la multiplication des services informatiques à base de P.H.P..
Communauté de développeur, en demande de professionnalisation de la technologie et des outils, en poussant à titre d'exemple le Zend Framework, les tests unitaires, les nouvelles fonctionnalités du type support unicode, espace de nom, API de service, parce qu'ils ont un réel besoin de ces outils pour simplifier et rendre plus fiable leurs dévelopements pour des demandes de plus en plus complexes.
De là nait une dichotomie profonde dans la communauté PHP.
La première communauté fait la promotion de la technologie pour sa simplicité et son efficacité, la deuxième veut la professionnaliser, la rendre efficace et prouver sa maturité sur des projets de moyenne ou grande taille.
Il ne faut pas oublier Zend qui commercialement vends son expertise, ses solutions d'intégration, ses partenariats, son éditeur et qui clairement
favorise la deuxième comunauté.
Hors en favorisant une des communautés, on défavorise forcemment l'autre car il est à mon sens impossible d'avoir une technologie de base pour grand projet demandant un niveau d'expertise certain qui dans le même temps reste à porter des néophytes.
En faisant le choix du statut quo, PHP restera vu comme une technologie pour petits projets.
Au contraire en "industrialisant", même si je n'aime pas ce terme, c'est celui qu'on rencontre dans la littérature, on referme la communauté avec un PHP qui serait un sous-produit de C# et de Java mais avec dix ans de retard, pleins de bugs, des performances dégradées, des dizaines de bibliothèques en moins et heureusement de manière positive un hébergement moins onéreux, si tant est qu'on puisse qualifier de viable une application boguée et lente tant qu'elle ne coûte pas chère.
Les certifications ZCE et Framework sont là pour trier les appartenances à une des communautés ou l'autre, ce qui en terme de ressources humaines est déjà réglé.
La solution à mon sens serait, dans la mesure où l'importance et l'utilisation du fichier de configuration de PHP commence à être comprises par l'ensemble de la communauté, de proposer deux PHP en un, où les fonctionnalités avancées seraient activées dans le fichier de configuration par les utilisateurs quand ils en auraient besoin.
strict_type = On
namespace = On
unicode = On
On pourrait d'ailleurs proposer d'autres modèles de fichier de conf par défaut :
devPowerUser
devExpert
devCertifiedZCE
devIDontWantToKnowHowButMakeItWorks
ProdIUseMamboChooseTheConfForMe
Et que les applications fourniraient également en plus de leur code leur propre fichier de conf de prod et de dev, ce qui dans la pratique est presque fait avec les assistants d'installation qui vérifient certaines directives de configuration.
Les rétissants me répondront surement en objectant que cela risque d'être un gros bordel en terme de déploiement, j'aurais tendance à dire que pour beaucoup de gens c'est déjà le cas quand ils installent une application.
Pour finir, il me paraît plus simple de faire fonctionner un langage en mode "dégradé" pour les débutants et faire en sorte que l'analyseur ignore certaines instructions plutôt que de former la totalité des bidouilleurs pour en faire des développeurs, surtout que certains ne voudront pas pour diverses raisons que je ne vais pas prendre le temps d'évoquer et que les bidouilleurs de PHP, qui ont tout mon respect, sont à mon sens la force de PHP et qu'en les abandonnant sur le chemin de l'industrialisation, PHP perdrait en premier son âme, puis sa communauté et enfin son marché.
Au passage, comme ce post est un lien dans la newsletter de mars, je tiens à saluer tous mes apprenants à qui je n'ai pas pu dire au revoir et leur souhaite un bon courage pour leurs certifications et j'espère pouvoir le faire de vive-voix quand les choses se seront un peu calmées.
Xavier
Ce serait une solution que de multiplier les options, mais si c'est pour achever les perfs...
Je trouve étrange ce choix de l'utf-16 pour php6. le c va plus naturellement vers l'utf-8. Et puis se dire que la mémoire occupé par php va doubler par rapport au php 5 dans des pays utilisant de l'iso-8859-x est vraiment étrange. Pas très écologique de pousser l'utilisateur à l'achat de ram. Aussi, quand on sait que linux a fait le choix d'utf-8 pour cela mais aussi pour la compatibilité naturel de l'iso-8859-x avec utf-8.
L'arrêt du développement est-elle motivé par une remise en cause du choix de l'utf-16 ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager