At 23:14 06.04.02, you wrote: >On Sun, 7 Apr 2002, Félix Hauri wrote: > > > > D'ailleurs ceux-ci sont également assez bien fournis au niveau des > > > resources de plus il sont nettements mieux structurés et un poil plus > > > stricts (j'exagère mais c'est un peut comme comparer du C avec de > > > l'ADA ou avec du Pascal). > > Voui, alors là, tes propos n'engagent que toi! > > Mais tu l'as dis au début: l'égout, lait cool heure;) > >Je ne dirai rien, je donnerai un exemple académique, simplifié et non >commenté, pour seconder ce que dit Félix, afin de montrer que Perl propose >des paradigmes assez intéressants:
Il a fallut que j'ouvre mes dico. pour paradigme et je ne suis toujours pas sur d'avoir compris le therme. paradigme par Hachette: Ling. Ensemble des formes d'un morphème lexical combiné avec ses désinences. (Ex.: dans le cas d'un verbe, l'ensemble des formes qui constituent sa conjugaison.) paradigme par Le Petit Robert: Ling. Ensemble des termes substituables situés en un même point de la chaîne parlée. Tu l'a utilisé dans le sens de "solutions alternative" ? Il est certain que le Perl authorise l'écriture d'un code clair pour des personnes consiencieuses mais il permet également d'en faire des particuliérement opaque. Ce qui n'est peut-être pas l'idéal pour des projets à plusieurs concepteurs. Ce problème n'existe pas ou très peu avec des languages tel que l'ADA ou le Pascal. C'est probablement ce qui fait sa force et sa faiblesse car du coup il peut bien s'adapté au différente formes que peut prendre de pensée des concépteurs de codes, ce qui les rend plus lisible par le concépteur lui même. Cela me fait penser à une réplique pas très bien côtée qui est "Je me comprend." . >use strict; >use Croak; > >package Rectangle; >sub new { > my ($class, $length, $width) = @_; > > return bless { 'length' => $length, > 'width' => $width > }, > $class; >} > >sub DESTROY { > my $self = shift; >} > >sub set_length { > my ($self, $length) = @_; > > $self->{'length'} = $length; >} > >sub set_width { > my ($self, $width) = @_; > > $self->{'width'} = $width; >} > >sub get_length { > my $self = shift; > > return $self->{'length'}; >} > >sub get_width { > my $self = shift; > > return $self->{'width'}; >} > >sub get_surface { > my $self = shift; > > return $self->get_width() * $self->get_length(); >} > >sub get_representation { > my $self = shift; > > return "RECT[" . $self->get_length() . ", " . $self->get_width() . "]"; >} > >sub is_bigger_than { > my ($self, $other) = @_; > > if ($self->get_surface() > $other->get_surface()) { > return 1; > } > else { > return 0; > } >} > >package Square; >use vars qw(@ISA); >use Carp; > >@ISA = qw (Rectangle); > >sub new { > my ($class, $side) = @_; > > my $self = Rectangle->new($side, $side); > > return bless $self, > $class; >} > >sub get_representation { > my $self = shift; > > return "SQUARE[" . $self->get_side() . " ^2] "; >} > >sub set_side { > my ($self, $side) = @_; > > $self->SUPER::set_length($side); > $self->SUPER::set_width($side); >} > >sub get_side { > my $self = shift; > > my $side = $self->SUPER::get_length(); > if ($side != $self->SUPER::get_width()) { > confess("assertion failed: side == length; !=width"); > } > > return $side; >} > >package main; >use Carp; > >print "Starting program.\n"; > >my $rectangle_1 = Rectangle->new(3, 4); >if (defined($rectangle_1)) { > my $square_1 = Square->new(5); > if (defined($square_1)) { > if ($square_1->is_bigger_than($rectangle_1)) { > print "This square instance is bigger than this rectangle.\n"; > } > print "Deleting object: ", $rectangle_1, ".\n"; > undef $rectangle_1; > print "Deleting object: ", $square_1, ".\n"; > undef $square_1; > } > else { > croak "Couldn't allocate Square instance.\n"; > } >} >else { > croak "Couldn't allocate Rectangle instance.\n"; >} > >print "Ending program.\n"; >exit(0); > > >-- >http://www-internal.alphanet.ch/linux-leman/ avant de poser >une question. Ouais, pour se désabonner aussi. ---------- MuTECH Martial Guex Rue des Alpes 1452 Les Rasses Switzerland Phone : +41 24 454 46 35 Fax. : +41 24 454 46 32 Email : [EMAIL PROTECTED] ([EMAIL PROTECTED] for Microsoft Outlook users) -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.