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.

Reply via email to