Le PHP aurait été créé par un « faux programmeur »
Et serait aussi passionnant qu'une « brosse à dents », déclare son inventeur

Le , par Gordon Fowler

0PARTAGES

2  0 
Le PHP a-t-il été créé par un programmeur qui déteste développer. Et qui en plus le fait mal.

C'est la question que l'on peut se poser quand on lit les déclarations de son inventeur (qui précise : "je n'ai pas créé le PHP que l'on connait aujourd'hui […], j'ai simplement été son premier développeur").

Il faut dire que le danois Rasmus Lerdorf est expert en formules provocantes.

Il avoue ainsi "je n'avais absolument aucune idée sur la manière d'écrire un langage de programmation, j'ai juste posé pierre après pierre".

Une explication qui se corse quand on la met au regard de cet autre (vrai-faux ?) aveu : "je n'aime pas programmer. J'ai créé cet outil pour programmer moins et pour pouvoir réutiliser le code".

Rasmus Lerdorf revient souvent sur cette idée qu'un des langages de programmation les plus populaires a été imaginé par une personne qui n'aime pas ça : "Il y a des gens qui aiment programmer. Je ne comprends pas comment ils peuvent aimer ça". Et surtout par une personne qui n'en fait qu'à sa tête : "tous ces trucs que vos profs vous ont dit d'utiliser, moi j'en ai rien à foutre (don't give a crap)".

Bref, "je ne suis pas un vrai programmeur. Je tente des choses jusqu'à ce que ça marche et après je continue. Les vrais développeurs diraient "ouais, ça marche, mais y'a des memory leaks dans tous les sens. Peut-être qu'on devrait corriger ça". Moi je redémarre juste Apache toutes les 10 requêtes".

Et quand on lui demande ce qu'il pense de sa création, il répond, (faussement ?) blasé, que "le PHP est à peu près aussi excitant qu'une brosse à dents. Vous l'utilisez tous les jours, ça fait ce qu'on lui demande de faire, mais c'est un simple outil. Alors quoi ? Qui voudrait lire des articles sur les brosses à dents ?".

A part les dentistes, s'entend.

Source : Les citations sourcées de Rasmus Lerdorf

Lire aussi :

Les rubriques (actu, forums, tutos) de Développez :

PHP
Langages
Développement Web

Et vous ?

Que pensez-vous de cette comparaison entre PHP et une brosse à dents ?
Peut-on vraiment être un piètre développeur et créer un langage ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de guilhem91
Membre régulier https://www.developpez.com
Le 21/04/2010 à 16:59
Bonjour

À mon avis, une chose est certaine : il n'est pas possible de créer un langage de programmation quand on n'y connaît rien. Rasmus Lerdorf cherche plus ici à faire de la provocation qu'autre chose. Lui, un piètre développeur ? Ça m'étonnerai. Peut-être n'était-il pas un expert, mais forcément il devait déjà programmer un peu.

Et puis la comparaison avec la brosse à dents... Ça n'a rien à voir. Certes, PHP n'est qu'un outil, mais certains (dont moi) programment en PHP plus par passion qu'autre chose : ça existe. J'ai rarement vu des passionnés du brossage de dents...

Pas très constructives, les remarques de Rasmus Lerdorf. Comme ça a été dit, il veut plutôt jouer les provocateurs.
1  0 
Avatar de beekeep
Rédacteur/Modérateur https://www.developpez.com
Le 22/04/2010 à 12:00
Citation Envoyé par mekal Voir le message
pour en arriver la il faut avoir ete formé car c'est incomprehensible pour celui qui n'a jamais programmé
il ne reste plus qu'a le mettre en latin
il faudrait que tous les langages s'écrivent comme en windev ? (du français presque ..)

moi j'écris pas du code de façon à ce que mon boulanger puisse le maintenir.
1  0 
Avatar de Sowa
Membre du Club https://www.developpez.com
Le 26/04/2010 à 12:58
J'entrerais dans ce débat en vous collant ici juste une citation tiré de du livre PHP IN ACTION. Désolé pour ceux qui ne seraient pas à l'aise avec l'anglais. Je pense qu'il a tout dit.

