PHP vs Java(servlets)

Le
Zouplaz
Bonjour, non ce n'est pas un troll !

Je voudrais juste avoir votre avis sur quelques points concernant ces deux
technologies.

Voila ce qui se passe. Ce week-end j'ai installé TomCat (un serveur http
entièrement écrit en java me semble-t-il) et j'ai jeté un oeil sur la
configuration, le déploiement (manuel) d'applications et installé un petit
servlet style "hello world".

Bon, à partir de là je me suis penché (un peu) sur l'API, puis j'ai
téléchargé quelques servlets dispo en freeware pour regarder les sources.

Il y a quelque chose que je ne comprends pas : les quelques exemples en
question m'horrifient totalement.
Par exemple, j'ai un servlet (quelque peu évolué quand même) qui transforme
un formulaire html en message email (whoua super trop fort).

Le code source est d'une longueur ahurissante, d'une complexité apparement
excessive au regard du résultat produit. Ca ne m'étonne pas franchement, je
m'attendais un peu à ce que le développement de servlets tourne à l'usine à
gaz, c'est bien le genre de la maison.
Et je ne parle pas des API !! Entre l'api JSP et les classes habituelles du
jdk ça confine au labyrinthe

Maintenant la question que je me pose est celle ci : PHP est un langage
parfaitement adapté au développements d'applications et j'ai l'impression
que certaines technologies "concurentes" (dot net, java) peuvent déboucher
sur des projets extrêmement complexes à maintenir, plus long à développer
et donc au final plus couteux.

Qu'est ce qui peut bien pousser les développeurs (plutôt les SSII) à
s'embarquer dans des galères pareilles ? L'interfacage avec des systèmes
tiers ?

Quant à la partie cliente (site web, ou application intra/extranet
utilisant un navigateur comme médium), puisqu'on utilise une technologie
sous jacente absolument identique (les servlets sont confrontés aux mêmes
problèmes que php) où est l'intérêt ???

Est-ce que tout ça découle de la perception qu'on les "décideurs" de
certaines technologies ? Y aurait-il d'un côté ce qui apparait comme
"sérieux" et de l'autre ce qui serait de "la bidouille" ?

Voila, votre analyse m'intéresse.
Analyse de la situation actuelle et anticipation du rôle que jouera PHP
dans cet univers là.
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
loufoque
Le #570197
Message d'origine de Zouplaz :

Bonjour, non ce n'est pas un troll !
Ça y ressemble pourtant. Ça taille sévère.


Qu'est ce qui peut bien pousser les développeurs (plutôt les SSII) à
s'embarquer dans des galères pareilles ?
C'est sûrement la peformance.


loquace
Le #569990
Et bien à mon avis, c'est une histoire de communication , de pub, de
sous. IBM Websphere et autres bénéficient d'un autre image que
l'option Gnu Gratos = Craignos. Par conséquents, la pub et le
brainfucking des sociétés qui font du proprio a plus d'impact sur un
décideur. Car tu sais comme moi que ceux qui connaissent l'info ne
manient pas les sous :))

Pour ma part c'est PHP the best, de plus que php se tourne vers la POO.
Que tu peut aussi faire du PHP/GTK etc etc. Franchement pas photo
a+
seb
Zouplaz
Le #569987
loquace - :

Et bien à mon avis, c'est une histoire de communication , de pub, de
sous. IBM Websphere et autres bénéficient d'un autre image que
l'option Gnu Gratos = Craignos. Par conséquents, la pub et le
brainfucking des sociétés qui font du proprio a plus d'impact sur un
décideur. Car tu sais comme moi que ceux qui connaissent l'info ne
manient pas les sous :))



Et puis, pour les SSII il y a aussi un paramètre marketing induit qui se
traduirait par : Java permet de plomber les factures beaucoup plus
facilement, forcément c'est du "sérieux"...

Patrice
Le #569989
Salut,

Juste quelques avantages du Java par rapport à PHP, à chaud :
- L'universalité
- Essaie de développer une application "temps réel" en ligne En PHP pour
voir (A titre d'exemple personnelle, j'ai développé ordonnanceur de
production avec une partie graphique qui affichait l'etat d'avancement des
traitements en temps réel, avec signalement des plantages). Autre exemple,
un jeu en ligne en PHP me parait hasardeux
- La stabilité du code
- La facilité de déploiement

Celà dit, le PHP est et restera un langage hors pair ! Il est excellent pour
des applications faisant appel à des traitements et affichage de données,
gestionnaire de formulaires, ...
Mais bon, à chaque langage ses spécificités et capacités techniques. Et meme
si Java n'est pas forcément facile à apprendre (c'est connu), une fois les
principes assimilés, c'est un langage d'une puissance extraordinaire offrant
une liberté et une sécurité de programmation inégalable.

A plus.

Patrice


Est-ce que tout ça découle de la perception qu'on les "décideurs" de
certaines technologies ? Y aurait-il d'un côté ce qui apparait comme
"sérieux" et de l'autre ce qui serait de "la bidouille" ?

Voila, votre analyse m'intéresse.
Analyse de la situation actuelle et anticipation du rôle que jouera PHP
dans cet univers là.


Bruno Desthuilliers
Le #569985
Patrice wrote:
Salut,

(snip)

Et meme
si Java n'est pas forcément facile à apprendre (c'est connu), une fois les
principes assimilés, c'est un langage d'une puissance extraordinaire offrant
une liberté et une sécurité de programmation inégalable.



On n'est plus le 1er avril...

Gibier Jean-Charles
Le #569984
"Patrice" 40711bd4$0$19467$
Salut,

Juste quelques avantages du Java par rapport à PHP, à chaud :
- L'universalité
- Essaie de développer une application "temps réel" en ligne En PHP
pour

voir (A titre d'exemple personnelle, j'ai développé ordonnanceur de
production avec une partie graphique qui affichait l'etat d'avancement des
traitements en temps réel, avec signalement des plantages). Autre exemple,
un jeu en ligne en PHP me parait hasardeux
- La stabilité du code
- La facilité de déploiement



Certes mais Zouplaz à bien pris soin de préciser que sa perplexité portait
sur l'intérêt des servlets.
Bien qu'en général on ne limite pas JAVA à l'utilisation de servlets, sur ce
point précis cette technologie n'a AMHA aucun avantage par rapport à PHP.

Patrice
Le #568961
si Java n'est pas forcément facile à apprendre (c'est connu), une fois
les


principes assimilés, c'est un langage d'une puissance extraordinaire
offrant


une liberté et une sécurité de programmation inégalable.



On n'est plus le 1er avril...


Je sais ... encore un techicos qui veut se peter plus haut que son ... parce
qu'il va nous déballer que "C++ est meilleur, n'est p'us rapide, n'est p'us
puissant, n'est p'us beau ...". On le sait aussi çà. Mais on compare les
servlets au PHP. On ne nous ecartons pas du sujet et parlons de ces deux
langage.
Et si vraiment un programmeur trouve que Java est si mauvais et impossible a
assimiler, ben ... faut qu'il abandonne la programmation objet et qu'il
revienne à ce bon vieux Cobol (meme si une version objet existe aussi).
Je ne suis pas un inconditionnel de tel ou tel langage ... Je dis simplement
que chacun à ses qualités et ses défauts.
A bon entendeur ...

Patrice


John Gallet
Le #568958
Bonjour,

Maintenant la question que je me pose est celle ci : PHP est un langage
parfaitement adapté au développements d'applications


Quels types d'applications ?

Une fois de plus le vrai problème est là : ** quel est le besoin ? **

Pour générer dynamiquement des données en GET sur HTTP, je ne connais
aucune situation où PHP ne soit pas l'un des meilleurs, si ce n'est le
meilleur outil pour ce faire. Dans ce cadre là je trouve délirant dans
un sens purement technique d'utiliser une autre technologie.

Et d'ailleurs j'irai même plus loin : dans ce cadre, la POO ne sert à
rien non plus (j'ai bien dit : dans ce cadre). Celui qui me trouve le
besoin de faire un arbre d'héritage à 3 niveaux pour accepter 10
arguments en entrée et recracher un flux texte ou un graphe après 4
SELECT en jointure devrait se poser de sérieuses questions sur sa
capacité à écrire du code en adéquation avec le besoin réel. S'il s'agit
juste d'utiliser la notation objet sans héritage, en ce qui me concerne
de toutes façons je ne considère pas que ce soit de la POO mais du
pipeau.

Mais, depuis des années on nous bassine avec le fait que SEUL l'objet
apporte de la réutilisabilité du code (ce quie est archifaux car les
fonctions existaient avant même la notion d'objet), que seules les
exceptions peuvent gérer correctement les erreurs (la première fusée
Ariane V en est la preuve, personne n'avait pensé à catcher celle qui
l'a transformé en gros pétard de 14 juillet), que seul l'objet permet de
séparer la logique de la présentation (encore faux, on sait très bien
faire sans) etc, etc, etc... En cela, PHP5 est parfait pour coller à ce
"costume du parfait petit langage de développement". Bref, on peut
parfaitement développer de très gros projets en PHP en programmation
linéaire et ce proprement (notion très subjective d'ailleurs, on sait
donner des exemples de saletés à éviter, mais définir du code propre, à
part par la négative...) mais l'image n'est pas au rendez-vous.

En revanche, si tu veux faire du push de données vers un client, tu
oublies tout de suite PHP et tu passes à des serveurs deamon écrits en
C, C++, java, etc... éventuellement couplés à des morceaux d'exécution
côté client (applet par exemple). Il y a des besoins applicatifs pour
lesquels PHP n'est absolument pas adapté.

De toutes façons c'est toujours la même chose : à chaque besoin
applicatif il y a 3 types de technologies :
- celles qui lui sont parfaitement adaptées et même optimisées
- celles qui feront l'affaire en forçant un peu mais on aurait pu faire
mieux
- celles qui ne sont pas adaptées et pour lesquelles ça finira bien par
marcher, mais à quel prix...

Bref, à chaque besoin la technologie qui lui est la plus adaptée.

Ceci pour la partie technique pure.

Ensuite il y a une foultitude de facteurs non techniques à prendre en
compte.

- psychologiques lié au libre / langage d'éditeur (java = Sun, asp/.net
= microsoft)

- coûts des licenses et du hardware, valable dans les deux sens : il est
des entreprises où l'importance (lire : la "couillissitude") d'un projet
se compte selon le nombre de KF/KE de son budget. Si tu te pointe pas en
disant que rien que les machines et les licences coûteront XXXX, tu
n'est pas crédible.

- formation des développeurs : il est une erreur de croire que n'importe
quel blaireau sait développer en PHP. C'est l'une des faiblesses de
cette plateforme que de permettre d'arriver très vite à un résultat qui
marche mais qui est une véritable passoire en termes de sécurité ou de
temps de maintenance dès qu'on veut faire une modif mineure par exemple.
A l'inverse il est aussi une erreur de croire qu'en dehors de l'objet
point de salut.

- image de pro/non pro. Malgré les efforts en ce sens de l'AFUP
(Association Française des Utilisateurs de PHP, www.afup.org), il y a
encore du boulot avant que PHP ait une image "pro". J'espère que
l'introduction dans PHP5 de toutes les notions qui lui manquaient pour
être "à la mode" aideront.

Bref, non tu ne nous as pas lancé un "beau" troll parce que les
meilleurs ne peuvent pas être argumentés mais il n'y a pas vraiment de
réponse claire et précise à ta question, donc ça peut troller longtemps
sur le sujet, d'ailleurs ça a déjà commencé avec c++ ;-)

a++
JG

Bruno Desthuilliers
Le #569760
Patrice wrote:
si Java n'est pas forcément facile à apprendre (c'est connu), une fois



les

principes assimilés, c'est un langage d'une puissance extraordinaire



offrant

une liberté et une sécurité de programmation inégalable.



On n'est plus le 1er avril...



Je sais ... encore un techicos qui veut se peter plus haut que son ... parce
qu'il va nous déballer que "C++ est meilleur, n'est p'us rapide, n'est p'us
puissant, n'est p'us beau ...".


Raté, je ne suis pas vraiment un fan de C++. Quand tu auras fini les
procès d'intention, on pourra peut-être discuter ?

On le sait aussi çà. Mais on compare les
servlets au PHP. On ne nous ecartons pas du sujet et parlons de ces deux
langage.


tu affirmes trollesquement que Java est "d'une puissance extraordinaire"
et qu'il offre "une liberté et une sécurité de programmation
inégalable". Evidemment, si tu ne connais que Java et C++, tu es
excusable, mais l'affirmation n'en est pas moins risible.

Et si vraiment un programmeur trouve que Java est si mauvais et impossible a
assimiler, ben ... faut qu'il abandonne la programmation objet et qu'il
revienne à ce bon vieux Cobol


Tu considères donc que si un programmeur trouve Java mauvais, c'est
parce qu'il est n'arrive pas à l'apprendre (implication non démontrée et
non démontrable), et que s'il n'arrive pas à l'apprendre c'est parce
qu'il ne comprends rien à la POO, ce qui implique que la POO se
restreint à Java (ce qui est bien sûr faux) ?

Je ne suis pas un inconditionnel de tel ou tel langage ...
Ce n'est pas ce qui ressort de ton post précédent (ni de celui-ci

d'ailleurs).

Je dis simplement
que chacun à ses qualités et ses défauts.


Je suis tout à fait d'accord, mais l'es-tu toi-même ?

Tant en matière de 'liberté', de 'sécurité' que de 'puissance', on a vu
mieux - même si c'est quelque soit le langage (Java inclus), il y a
toujours une balance entre ces besoins.

De ce point de vue, PHP tend plus vers la liberté et la puissance (au
sens de 'souplesse, expressivité), et moins vers la sécurité
qu'impliquerait un typage statique - s'il n'était pas aussi inepte que
celui de Java.

A bon entendeur ...


Quand tu aura fini d'être désagréable, tu feras signe ?

Bruno



Publicité
Poster une réponse
Anonyme