Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Différences entre ASP et PHP ?

16 réponses
Avatar
Denis Beauregard
Bonjour,

Ceci est une question académique...

Je connais quelqu'un qui voulait suivre des cours de PHP et qui n'a
trouvé que des cours de ASP. On lui a dit qu'à partir de ce langage,
ce serait facile ensuite de passer au PHP.

Est-ce vraiment le cas ?

Je fais du PHP depuis un bout de temps mais sans toucher au ASP et
je me demandais à quel point c'est différent.

Si je regarde les exemples sur la page suivante, la syntaxe est
assez différente. http://www.w3schools.com/asp/asp_examples.asp
Alors, dire que l'on passe facilement de l'un à l'autre, c'est
un discours de vendeur incompétent ?


Denis

6 réponses

1 2
Avatar
Pascal
Bonjur denis

Ceci est une question académique...

Je connais quelqu'un qui voulait suivre des cours de PHP et qui n'a
trouvé que des cours de ASP. On lui a dit qu'à partir de ce langage,
ce serait facile ensuite de passer au PHP.

Est-ce vraiment le cas ?



j'ai touché un peu des deux, voilà un avis qui n'engage que moi :

ASP a une structure d'écriture de la mêmem "trempe" que VBScript, Visual
basic... et PHP ressemblerait plus à un genre C, Javascript (dans la
syntaxe).

Porter facilement une page d'ASP à PHP, là je dis résolument non. Où en PHP
tu vas utiliser de fonctions comme mail ou fopen par exemple pour envoyer
des mails ou ouvrir des fichiers, il va falloir en ASP se servir d'objets
comme CDO ou FSO. Rien à voir du tout !

L'ASP est beaucoup plus 'pauvre 'au niveau des instructions et fonctions...
et enfin, une petite remarque :
avec ASP, il va développer sur un serveur Windows, probablement avec un
serveur IIS. Pas grand chose de plus.
avec PHP, il va développer sur un serveur (généralement) Apache installé sur
une distribution ou sur Windows. Il aura beaucoup plus de chance que PHP lui
soit utile que ASP. De plus, le langage PHP peut être installé sur un
serveur IIS de Windows. (biens que personellement, je n'ai jamais essayé).

L'ASP ne me semble pas un langage d'avenir (ou peut être ASP.NET ? je ne
sais pas où ils en sont).

@+
pascal
Avatar
Mickaël Wolff
BertrandB a écrit :
Justement c'est la première chose à oublier lorsque l'on aborde des
langage avec un plus haut niveau d'abstraction.



L'abstraction ne signifie pas qu'il faut ignorer le principe d'un
programme informatique : traiter des données.
En oubliant les concepts que j'ai énuméré précédemment, on en oublie
l'anatomie d'un nombre flottant, que la taille de la pile est limitée,
que le tas peut être fragmenté, etc. Ceux qui programment en ignorant
ces concepts de base ignorent aussi le fonctionnement de l'OS. Au bout
du compte, on s'étonnera que touch ne fera pas ce qui est attendu, que
la mémoire allouée l'est fait avec beaucoup de fainéantise, etc.


pas forcément vrai c'est même souvent faut.



Pourquoi ?

Ca par contre c'est totalement vrai



:) Au moins nous sommes d'accord sur un point !

Par ce qu'il y a plein de langage solide et robuste de plus haut niveau
permettant une meilleur abstraction et donc d'implémenter des
algorithmes sans se casser les c.. à coup de cast.



Le grand regret que j'ai, lorsque je fais du PHP ou du Python, c'est
justement l'absence de typage des données. Je suis tellement paranoïaque
que mon code se transforme rapidement en vérificateur des paramètres
soumis à la fonction.

Après compiler ou interpréter c'est du pareil au même.



Certes, c'est un choix d'implémentation.

Je souhaite juste rajouter que c'est mon opinion, forgée de mes
lectures et de mon expérience. Ce n'est en aucun cas une vérité absolue.
C'est à chacun de trouver son bonheur et ses bonnes pratiques.
Mais j'aurais plus confiance en un langage fortement typé (au sens
C++) qu'en un langage de script, pour un développement conséquent.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Bruno Desthuilliers
Mickaël Wolff a écrit :
(snip)
Le grand regret que j'ai, lorsque je fais du PHP ou du Python, c'est
justement l'absence de typage des données. Je suis tellement paranoïaque
que mon code se transforme rapidement en vérificateur des paramètres
soumis à la fonction.



<hs sujet="duck typing">
Dans le cas de Python, s/absence de typage/absence de déclaration
explicite de type/g

En Python (et hormis bien sûr au niveau des entrées 'utilisateur'),
vérifier le type des paramètres effectifs d'une fonction est non
seulement une totale perte de temps (puisque comme tout ça a lieu à
l'exécution, au mieux, tu lèvera une exception, qui aurait de toutes
façons été levée si l'objet passé ne comprend pas les messages qui lui
sont envoyés), mais même totalement contre-productif puisque si tu fais
ta vérif à coup de type(x) == UnType ou de isinstance(x, UnType), tu
risque de "refuser" des objet par ailleurs parfaitement compatibles.