One thing I like about PHP is the attitude of the people who use it. PHP has always
been a pragmatic solution to real problems. It’s only natural that PHP programmers
tend to be pragmatic rather than dogmatic, humble and open rather than conceited
and pretentious. They like PHP, but they know that there is no perfect technology, no
perfect programming language. Everything has its pros and cons, its advantages and
disadvantages. PHP programmers tend not to start language wars. That’s fortunate;
often arrogance on behalf of a programming language—or any other software—is
based in ignorance. You know all the things your favorite language can do, and you
don’t know how to do the same things in other languages. It’s easy to assume that
these things can’t be done. But that’s rather like assuming that your car is the only one
in the universe that has air conditioning.
Finding faults with a programming language is easy. If it lacks a feature you desperately
feel you need, you can use that as a reason to put it down. If it has a feature
you think is totally unnecessary, you can frown upon that. PHP 4 had no visibility constraints
such as private methods; this of course was a Bad Thing to programmers who
were used to languages such as C++ and Java. PHP 5 has visibility constraints, and I'm
sure there are others—who are accustomed to other languages that lack these features—
who find this appalling.
The fact is you don’t know how a feature or the lack of it works in real life until
you’ve used it for a while. PHP has been criticized for having too many functions, in
contrast to Perl, which has fewer. I’ve used both languages extensively, and I happen
to prefer the way lots of functions are easily available in PHP. Someone else may feel
differently, but the most important point is that the difference is much less dramatic
than some people think. Language wars are too often fought over differences that may
have a marginal impact on overall productivity.
1  0 
Avatar de bens9
Candidat au Club https://www.developpez.com
Le 29/04/2010 à 18:24
Salut les pros, puisque vous parlez des programmeurs du dimanche en voici un qui amène sa fraise
Moi je dis merci Rasmus quand je vois tout ce que j'ai réussi à faire avec PHP (+Mysql) : une dizaines de sites web (perso et pros) dont certains ont eu beaucoup de succès dans leur domaine, des applis perso et des développements pour le boulot (simples mais qui nous ont économisés des dizaines de milliers d'euros).

Les avantages énormes de PHP sont :
- la simplicité pour démarrer qui permet de faire concrètement des choses simples sans pratiquement rien connaitre de la programmation mais avec une progression possible et relativement facile vers des choses complexes.
- les ressources colossales qu'on trouve sur le web en matière de tutoriels, de forum, de code voire d'applications complètes.
- la gratuité du language lui-même et du serveur local, le très faible coût d'hébergement et son coté universel chez les hébergeurs
- l'association efficace avec Mysql (et maintenant Postgresql)

