Discussion:
php et genie logiciel
(trop ancien pour répondre)
Jack
2008-01-16 10:21:25 UTC
Permalink
bonjour,

j'essaie de regrouper des informations sur la pertinence d'employer PHP
pour concevoir des logiciels en suivant les principes du génie logiciel

par exemple sur les avantages que ce langage procure dans cet usage, et
sur l'éventail des outils qui existent pour ce langage à cet usage,
genre qualité, documentation, tests, etc...

par exemple est ce que le coté interprété du langage, le typage non
strict, les mécanismes automatisés de gestion de la mémoire, sont un
avantage pour faire du génie logiciel ?

bref voila, tout ce qui vous semble être un atout (ou au contraire une
faiblesse) du langage PHP pour faire face à ces contraintes.

(désolé je ne cross poste pas mais je fais un panel de ce qui existe en
génie logiciel pour tous les langages interprétés en fait, donc je poste
aussi pour Python, Ruby, et Perl)

merci d'avance pour vos réponses :)

jack
Marc
2008-01-16 16:37:14 UTC
Permalink
Post by Jack
j'essaie de regrouper des informations sur la pertinence d'employer PHP
pour concevoir des logiciels en suivant les principes du génie logiciel
interprété, c'est une chose :
- conséquences éventuellement mesurable sur les performances,
- avec a des formes de type eval($string),
- acces a certaines formes dynamiques :
- appel de fonction par $nom_fonction($params)
- indirection de variable : $$variable (ca ressemble au ** du c)

A mon avis, tout le reste n'est pas propre à un langage interprété.
D'ailleurs les versions compilées de php supportent presque tous
les concepts du langage sauf ceux cités ci-dessus.

Maintenant, le langage (php) supporte bon nombre de concepts objets
assez standards sauf peut-etre le polymorphisme.

A l'image du lanage D, ces langages supporte nativement le type string,
les tableaux indexées par des chaines, les booléens.

Une conception objet (UML par exemple) doit pouvoir se traduire
dans certains de ces langage assez directement sous forme de classe.
Continuer la lecture sur narkive:
Loading...