Page 1 sur 2

ASP vs PHP

Posté : 15 mai 2010, 16:41
par visualight
Salut,

Je suis entrain de m'auto-former aux douces joies de l'asp.
Je remarque que c'est un langage lourd et possédant moins d'options intuitives par rapport à php.

Simplement :

- Balise echo en PHP deviens response.write en ASP
Le problème étant qu'en ASP on ne sais pas faire un reponse.write d'un bloc de texte ! Chose que PHP fait :

echo 'ligne1
ligne2
ligne3';

- Fonction Isset et empty en PHP deviens je sais pas trop quoi avec l'ASP. J'ai tenté en ASP un : if not isnull mais ça déconne grave

- Base de donnée => que deviennent les requêtes préparées (1 ou 2 lignes de code en plus avec ASP rien que pour la DB) ...

Bref, personellement, je ne suis pas convaincu de l'ASPirine.



Ma question est de savoir ce que vous en pensez. Pourquoi vaut il mieux choisir l'un que l'autre ?
Je sais que je suis sur un forum PHP, mais rien ne vaut les conseils de développeurs ayant touchés aux deux domaines pour savoir ce que je dois proposer à mon employeur qui à développé ses outils en ASP (et qui apparament n'est pas plus convaincu que ça de l'ASP).


J'attends vos nombreux retours, coups de gueule, et autre pour lui en mettre pleins les dents ou pas ... :twisted:
N'hésitez pas à argumenter, à donner votre avis, ... j'en ai besoin ;)


Merci pour vos futures et nombreuses réponses ;)

Re: ASP vs PHP

Posté : 15 mai 2010, 19:11
par @rthur
Titre modifié : j'ai retiré le "Important!" qui n'a à mon sens pas de justification ici.

Re: ASP vs PHP

Posté : 16 mai 2010, 00:17
par momox
Avec php, on peut surtout mettre en avant la portabilité du code, du fait que la triplette amp (apache, mysql, php) et plus particulièrement le couple php/mysql est disponible sur de nombreux systèmes, tandis que dans l'immédiat, pour faire de l'asp, c'est soit IIS sous windows, ou apache + mono sous linux, sous reserve d'implémentation des fonctionnalités utilisées.

Puis la simplicité d'apprentissage du langage, la gratuité des logiciels utilisés (apache, php, mysql), et surtout, le fait que 67% des sites internet sont en php.

Re: ASP vs PHP

Posté : 21 mai 2010, 20:27
par Nagol
personnellement je comprend pas trop pourquoi des gens voudraient faire quoi que ce soit en ASP, c'est un langage qui ne mérite que de disparaître. il est moins performant/vaste/utilisé/portable et les extensions sont payantes, c'est juste une bouffonnerie de chez Microsoft quand il y avait un espoir de rendre intéressant commercialement un effort de développement de langage de script adapté au Web, à oublier très vite.

Re: ASP vs PHP

Posté : 24 mai 2010, 13:27
par Berzemus
On ne parle plus d'ASP de nos jours, mais de .Net . Et le langage privilégié pour le dev web est apparemment le C#.

Re: ASP vs PHP

Posté : 26 mai 2010, 11:17
par mere-teresa
Parfois, on doit manger et trouver un salaire, donc un boulot, et reprendre un existant en ASP.
Bon, les inconvénients de l'ASP sont pour moi :
- liés à un éditeur
- fortement couplés aux outils MS (SQL Server, IIS)
- pas de communauté ?

Faire des lignes de code en plus n'est pas choquant mais vouloir transposer mot à mot un langage à un autre me paraît bizarre (comme traduire mot à mot).

Re: ASP vs PHP

Posté : 26 mai 2010, 11:38
par Berzemus
Parfois, on doit manger et trouver un salaire, donc un boulot, et reprendre un existant en ASP.


M'en parle pas, je dois gérer un CMS (propriétaire) en VBScript...

Re: ASP vs PHP

Posté : 04 nov. 2011, 12:42
par Mazarini
Pour manger, je dois maintenir 2 site en asp. Ils ont été écrit par des gens qui ne connaissait pas les fonctions, ni l'asp, ni le html.