Les défauts de PHP ne pèsent pas lourds par rapport aux avantages évoqués ci-dessus.
De toutes façons je pense qu'on peut faire du très bon boulot avec PHP et qu'on peut faire du code horrible et inopérant avec JSP ou ASP (j'ai des exemples à la pelle... tous développés par des programmeurs dits "professionnels".

Cela dit par rapport à ses débuts je pense qu'il y a de moins en moins de programmeurs débutants/amateurs, ceux-ci s'orientant directement vers des solutions type CMS (Joomla, Drupal,...) qui n'existaient pas au démarrage de PHP.
1  0 
Avatar de akiro06
Membre à l'essai https://www.developpez.com
Le 29/04/2010 à 19:36
salut ,

je suis dev. actionScript et viens mettre ma ptite graine dans la discussion, je peux ? Vais-je être victime d'une cabale .

Pour ce qui est du typage, j'ai pu voir mon language favori passer de typage faible, du code étalé partout ect...
a un language hyper-structuré basé sur ecmascript4. Et pour moi il n'y a pas photo.

+
- moins de perte de temps dans le débogage, le compilo travaille presque a ma place.
- l'optimisation des perfs par apport au type et a l'architecture materielle. (ceci grace a l'avm2 qui interprete as3 en JIT dans le player).
Ainsi le type "int" et 2 fois plus rapide que le type "Number" et 4 fois plus que le type "uint"(x86 MMX,SSE). Sans compter l'optimisation mémoire bien entendu.
- la quasi obligation de s'intéresser a l'architecture logiciel et donc de progresser.

-
- perte de temps a typé ses variables.
- la quasi obligation de s'intéresser a l'architecture logiciel et donc de progresser, et oui ca peut être un inconvénient selon notre implication ou notre passion pour la programmation.


Pour la montée en charge, cela est, je pense humblement, une affaire architecturale, c'est sur, mais aussi philosophique.


Je pense personnellement qu' il existe 2 philosophies:

- jm'en fous. Tout comme mon client, je veux rapidement gagner des sous et jvais pas essayer de me prendre la tête avec des "gadjets" de geek.
De toute façon il n'y aura jamais de monter en charge, et pour le moment mon "truc" rempli son rôle, le client est content, que demande le peuple?
.. des design patterns ? ...non, des sous .
Bien entendu, une partie de ces sous risque d'être perdus, lors de la maintenance, mais ca n'est pas grave, on verra, puis surtout si j'arrive a la faire casquer au client, a part la gloire, j'ai tout gagné.

- Je suis passionné, veut faire les choses bien, et donc la montée en charge, l'architecture ect... est le "premier" de mes soucis(au delà de l'implémentation pur et dur), mon application doit être : stable, solide, et agile. J'espère aussi fortement être reconnus et gagner beaucoup de sous.

Donc si une appli PHP est peu scalable ou evolutive, ce n'est pas a cause du langage PHP en lui même, mais plutôt a la culture du scripting qu'il induit.

Bon c'est caricaturale, je n'ai pas apporté grand chose a ce qui a déjà été dit, mais c'est un sujet qui me plait, donc j'avais besoin de réagir.
1  0 
Avatar de Franck SORIANO
Expert confirmé https://www.developpez.com
Le 01/05/2010 à 20:41
Citation Envoyé par yann2 Voir le message
Bla bla bla Typage fort statique vs typage faible dynamique, éternel débat.

Alors,

* Tes fonctions, méthodes variables PHP tu documenteras et complétion tu auras (Type Hinting tu utiliseras ).
* Ton application PHP tu testeras et problèmes tu n'aura pas (ou presque )

De toutes façons des tests unitaires et d'intégration sont quasi obligatoire lors de développement pro.
Oui, on peut s'en sortir dans un monde idéal où on a le temps de mettre en place tous les palliatifs à ce qu'on n'a pas.
Mais soyons réaliste. Dans la vrai vie, on a des délais de livraison à tenir.
Lorsqu'on est loin de la deadline, on a plein de grands principes, on va faire ci, on va faire ça, on va respecter toutes les règles de l'art... Bref on perds du temps pour se faire plaisir.
Et plus la deadline approche, et plus ça devient : "peut importe ce qu'on fait, ce qui compte c'est que ça marche" :
- En générale, la doc est sacrifiée en premier pour récupérer du temps pour que ça marche.
- Puis on supprime les tests unitaires, (quoique beaucoup n'en font pas de toutes façon).
- Ensuite on supprime les tests d'intégrations.
- On finit par se contenter de quelques tests fonctionnels superficiels qui ne couvriront même pas toutes les fonctions essentielles.
- Et parfois, on livre même en sachant que ça ne marche pas

Si on ajoute à celà qu'en informatique, les retards font parti des règles de l'art, et que lorsque on estime une charge, on peut être sûr qu'on l'a sous-estimée...

J'ai qu'en même tendance à dire que pour avoir une application fiable malgré tout, le meilleur moyen de ne pas avoir de bugs c'est de commencer par ne pas en faire
Et de ce côté, le typage statique est qu'en même très utile pour empêcher d'écrire n'importe quoi à la source. On détecte immédiatement bon nombre d'erreurs de conception au moment même où on écrit le code (plutôt qu'au moment des tests).
C'est con à dire, mais si on se retrouve à additionner des choux et des carottes, c'est que la formule est fausse. Donc que toute l'analyse est fausse.
Il est qu'en même dommage de devoir attendre les tests pour ce rendre compte que l'approche du problème était erronnée !

Moi je trouve que les langages sans vérification des types à la compil ne font pas gagner du temps et ne simplifient rien. Ce sont des pièges à débutant !
Je connais pas mal de développeurs PHP a qui je n'ai jamais réussir à faire comprendre la différence entre une date et son format d'affichage (idem pour les nombres et le séparateur décimal).
1  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 21/04/2010 à 17:24
Il y a du vrai dans ce qu'il dit.

PHP est a peu près tout ce que je n'aurais pas fait comme vrai langage de programmation ^^

Mais s'il est aussi populaire c'est que justement il n'est pas conçu comme un langage de programmation

Par exemple, on va me dire que Java c'est super génial, et c'est sans doute vrai, mais pour expliquer à un gamin de 10 ans comment faire un Hello World en Java, il faut commencer par lui expliquer ce qu'est un objet, que c'est la méthode truc (suivant le contexte) qui démarre, puis l'évènement machin pour faire telle chose...en PHP tu tapes "Hello World"

Et les derniers ajouts sur PHP sont douteux car on veut faire d'une brosse à dents un outil professionnel...ce qui n'est pas facile !

Citation Envoyé par guilhem91  Voir le message
Bonjour

À mon avis, une chose est certaine : il n'est pas possible de créer un langage de programmation quand on n'y connaît rien.

Moi j'ai toujours été bluffé de voir ce que pouvait faire un "programmeur du dimanche"

j'ai déjà vu ce genre de code :
Code BASIC : Sélectionner tout
1
2
3
4
5
6
 
IF a = 1 THEN b = c + d 
IF a = 2 THEN b = d + e 
IF a = 3 THEN b = c + d 
IF a = 4 THEN b = d + e 
...
aucun programmeur ne ferait ça...mais ça fonctionne tout de même et n'est-ce pas le résultat qui compte ?
0  0 
Avatar de beekeep
Rédacteur/Modérateur https://www.developpez.com
Le 21/04/2010 à 17:36
Citation Envoyé par Paul TOTH Voir le message
aucun programmeur ne ferait ça...mais ça fonctionne tout de même et n'est-ce pas le résultat qui compte ?
généralement ce qui mérite d'être fait mérite d'être bien fait.
et en informatique ce qui fonctionne n'est pas forcément correct, alors je dirai non il n'y a pas que le résultat qui compte.
0  0 
Avatar de
https://www.developpez.com
Le 21/04/2010 à 17:37
Citation Envoyé par Paul TOTH Voir le message

par exemple, on va me dire que Java c'est super génial, et s'est sans doute vrai, mais pour expliquer à un gamin de 10 ans comment faire un Hello World en Java, il faut commencer par lui expliquer ce qu'est un objet que c'est la méthode truc (suivant le contexte) qui démarre, puis l'évènement machin pour faire telle chose...en PHP tu tapes "Hello World"

Et les derniers ajouts sur PHP sont douteux, car on veut faire d'une brosse à dents un outil professionnel...ce qui n'est pas facile !
Pas tout faux du tout. T'as tout dit. Tout est dans la dernière phrase.
0  0 
Avatar de helmi.dridi
Membre actif https://www.developpez.com
Le 21/04/2010 à 17:39
Citation Envoyé par Paul TOTH Voir le message
il y a du vrai dans ce qu'il dit.

PHP est a peu près tout ce que je n'aurais pas fait comme vrai langage de programmation ^^

Mais s'il est aussi populaire c'est que justement il n'est pas conçu comme un langage de programmation

Par exemple, on va me dire que Java c'est super génial, et s'est sans doute vrai, mais pour expliquer à un gamin de 10 ans comment faire un Hello World en Java, il faut commencer par lui expliquer ce qu'est un objet, que c'est la méthode truc (suivant le contexte) qui démarre, puis l'évènement machin pour faire telle chose...en PHP tu tapes "Hello World"

Et les derniers ajouts sur PHP sont douteux car on veux faire d'une brosse à dents un outil professionnel...ce qui n'est pas facile !
Dans ce cas ça ne concerne pas que PHP, certains diront que PHP est flexible et permet toutes les constructions possibles et imaginables,
d'autre dirons qu'il permet toutes les horreurs possibles et imaginables.

Citation Envoyé par doctorrock
Si le programmeur décide d'écrire des horreurs (en connaissance, ou ignorance de cause) alors oui je suis d'accord : le langage ne l'en empêchera pas
Un programmeur averti saura tirer vers lui les avantages du langages (et tirer partie de sa puissance), et laissera de côté les inconvénients (les possibilités d'écrire des horreurs).
0  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web