Monday, December 18, 2006

Le PHP

Dans le cadre de mon cours de programmation Web, j'ai eu l'occasion de travailler avec PHP, langage de programmation Web côté serveur, souvent utilisé avec des bases de données.

Je connaissais déjà ce langage, et c'est même avec celui-ci que j'ai fait mes premiers pas dans l'univers de la programmation (autre que du simple HTML).

Or, ce que ce cours de programmation Web m'a appris, ou plutôt fait réaliser, c'est que le PHP est probablement mon langage de programmation favori.

Pourquoi? J'ai beaucoup fait de programmation Web dans ma vie, de sites Web, etc. Je sais que le HTML peut parfois être difficile à maîtriser. Non, pas difficile, mais qu'il a certaines subtilités qu'il est nécessaire de maîtriser si l'on veut produire du code source rigoureux. J'ai encore de la difficulté à maîtriser ces subtilités, surtout lors de la création d'un design. Alors pourquoi préférais-je un langage générant du HTML, si je ne maîtrise pas HTML à fond, ou que j'aime plus ou moins ça?

La réponse est simple : le HTML n'est que le support visuel du PHP. Il est possible d'effectuer des traitements extrêmement poussés avec PHP, qui vont même au-delà du simple site Web. Dans ce cas-ci, le code HTML généré n'a pas nécessairement besoin d'être spectaculaire (dans un algorithme de cryptage, par exemple, ou toute la puissance du programme, sa beauté réside dans l'algorithme lui-même et non pas dans sa sortie).

Également, ce qui est extraordinaire avec PHP, c'est le nombre de fonctions disponibles dans sa librairie standard. Il y en a vraiment beaucoup. La beauté de cela dépasse la simple quantité : puisque PHP n'est pas typé, il n'est plus nécessaire de penser à créer des structures de données immenses, très bien structurées, ou des variables de types bien précis : on laisse le code se dérouler comme il se doit, et tout s'engencent bien. Le côté dynamique de la mémoire aide cela : les tableaux sont entièrement dynamiques, permettant une souplesse dans le code. Les détracteurs de PHP pourrait dire que cette trop grande souplesse permet de faire des programmes laids, ou peu efficaces, mais je dis que si le programme est bien fait, il peut être aussi efficace qu'un programme en C (C est réputé pour sa très grande efficacité).

Également, un des aspects intéressants du PHP, ce sont ses messages d'erreur très clairs. Il y en a peu, et une fois qu'on les a maîtrisés, il est très facile de mettre le doigt sur le problème.

De plus, l'intéraction possible en PHP et des bases de données, que ce soit MySQL, PostgreSQL, Oracle, Access, SQL Serveur, Sybase, you name it, est très grande. Il est très facile de faire des requêtes vers des bases de données en PHP et de récupérer leur résultat. Ainsi, la gestion des données s'en trouve simplifiée. De plus, il existe souvent plusieurs fonctions permettant d'effectuer la même tâche (mysql_fetch_array() et mysql_fetch_assoc(), par exemple), mais avec quelques subtilités. Cela permet une maîtrise total du code et du déroulement de l'application.