A part ca, le .net est surtout bien pour visual studio dans la mesure ou quelqu'un de compétent initialise le projet.

Re: ASP vs PHP

Posté : 05 déc. 2011, 02:28
par devlop78
Faire des lignes de code en plus n'est pas choquant mais vouloir transposer mot à mot un langage à un autre me paraît bizarre (comme traduire mot à mot).
Exactement. Chercher à transposer de PHP à ASP (je ne connais pas ASP mais C#.NET) est une hérésie. Ne pas oublier que C# est full Object et orienté pour plusieurs supports, donc "echo" ou son équivalent n'a pas de sens.

Response correspond(rait) à l'objet de "réponse HTTP", et Response.write() est donc logique. Il est tout à fait possible avec un template d'écrire une série de code HTML, et c'est bien le principe de la vue.

Pour ce qui est de l'empty, ça me parait aussi normal, puisqu'une variable est forcément déclarée au préalable (tout comme en PHP pour les "bons codeurs"). Dans le cas d'un Array ou objet similaire, l'objet possède lui-même une méthode pour connaître la disponibilité d'une propriété de l'objet. Il est donc possible que C# ne possède aucun mot clé pour savoir si une variable existe. Quant à NULL, c'est PHP qui ne propose pas un schéma normal, puisque la valeur nulle ne correspond normalement pas à une variable non déclarée mais à un type (comme en javascript où undefined correspond plutôt à une variable non déclarée). PHP fait la différence en interne, mais ne propose aucune fonction ni mot clé pour faire la différence :

- empty() et isset() réagiront de la même manière si la variable est nulle ou si elle est inexistante
- if ($var === null) renverra null dans les deux cas, mais émettra une E_NOTICE pour la variable non déclarée. On peut toujours rattraper cette E_NOTICE, mais je n'appelle pas ça une réelle solution ...

Pour répondre à la vraie question (et certainement le vrai problème), j'ai choisi PHP pour des raisons historiques personnelles, parce qu'il est libre et ne dépend pas (autant) d'une société, qu'il est gratuit, que j'aime sa syntaxe (mais j'aime aussi beaucoup celle de C#, de Java), qu'il est souple, et que malgré sa "lourdeur", il évolue tellement qu'il évolue vraiment très bien (système de caches d'OP code, réduisant beaucoup sa lourdeur comme ses homologues pré-compilés). Sans oublier qu'il est multi-plateforme (OS et architecture) ce qui n'est pas, il me semble, le cas de C#. Vient s'ajouter à cela qu'il y a du boulot dans son domaine, et le must du must, que j'aime ce langage de façon irrationnelle.

Maintenant, si tu veux que l'on critique PHP, il y a moyen aussi de faire un livre dessus. Mais pas ce soir.

Re: ASP vs PHP

Posté : 06 déc. 2011, 09:39
par Cyrano
Pour ce qui est de l'empty, ça me parait aussi normal, puisqu'une variable est forcément déclarée au préalable (tout comme en PHP pour les "bons codeurs"). Dans le cas d'un Array ou objet similaire, l'objet possède lui-même une méthode pour connaître la disponibilité d'une propriété de l'objet. Il est donc possible que C# ne possède aucun mot clé pour savoir si une variable existe. Quant à NULL, c'est PHP qui ne propose pas un schéma normal, puisque la valeur nulle ne correspond normalement pas à une variable non déclarée mais à un type (comme en javascript où undefined correspond plutôt à une variable non déclarée).
Waow, autant d'affirmations douteuses en une seule phrase, désolé, mais je peux pas laisser passer ça :non:
Pour ce qui est de l'empty, ça me parait aussi normal, puisqu'une variable est forcément déclarée au préalable (tout comme en PHP pour les "bons codeurs").
Désolé, mais on est pas obligé de déclarer quelque variable que ce soit en PHP. En revanche, il n'est pas possible d'utiliser une variable qui n'aurait pas été initialisée au préalable sans générer un message d'erreur, même si c'est pour lui affecter la valeur NULL. Donc en PHP, un « bon codeur » veillera à initialiser toutes les variables qu'il utilise au préalable et travaillera sur un environnement en mode strict sans masquer aucune erreur ni utiliser le @.
Quant à NULL, c'est PHP qui ne propose pas un schéma normal, puisque la valeur nulle ne correspond normalement pas à une variable non déclarée mais à un type
NULL n'est pas un type, ce n'est pas non plus « rien », c'est une absence de valeur et ça se teste avec la stricte égalité au besoin. Voir le tableau ici
(comme en javascript où undefined correspond plutôt à une variable non déclarée).
Absolument pas : là aussi, une variable peut être déclarée en JavaScript et est en même temps indéfinie, ce qui ne signifie pas qu'elle n'existe pas mais qu'aucune valeur lui a été assignée. Par ailleurs, la déclaration des variables en JavaScript quoique recommandée n'est pas obligatoire.

C'est peut-être un peu tatillon comme manière de formuler les choses, mais dans n'importe quel langage, il y a un vocabulaire, une syntaxe, une grammaire et des méthodes de travail : mais il convient de les exprimer correctement, ça permet de gagner pas mal de temps lorsque vient le temps de s'en servir.

Cyrano, méticuleur de mouches expert. :mrgreen:

Re: ASP vs PHP

Posté : 06 déc. 2011, 09:58
par Nagol
Pour ce qui est de l'empty, ça me parait aussi normal, puisqu'une variable est forcément déclarée au préalable (tout comme en PHP pour les "bons codeurs"). Dans le cas d'un Array ou objet similaire, l'objet possède lui-même une méthode pour connaître la disponibilité d'une propriété de l'objet. Il est donc possible que C# ne possède aucun mot clé pour savoir si une variable existe. Quant à NULL, c'est PHP qui ne propose pas un schéma normal, puisque la valeur nulle ne correspond normalement pas à une variable non déclarée mais à un type (comme en javascript où undefined correspond plutôt à une variable non déclarée).
Waow, autant d'affirmations douteuses en une seule phrase, désolé, mais je peux pas laisser passer ça :non:
moi non plus!
Pour ce qui est de l'empty, ça me parait aussi normal, puisqu'une variable est forcément déclarée au préalable (tout comme en PHP pour les "bons codeurs").
Désolé, mais on est pas obligé de déclarer quelque variable que ce soit en PHP. En revanche, il n'est pas possible d'utiliser une variable qui n'aurait pas été initialisée au préalable sans générer un message d'erreur, même si c'est pour lui affecter la valeur NULL. Donc en PHP, un « bon codeur » veillera à initialiser toutes les variables qu'il utilise au préalable et travaillera sur un environnement en mode strict sans masquer aucune erreur ni utiliser le @.
même sis je suis d'accord avec ce que tu dis sur le principe, je vois pas pourquoi tu tiques, un bon codeur en php il fait tout ce qu'il dit, et tout ce que tu dis, les moins bons ne le font pas c'est un fait.
Quant à NULL, c'est PHP qui ne propose pas un schéma normal, puisque la valeur nulle ne correspond normalement pas à une variable non déclarée mais à un type
NULL n'est pas un type, ce n'est pas non plus « rien », c'est une absence de valeur et ça se teste avec la stricte égalité au besoin. Voir le tableau ici
null est en fait un type, en fait tout en php a un type à bas niveau, excepté l'absence d'existence d'une variable, qui se teste avec isset.
(comme en javascript où undefined correspond plutôt à une variable non déclarée).
Absolument pas : là aussi, une variable peut être déclarée en JavaScript et est en même temps indéfinie, ce qui ne signifie pas qu'elle n'existe pas mais qu'aucune valeur lui a été assignée. Par ailleurs, la déclaration des variables en JavaScript quoique recommandée n'est pas obligatoire.
la encore, un bon codeur va déclarer ses variables en javascript ne serait-ce que parce que la portée des variables en javascript est globale par défaut, et non locale, et undefined est à la différence un type qui défini même une variable qui n'existe pas, et il s'agit bien d'un type (d'ailleurs ça se teste avec la construction de langage typeof)
C'est peut-être un peu tatillon comme manière de formuler les choses, mais dans n'importe quel langage, il y a un vocabulaire, une syntaxe, une grammaire et des méthodes de travail : mais il convient de les exprimer correctement, ça permet de gagner pas mal de temps lorsque vient le temps de s'en servir.

