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.