[gull] Php/MsSQL obsoletes?
Félix Hauri
felix at f-hauri.ch
Wed Sep 28 13:50:13 CEST 2005
On Wed, Sep 28, 2005 at 10:34:16AM +0200, Antoine Induni wrote:
> >
> > > Et que pensez-vous du fait que ces langages sont faiblement
> > > typés.
> > Qu'entend-tu par ``faiblement typés'' ?
> >
> Effectivement, c'est une définition très vaste et contradictoire.
> Je pensais à ça...
> tableau = [1, 2, 3, "a", "b", "c"]
Alors il y a deux écoles:
les programmeurs qui utilisent les exceptions et les erreurs
concretement, mais quand ils font tu perl ou du python alors
font des prototypes et dans ce cas ils préfèreront gérer
les erreurs eux-même.
Forcer un type est une chose facile et souple. Par exemple la regexp
suivante autorise un nombre entier ou un nombre à virgule flotante,
celle-ci pouvant être exprimée par une virgule ou un point:
/^(\d+|\d*[.,]\d+)$/
et il y a les programmeurs qui n'utilisent pas les exceptions ou les
erreurs, d'ailleur ces considération les em... et ils sont bien
content de pouvoir assigner n'importe-quoi à une variable PHP...
> Moi ça me surprend un peu. Typiquement si je veux faire une collection
> d'objets métiers, peut-on forcer le type d'objets que l'on accepte?
Il existe des méchanismes (de base ou presque c.f. man perlmodlib) pour
gérer ce type de limitations, générer des erreurs etc. dans chacun des
languages cités.
(je présume un peu pour python, mais le contraire m'étonnerais fort;)
Même on peut faire des truc rigolos:
$ perl -e 'use Scalar::Util "dualvar";
my $var=dualvar 100, "pommes";
printf "%s, %d\n",$var,$var;
printf "%d %s.\n",$var,$var;
print "Et pour finir le double de ".$var.
" fait: ".($var * 2)." ".$var."\n";
'
pommes, 100
100 pommes.
Et pour finir le double de pommes fait: 200 pommes
Voilà, ce n'est pas très lisible, mais cela fonctionne:-/
(Je n'ai pas trouvé d'application concrète de ce genre de propriété
mis à part de démontrer la souplesse de perl;)
En plus, si ton script est une interface vers un serveur SQL,
c'est au niveau du SQL que te devra chercher à respecter
les types...
Maintenant, pour ``une collection d'objets métiers'', je te recommande
plutôt ``C'', c't'un vieux truc mais on n'a encore pas trouvé mieux;)
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list