Cyrano, méticuleur de mouches expert. :mrgreen:
Ben non pas assez tatillon justement, peut mieux faire :)

Re: ASP vs PHP

Posté : 06 déc. 2011, 10:07
par Cyrano
Je crois qu'il y a erreur d'interprétation sur la signification de undefined : ça ne signifie pas que ça n'existe pas, mais que ce n'est pas défini, ou encore qu'aucune valeur n'a été assignée. Il est bien évident que ce sera d'autant plus vrai si la variable n'a pas été déclarée, mais c'est un corolaire et non la même chose.

Quant à la déclaration des variables en JavaScript, je n'ai nullement dit qu'il ne fallait pas le faire, mais que ce n'était pas requis. Il est toutefois vivement recommandé de le faire, en particulier pour la raison que tu as invoqué à savoir la portée variant selon l'endroit où elle sera déclarée.

Re: ASP vs PHP

Posté : 06 déc. 2011, 14:31
par Nagol
Je crois qu'il y a erreur d'interprétation sur la signification de undefined : ça ne signifie pas que ça n'existe pas, mais que ce n'est pas défini, ou encore qu'aucune valeur n'a été assignée. Il est bien évident que ce sera d'autant plus vrai si la variable n'a pas été déclarée, mais c'est un corolaire et non la même chose.
Ben si c'est exactement ça au contraire, la non existence d'une variable, undefined vient du fait que toute variable déclarée appartient par défaut à l'objet window, et est donc une propriété non définies d'un objet qui existe par défaut, ce qui donne à mon avis du sens au mot "undefined"

On peut tester ça comme suit:
<html>
<head>
<title></title>
<script type="text/Javascript">
<!--

newvar = 'toto';
alert(window.newvar);

-->
</script>
</head>
<body>
</body>
</html>
Quant à la déclaration des variables en JavaScript, je n'ai nullement dit qu'il ne fallait pas le faire, mais que ce n'était pas requis. Il est toutefois vivement recommandé de le faire, en particulier pour la raison que tu as invoqué à savoir la portée variant selon l'endroit où elle sera déclarée.
C'est pour moi l'élément le plus décisif pour déterminer un code sérieux d'un code pas sérieux, exemple jquery a des variables globales non voulues...

Re: ASP vs PHP

Posté : 06 déc. 2011, 14:42
par Cyrano
Bon, il y a un point qui manque, essaye le code de cette manière :
<html>
<head>
<title></title>
<script type="text/Javascript">
<!--
var newvar;
alert(window.newvar);
newvar = 'toto';
alert(window.newvar);
-->
</script>
</head>
<body>
</body>
</html>
La première alerte affiche « undefined » et tu noteras bien que la variable est pourtant bien déclarée. La seconde alerte suit une assignation correcte et affiche donc la valeur attendue. Mais en fin de compte, lors de la première alerte, la variable existe bien, mais aucune valeur ne lui as été assignée.

Re: ASP vs PHP

Posté : 06 déc. 2011, 15:48
par Nagol
Bon, il y a un point qui manque, essaye le code de cette manière :
<html>
<head>
<title></title>
<script type="text/Javascript">
<!--
var newvar;
alert(window.newvar);
newvar = 'toto';
alert(window.newvar);
-->
</script>
</head>
<body>
</body>
</html>
La première alerte affiche « undefined » et tu noteras bien que la variable est pourtant bien déclarée. La seconde alerte suit une assignation correcte et affiche donc la valeur attendue. Mais en fin de compte, lors de la première alerte, la variable existe bien, mais aucune valeur ne lui as été assignée.
La première est dans window.document je suppose, et non dans window, vu qu'elle est déclarée et donc locale, et elle est donc undefined en tant que propriété que window.document :)