Alors ok, il y a quelques *rares* cas particuliers où ce type de vérif
peut avoir un sens. Mais vraiment très rares. En 7+ années et plusieurs
(pour une assez grande valeur de plusieurs) dizaine de millier de lignes
de Python, j'ai dû avoir ce besoin peut-être une dizaine de fois.

Accessoirement, j'ai abordé Python avec cette même mentalité de "control
freak", et j'ai passé la première année à me battre contre le langage en
ajoutant partout du code "défensif" quasi-paranoïaque. Avec usuellement
pour seuls résultats d'induire une complexité accidentelle parfaitement
inutile(et donc pas mal de bugs qui n'auraient pas existé sinon) et de
ne pas profiter de la généricité naturelle du typage dynamique...
</hs>

Je souhaite juste rajouter que c'est mon opinion, forgée de mes
lectures et de mon expérience. Ce n'est en aucun cas une vérité absolue.
C'est à chacun de trouver son bonheur et ses bonnes pratiques.
Mais j'aurais plus confiance en un langage fortement typé (au sens
C++) qu'en un langage de script,



Pour quelle définition de "langage de script" ?

pour un développement conséquent.



Ne confond pas "fortement" et "statiquement". Mon expérience personnelle
est que dans un langage à typage dynamique "fort" (donc pas PHP...) les
erreurs de typages sont non seulement rares mais aussi triviales à
détecter et corriger.
Avatar
Bruno Desthuilliers
Pascal a écrit :
(snip)
L'ASP ne me semble pas un langage d'avenir



ASP n'est pas un langage tout court - c'est une techno pouvant être mise
en oeuvre avec plusieurs langages (au minimum VBScript et JScript, et
bien plus si on va du côté de .NET).

Par contre, je suis bien d'accord que le principe même des architectures
"server page" (ASP, JSP, PSP, PHP etc) n'a guère d'avenir en tant que
tel (il suffit de voir comment la majorité des devs PHP se tournent vers
des architectures MVC...)
Avatar
BertrandB
Mickaël Wolff a écrit :

Mais j'aurais plus confiance en un langage fortement typé (au sens
C++) qu'en un langage de script, pour un développement conséquent.



Bon dans ce cas c'est pas C++ mais ADA.
Avatar
Pierre Goiffon
Denis Beauregard wrote:
Je connais quelqu'un qui voulait suivre des cours de PHP et qui n'a
trouvé que des cours de ASP. On lui a dit qu'à partir de ce langage,
ce serait facile ensuite de passer au PHP.

Est-ce vraiment le cas ?



Bonjour, mes excuses car j'arrive bien après la bataille (je rattrape un
peu un retard de lecture de plusieurs semaines)

Je commencerai par préciser que lorsque l'on parle de Microsoft ASP, il
faut bien distinguer ASP 1 à 3 et ASP .Net.
Les premières versions proposaient un moyen de développer des pages
dynamiques, en s'intégrant dans un système d'information avec des
composants distribués appelés en COM/COM+/DCOM. Dans les faits cependant
ASP 1 à 3 étaient majoritairement utilisé comme un moyen de faire du
scripting uniquement.
ASP .Net est un changement complet de stratégie : les pages sont
précompilées et s'appuient sur le .Net framework.
Dans tous les cas, les traitements peuvent être écris dans plusieurs
langages.
ASP est propriétaire Microsoft et tourne sur serveur IIS (à noter
quelques produits permettant de faire tourner de l'ASP sur d'autres
serveurs, mais on peut considérer cela comme anecdotique)

PHP est tel que je le comprend un langage bien plus tourné sur du
scripting uniquement. Avec PHP 5 l'objet commence à être utilisé un peu
plus...
Comme cela a été évoqué dans ce fil, PHP dispose d'une base installée
assez incroyable. Par ailleurs de très nombreux produits sont
disponibles (moteurs de cache, de template, ...)

Dans le principe on peut dire que ASP et PHP se rapprochent : on écrit
du code "au milieu de pages HTML". Mais la comparaison s'arrête vite là,
les logiques étant bien différentes !

Pour un développeur débutant, il y a avant toute formation dédiée au PHP
de très nombreuses choses à assimiler liées à la nature même du
développement Web : HTML/CSS, HTTP (cache, charset, ...), etc etc

Concernant le PHP proprement dis, on peut être assez déconcerté au
départ par la profusion de fonctionnalités... et aussi ne pas suivre de
bonnes pratiques par ignorance, ce qui se relève dommageable un peu trop
tard...

Sur la région Rhônes Alpes, des sociétés comme Orsys ou Objet Direct
proposent des formations PHP... Je ne connais pas précisément leurs
formations PHP mais j'ai suivi des cours de grande qualité sur d'autres
sujets dans ces sociétés, et je ne peux que les recommander !
1 2