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, Expert éminent sénior
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de beekeep beekeep - Rédacteur/Modérateur https://www.developpez.com
le 03/05/2010 à 21:54
la presentation du dynamic en c# est vers la fin de cette vidéo pour ceux que ça intéresse :

http://www.microsoft.com/france/visi...0-40bfffb96599
Avatar de nemesisTHEone nemesisTHEone - Nouveau membre du Club https://www.developpez.com
le 03/05/2010 à 22:22
Je pense que l'exemple en haut (pour les dynamic) est mauvais car il ne montre pas réellement que c'est du dynamic.

La différence entre l'exemple (en haut) et des méthodes généric c'est qu'avec une méthode généric il faut que les objets utilisés en argument implémente une interface (ou hérite d'une classe abstraite) commune alors qu'avec les dynamic le programme marchera et la vérification se fera a l'exécution donc on peut avoir une truc du style:

Code : Sélectionner tout
1
2
3
4
5
6
class A { public void maMethod(); } Class B { public void maMethod(); } 
 
Class C { public static void Test(dynamic maVar) { maVar.maMethod(); } } 
 
C.Test(new A() ); 
C.Test(new B() );
L'utilité des Dynamic réside dans le faite qu'on peut utiliser directement (dans du code en c# ) des objets provenant d'autre langage notamment des scripts (exemple python).
Avatar de hegros hegros - Membre Expert https://www.developpez.com
le 04/05/2010 à 0:19
Citation Envoyé par gl  Voir le message
Dans ce cas, le type n'est résolu qu'à l'exécution ? C'est surprenant comme choix, mais pourquoi pas.

Oui la résolution se fait pendant l'exécution, et c'est une évolution majeure, la programmation dynamique, de C# 4.

Je ne trouve pas surprenant pour un langage d'avoir un typage statique ET dynamique fort, c'est plutôt un avantage, et c'est très pratique et utile, l'exemple dans la vidéo avec le XML est très parlant je trouve.

Le code C# de nemesisTHEone est plus parlant que le mien, d'ailleurs je suis persuadé qu'en php cela se coderait de la même façon le dynamic en moins et le $ en plus

Et tout cela n'est pas possible en C++ ou en Java.
Avatar de Tommy31 Tommy31 - Membre chevronné https://www.developpez.com
le 04/05/2010 à 11:20
Citation Envoyé par hegros  Voir le message
Et tout cela n'est pas possible en C++ ou en Java.

Mais il l'est en Groovy et son principe de cristallisation.
Avatar de hegros hegros - Membre Expert https://www.developpez.com
le 04/05/2010 à 14:10
Citation Envoyé par Tommy31  Voir le message
Mais il est en Groovy et son principe de cristallisation.

Oui groovy est un autre langage qui permet le typage statique et dynamique

La différence, mais je me trompe peut-être, c'est que le C# a une dominante statique et groovy dynamique
Avatar de gl gl - Rédacteur https://www.developpez.com
le 04/05/2010 à 19:03
Citation Envoyé par hegros  Voir le message
Je ne trouve pas surprenant pour un langage d'avoir un typage statique ET dynamique fort

Ce n'est pas le fait d'avoir du typage statique ou dynamique qui me surprend. C'est plutôt de faire à l'exécution une résolution qui pourrait être faite bien avant (comme c'est le cas dans l'exemple donné ici) dans un langage qui justement est plutôt à typage statique.
Maintenant c'est plus dans le cas de l'exemple donné que cela me surprend. Il doit être possible de trouver des cas où il y a un vrai gain.
Avatar de hegros hegros - Membre Expert https://www.developpez.com
le 05/05/2010 à 10:07
Citation Envoyé par gl  Voir le message
C'est plutôt de faire à l'exécution une résolution qui pourrait être faite bien avant (comme c'est le cas dans l'exemple donné ici) dans un langage qui justement est plutôt à typage statique.
Maintenant c'est plus dans le cas de l'exemple donné que cela me surprend. Il doit être possible de trouver des cas où il y a un vrai gain.

C'est probablement lié dans cet exemple à l'architecture .NET qui a évolué pour supporter nativement les langages dynamiques avec sa DLR. La résolution est faite au finale il me semble de façon statique (par sa CLR) à l'exécution.

On pourrait en dire autant avec PHP, il y a des tas de codes où la résolution pourrait se faire avant l'exécution.
Avatar de fixit fixit - Nouveau Candidat au Club https://www.developpez.com
le 01/06/2010 à 23:07
Ouhn le jolie troll IRL
Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 03/06/2010 à 16:35
je ne sais pas s'il faut être un "faux" programmeur pour faire ça, mais moi je ne l'aurais pas codé comme ça :

Code php : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  
<?php 
var_dump(0 == "a"); // 0 == 0 -> true 
var_dump("1" == "01"); // 1 == 1 -> true 
var_dump("10" == "1e1"); // 10 == 10 -> true 
var_dump(100 == "1e2"); // 100 == 100 -> true 
  
switch ("a") { 
case 0: 
    echo "0"; 
    break; 
case "a": // jamais évalué parce que "a" est déjà trouvé avec 0 
    echo "a"; 
    break; 
} 
?>

http://php.net/manual/fr/language.op...comparison.php

ben oui ça fait tout drôle de voir que le teste suivant passe

Code php : Sélectionner tout
1
2
3
4
5
6
7
8
  
<?php 
  $value = 0; 
// ... 
  if ($value == 'janvier') { 
    echo "nous sommes en janvier ?!"; 
  } 
?>
Avatar de medmosoft medmosoft - Nouveau Candidat au Club https://www.developpez.com
le 18/09/2010 à 18:02
je crois qu'il a tout simplement utilisé son intelligence et si ce qu'il dit n'est pas de l'ironie je crois que l'informatique a alors beaucoup de surprise résérvées.
Avatar de marts marts - Membre averti https://www.developpez.com
le 31/12/2010 à 2:19
Citation Envoyé par mathk  Voir le message
Pour ma part je ne pense pas que ce soit une très bonne idée pour un gamin de 10 an d'apprendre le php. Surtout s'il débute.

Scratch peut être une meilleure alternative http://scratch.mit.edu/

Le problème avec PHP c'est que c'est un language hautement inconstant.
C'est-à-dire plein de feature et rien qui va ensemble. C'est un peu comme essayer de s'habiller avec toutes les couleurs possible. C'est pas très beau.

D'ailleurs une méthode pour prouver que ce langage est inconsistant serait un peu, à la manière du théorème de Godël, d'écrire un interpréteur meta-circulaire.

Quant à ça popularité je ne me l'explique pas. A vrai dire j'ai bien une petite idée, un soupçon de buzz et le virus est lancé.

Entièrement d'accord avec ça, je n'ai jamais connu un langage aussi chaotique !
Et c'est franchement par obligation que je me le coltine encore ...
Offres d'emploi IT
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil