Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Débat : Quelle technologie retenir parmi Java et PHP pour un développement web ?

Le , par Bovino, Rédacteur
Bonjour à tous,

Lors d'un précédent sondage PHP versus Java qui s'est déroulé entre le 20/06/2003 et aujourd'hui, on s'est rendu compte que c'était le PHP qui remportait aisément le combat avec 629 votants contre 129 votants pour Java.

On repart sur un nouveau sondage ayant le même thème : SI vous deviez choisir l'un de ces langages pour l'année 2009, lequel prendriez-vous ? PHP ou Java ?

Faîtes votre choix tout en essayant si possible de nous préciser quels sont les éléments qui vous ont aidé à choisir.



PS: Je tiens à préciser que ce sondage est uniquement réservé au langage PHP et Java, par conséquent évitons les déviations vers les autres du style ASP.NET, RoR, etc.

Autres sondages :



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


 Poster une réponse

Avatar de batataw batataw - Membre éprouvé http://www.developpez.com
le 01/03/2011 à 14:08
Très bonne analyse sauf pour les performances, PHP est un cran en dessous de Java.

En ce moment je suis sur un vieux projet Java full JSP, je peux te dire que c'est une vrai galère. En revanche dernièrement j'ai travaillé avec le Framework Java Play ce fut un régale. J'ai enfin retrouvé des automatismes que j'avais en PHP et le plaisir d'un IDE sur mesure (Eclipse). Même si je trouve qu'il lui manque quelques fonctionnalités importantes qu'on retrouve sur Rail, Django ou Symfony.
Avatar de RaphAstronome RaphAstronome - Membre actif http://www.developpez.com
le 03/03/2011 à 21:23
Java n'est pas vraiment un langage web, ça oblige à faire des applications très compliqués pour simplement faire un listing d'une base de données avec 3 critères.

Java est aussi très consommateur de ressources. Sur un service très utilisé ça ce passe assez bien mais le ticket d'entrée est très cher.

Critère supplémentaire Java n'est pas libre et à été racheté par Oracle, on est donc jamais sûr de ce qui va ce passer .
Avatar de hugo123 hugo123 - Rédacteur http://www.developpez.com
le 05/03/2011 à 10:27
Pour ma part je suis amusé par les derniers commentaires car au sein de la communauté Java il se dit justement que Java est avant tout un langage pour faire du Web, bien plus que pour faire du client lourd.

Swing (pour le client lourd) est en perte de vitesse et Oracle ne semble pas vouloir le faire évoluer. Java Fx se cherche encore et n'est pas une réelle alternative a Silverlight ou même GWT.

Par contre pour le Web Java est très prisé même s'il a souffert d'une réputation de lourdeur a une époque, faute aux EJB et a quelques frameworks un peu touffu (Struts 1).

Aujourd'hui le choix de framework est suffisamment bon pour faire plaisir à toutes les sensibilités.

Pour répondre en détail :

- côté lourdeur de codage, Java s'est largement amélioré avec l'utilisation des annotations et l'apparition de certains frameworks lights (Play, Grails etc...)
- côté consommation de ressources : je veux bien voir un benchmark qui prouve que Java serait plus consommateur à service rendu égal ^^ Ca me donne envie de faire un petit comparatif d'ailleurs entre Play et Php. Je vais m'y mettre ^^
- sur le côté libre, peux tu développer ? Jusqu'à preuve du contraire Java n'impose toujours aucune contrainte de droit sur les applications développées.
Avatar de sekaijin sekaijin - Expert éminent http://www.developpez.com
le 05/03/2011 à 11:07
Ce qui veut dire par "Java n'est pas libre" cet que Oracle son propriétaire peut très bien demain comme il l'a fait avec Solaris décider de rendre JAVA payant et interdire son usage Or de ses propres produits.

Même si c'est peu probable. même si cela arrivait il y aurait une levée de bouclier. c'est un fait.
Ca ne se produira pas. l'équilibre des force est trop important pour Oracle. mais qui sait se que nous réserve l'avenir.

Le libre usage de JAVA est suspendu au bon vouloir d'Oracle.

A+JYT
Avatar de Ludalito Ludalito - Futur Membre du Club http://www.developpez.com
le 13/04/2011 à 14:28
Citation Envoyé par VinceMD  Voir le message
Je suis surpris de lire que Php ne tient pas de grosses charges face a Java. Car mon impression est que pour faire tourner une appli Java, c'est déja tres demandeur de ressource meme si l'application n'est pas utilisée. Le ratio charge/utilisation ressources n'est donc pas linéaire.

Peutetre que Java demande plus de ressources au lancement, mais PHP gère mal la mémoire allouée, pour ne pas dire qu'il ne sait pas du tout la gérer (ok, la notion de garbage collector est arrivée avec PHP 5.3). Personnellement, j'ai une sainte horreur des "Fatal Error" de PHP comme le "allowed memory exhausted". On peut pas les attraper, ni les prévenir et c'est une plaie à débugger. Du coup, soit on joue la facilité et on modifie le 'memory_limit', soit l'administrateur interdit la manip et on tombe dans des considérations typiques au C++ pour chasser les fuites mémoires.

Citation Envoyé par VinceMD  Voir le message
D'ailleurs pourquoi Facebook tourne en Php si ils considerent que c'est lent ?

Pour info, Facebook n'utilise PHP que pour son frontend et ils ont du réécrire le moteur pour améliorer les performances. C'est pas donné à tout le monde d'avoir des équipes dédiées au C/C++ et balèzes en algorithmie, pour éviter de refondre son frontend. Leur backend est en Java + Hadoop.
Personnellement, je préfère citer Google en exemple, avec ses Google Document et autres Google Wave, que je trouve inimaginables en PHP+Javascript.

On parle de lourdeur de codage en Java, je répondrai que la lourdeur est plutot la faute du développeur que du langage. Après, c'est beaucoup plus facile de refactorer en Java qu'en PHP, ne serait ce que parce que les IDE nous le permettent. Je trouverais vachement plus cronophage de refactorer une usine à gaz made in PHP, mm avec un IDE genre ZendStudio qui m'aura coûté un oeil.
De fait, je trouve qu'un développement fait avec Java est d'avantage pérenne que s'il est afit sous PHP.

J'orienterais mon choix entre PHP et Java suivant le dimensionnement du projet:
Si c'est un site statique ou sur un projet de qq semaines, ok pour PHP
Si le projet prend qq mois, ok pour PHP mais sous couvert d'un framework type Zend ou Symfony.
Si projet > 6 mois, je m'assurerais d'avoir un cadre de travail carré, avec des gens qui savent parler tests unitaires, motifs de conception, injection de dépendances, integration continue pour garder PHP.
Si on commence à parler d'interfaces dynamiques, c'est plutot le volume de fonctionnalités à développer en javascript qui me ferait réfléchir.
Si c'est un très gros site avec des centaines de connexions par jour, des besoins en temps d'accès rapides ou que sais-je, un compromis PHP-Java serait à étudier.
Dans tous les autres cas, je ne prendrais pas Java que si PHP m'est imposé.

l'avantage que je trouve à Java est de permettre au développeur de se concentrer plus facilement sur l'essentiel de la logique à implémenter. Il y a toujours un framework qui répond mieux que les autres à un besoin particulier. Alors que coté PHP, déja, le langage ne se suffit pas à lui même, ne serait ce que pour les IHM, et puis on doit réinventer la roue sans cesse pour encapsuler maladroitement telle ou telle fonctionnalité et enfin, il y a les erreurs fatales qu'on ne peut que subir.
Avatar de sekaijin sekaijin - Expert éminent http://www.developpez.com
le 13/04/2011 à 17:45
Citation Envoyé par Ludalito  Voir le message
Peutetre ...

à te lire je crois que tu connais particulièrement mal PHP

car question refactoring c'est l'outillage et non le langage qui est en cause et on trouve de très bons outils gratuit pour php qui le font (j'ai suffisamment refactoré du php pour le savoir)
pour ce qui est des fuites mémoire Java n'est pas mieux placé.
j'ai récemment explosé un serveur avec 36 Go de ram (oui Go)

comme tu le dit le développeur y est pour beaucoup et j'ajoute quelque soit le langage

une des force de java et une de ces difficulté est justement qu'il existe 30 framework pour faire ci ou ça et qu'il ne sont pas toujours très compatible avec un autre

je trouve qu'on perd beaucoup de temps à essayer de palier les problèmes relationnel des framework eux même.
Mais c'est surement du à une mauvaise connaissance de certain. il sont si nombreux.

inconvénient que je trouve à l'écosystème java (pas ua langage) c'est qui noie la logique applicative dans une cacophonie de composants.

alors on peut du coup se passer de tout un tas de framework et autre composant tout près. mais du coup les avantage de Java se réduisent car sa richesse n'est pas dans le langage mais dans l'écosystème qui l'entoure.

côté php c'est pour moi un peu pareil. soit tu te tape les chose à la mininee et tu ne bénéficie pas de la richesse du tout. soit tu en passe par des frameworks en tout genre et tu tombe sur les mêmes travers.

dans les deux cas c'est une question d'équilibre.
un point pour php dans les interaction entre framework c'est qu'il est faiblement typé. ça peut être un piège parfois et il faut être prudent
mais combien de temps je passe en java pour faire de la conversion de type !

par contre le cœur de php s'accompagne de lib compilées pour toute sorte de choses qui se retrouve dans la lib standard de java. et là je trouve que la lib java de base est mieux structuré plus propre que celle de php qui se traine encore trop de proc procédurale.

pour ce qui est de l'IHM deux chose soit tu as un IHM java et là php n'est clairement pas fait pour ça
soit tu as une webApp et perso je trouve que java est plutôt mal loti.

pour une appli dans le navigateur je ne trouve ni l'un ni l'autre à la hauteur. et de toute façon régénéré une page ou un morceau de page sur une simple action qui peut (et dois être faite chez le client) est un aberration. en 1996 dèjà sur les webApp dans le labo où je bossais j'avais intégré TCL dans le code HTML et j'éxécutais sur le poste du client tout ce qui n'a voir qu'avec l'IHM le serveur ne faisant que s'occuper du métier (logique et ressource) quand j'ai vu tout ce concentré sur les serveur j'ai crié à l'hérésie.
on avait tout mis sur le poste client qui était devenu ingérable avec les client lourd et le serveur qui ne s'occupait que des données qu'on à fini par demander au serveur de modifier les pixel de l'écran de chaque utilisateur.

aujourd'hui on redispatche intelligemment (enfin on essai) les fonction. l'IHM au client le métier au serveur.
à moins de passer à jnlp ou à ces applet Java je ne trouve as java des plus adapté.
Php ne fait pas beaucoup mieux trop encré dans la notion de webapp ou le serveur fait tout.

du coup Javascript qui maintenant est mieux supporté par les navigateur se présente comme une alternative. mais c'est une tout autre approche qu'il faut adopter. et on vos déjà les vieux travers revenir.
comme ouvrir un connexion SQL depuis son navigateur. ainsi on revient au client serveur avec tout les pb que cela pose.
perso je ne l'utilise que pour l'IHM dans mon approche MVC il gère la vue et le contrôleur le Métier côté javascript est un proxy qui fait appel à des service sur le serveur.
et pas plus.
dans ce contexte Java est robuste efficace et lourd. Php est rapide, vites mis en œuvre léger, et moins facile à faire monter en charge (énorme charge chez moi)

le plus souvent j'utilise SOAP, Rest ou Json-RPC entre le client js et le serveur php/java

l'avantage étant que lon peut changer de techno serveur (par exemple d'un proto à un grosse appli) sans rien changer au client si on respecte l'interface de service.

pour moi java ne se suffit pas à lui-même il lui faut toujours tout un tas de lib de framework et php est exactement dans la même position.
c'est vrai pour tout les langages.
ce qui peu éventuellement faire la différence c'est les librairies standard qui vont avec le langage.
C++ par exemple sans aucune librairie et tu ne peux même pas afficher un truc dans ta console. pour ça il te faut la STL c'est pareil en java.

Bref les manque que tu décris son pour moi plus un pb de connaissance du l'écosystème PHP que de réel manques. quelqu'un qui connais mal celui de java va lui faire les même reproche.

A+JYT
Avatar de Khalfe Khalfe - Nouveau membre du Club http://www.developpez.com
le 20/09/2012 à 0:34
Bonjour à tous et à toutes;

J'ai besoin de votre, je suis un debutant en php j'ai réalisé un site web simple et je voudrais savoire comment réaliser un generateur de pdf après avoire valider la saisie d'un formulaire, j'ai fais pas mal des recherche mais je n'y arrive pas, j'ai essayé fpdf je n'arrive pas comprendre cmt l'implemanter ds mon code php, peut être je suis pas ds le bon forum mais vue votre debat, c'est un debat des pro donc je lance un appel d'aide à vous tous svp!!!
Avatar de benwit benwit - Rédacteur http://www.developpez.com
le 20/09/2012 à 8:39
Pour le refactoring, je ne suis pas d'accord. Vu que java est fortement typé, les outils pourront faire beaucoup plus de choses qu'en php.
De meme pour la complétion (proposer uniquement ce qui est possible).
De toute facon, le débat est dans ces deux cas plus lié au typage.
Avatar de Gordin Gordin - Candidat au Club http://www.developpez.com
le 30/10/2013 à 8:30
je prefere PHP pour sa facilité d'appretissage ou sa prise en main rapide.
Avatar de smarties smarties - Membre actif http://www.developpez.com
le 11/01/2014 à 14:13
J'ai programmé pendant plusieurs années en PHP, l'apprentissage est rapide, il y a de la documentation mais le manque de données typées est embêtant à mon gout.

Depuis quelques mois je suis passé au JEE avec le framework Spring et voici mon constat :
- l'apprentissage est long ;
- tout est objet et c'est bien pour avoir une un modèle MVC ;
- Maven est très pratique pour gérer ses dépendances ;
- l'IDE Eclipse gère très bien JAVA, je n'ai pas encore vu d'équivalent en PHP ;
- les scripts PHP sont limités en temps d'exécution, en JAVA il y a des crons disponibles.
Avatar de Radjak Radjak - Membre à l'essai http://www.developpez.com
le 13/06/2014 à 17:00
Je n'ai pas d'avis bien que je maîtrise plus PHP que JAVA car les deux langages ont leur points forts et points faibles.

Concernant les Frameworks, il en existe aussi bien en PHP qu'en JAVA.
PHP permet aussi le développement orienté objet.
Eclipse permet aussi de développer en PHP.

Sa dépend surtout de ce que l'on veut faire que l'on devra ensuite choisir parmi ces deux langages.
Offres d'emploi IT
Ingénieur réseau et sécurité H/F
Michael Page - Nord Pas-de-Calais - Roubaix (59100)
Développeur fullstack (symfony et jquery) (h/f)
EMAGINE CONSULTING - Ile de France - La Défense
Développeur front-end (H/F)
altima - Ile de France - Paris (75000)

Voir plus d'offres Voir la carte des offres IT
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -