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.

Répondre à