Ces trois langages ont leurs appications. Je suppose ici que vous voulez parler de la création de sites web dynamiques, car c'est la seule chose que php peut faire. C peut tout faire, et Java presque.
Portabilité :
La portabilité du C est la plus mauvaise. Il est nécessaire de compiler le code séparément pour chaque plate-forme. Et les codes qui peuvent effectivement être compilés pour différentes plate-formes sont très rares.
La portablilité de Java est la meilleure du moment. Il peut être exécuté sans recompilation sur n'importe quelle machine équipée d'une machine virtuelle. Il existe des machines virtuellles pour un trrès grand nombre de systèmes, jusqu'à certains téléphones portables.
La portabilité de php est pratiquement égale à celle du Java dans ce contexte très précis, puisqu'il existe des serveurs web capables d'interpréter le php pour pratiquement tous les systèmes susceptibles d'en abriter un. Encore une fois, le php est limité à la création de pages web.
Performances :
Le C est compilé en code machine natif, ce qui devrait lui donner l'avantage en vitesse pur. Toutefois, la technologie CGI qui permet d'utiliser des programmes C pour afficher des pages, consiste à lancer le programme C comme processus indépendant à chaque appel de page, ce qui donne des performances catastrophiques. Une alternative récente consiste à charger dynamiquement les programmes C sous forme de librairies dll. Je n'ai pas d'expérience personnelle avec cette technologie, mais les premières constatations donnent des résultats similaires au Java.
Le Java est performant. Les premières machines virtuelles était très lente. Ce n'est plus le cas aujopurd'hui. Grâce à des techniques de compilation à la volée, le bytecode devient très rapide.
Le PHP est mauvais. C'est à attendre de la part d'un langage interprété. J'ai récement fait un test de montée en charge. Le PHP craque à 20 utilisateurs. Java n'avait pas encore remarqué à 60.
Coût des plates formes:
On peut développer et déployer à l'aide d'outils gratuits et performant pour Java et php. Les outils payants pour le C sont légèrement supérieurs aux outils gratuits pour le C.
Développement :
Le C n'est pas bien adapté au développement WEB. C'est à attendre puisqu'il n'est pas prévu pour cela. C# de Microsoft changerait la donne, mais c'est une technologie encore immature et je m'en méfie un peu.
Le php est au contraire entièrement prévu pour le développement WEB. C'est le langage le plus facile à apprendre et à utiliser. Cependant, il montre ses limites sur les gros projets. Le code deveint rapidement un enchevêtrement inextricable. Reprendre une application écrite par un autre relève du cauchemard. L'évolutabilité est médiocre. Il est en revanche très bon sur les petits projets, où simplicité d'apprentissage et d'utilisation garantissent des développement rapides.
Java n'est pas à l'origine prévu pour le développement web, mais divers frameworks ont depuis longtemps comblé cette lacune. Je pense en particulier à JSP.
deaven a écrit
JSP permet de créer des pages similaires aux pages php, avec du code HTML et des balise indiquant du Java. Il existe de nombreux outils utilisables gratuitement comme hibernate pour accéder aux bases de données. Java réussit partout là ou php échoue grâce à la programmation objet. Cependant, c'est un peu une grosse usine à gaz quand on a des ambitions modestes.Selon moi les avantages du PHP c'est <...> et sa facilité de s'intégrer aux pages HTML.
En résumé.
Gros projet : Java.
Petit projet : php.
C? Pas fait pour ça.
Attention aux petits projets qu'on démarre en PHP et qui grossissent, grossissent et vous font regretter de ne pas avoir utilisé Java. Je parle malheureusement d'expérience personnelle. (Je l'avais dit qu'il fallait porter l'application en Java mais Nonnnnn....)
Il existe d'autres technologies. Celles-ci sont celles que je connais bien. (Le C un peu moins que les autres dans ce contexte. Je n'allais pas étudier les CGI alors que je les sais dépassées.)
Et bien, ce n'est plus un message, c'est un article.
Partager