Fwd: off-topic duda sobre polimorfismo...

2005-07-02 Por tema Cristian Gutierrez
Ayer en la tarde, Horst von Brand dijo:
 blackbeer [EMAIL PROTECTED] wrote:

 [...]

 Polimorfismo es un concepto de OO. [...]

 Polimorfismo /nada/ tiene que ver con OOP. Se refiere a que una operacion
 se pueda invocar igual para datos de distinto tipo. [...]

Quizas ambos tienen la razon :)

,[ http://c2.com/cgi/wiki?CategoryPolymorphism ]
| Types of polymorphism: 
| 
| GenericPolymorphism?, also known as ParametricPolymorphism: Generic
| algorithms, templates, parameteric types, etc, [...]
| 
| SubtypePolymorphism?: Polymorphism based on subtyping (the notion that
| one type can extend/implement the behavior of another in such fashion
| that any valid operation on the supertype is valid on the subtype),
| subsumption (allowing a subtype to be used in a context where a
| supertype is expected), and DynamicDispatch (selecting a function or
| data based on the runtime type of its arguments--see SingleDispatch,
| DoubleDispatch, MultipleDispatch (aka MultiMethods)). JavaLanguage,
| CeePlusPlus, etc. all have subtype polymorphism [...]
`

  Caso extremo es tal vez lenguajes como Perl, en los que puedes
 aplicar la operacion sort a un arreglo de numeros o de strings, y
 hace lo correcto (ordena numericamente o como string) solo.

nitpicking

Eso no es tan asi; `sort' ordena lexicograficamente (o, al menos, segun
lo que LC_COLLATE diga) a menos que se le indique otra forma,
tipicamente con una funcion anonima:

$ perl -le 'print join( , sort @ARGV)' 1 2 3 10
1 10 2 3

$ perl -le 'print join( , sort {$a cmp $b} @ARGV)' 1 2 3 10
1 10 2 3

$ perl -le 'print join( , sort {$a = $b} @ARGV)' 1 2 3 10
1 2 3 10

/nitpicking

Salu2,

-- 
Cristian Gutierrez  /* [EMAIL PROTECTED] */
Nothing but perl can parse Perl.  -- Tom Christiansen


Fwd: off-topic duda sobre polimorfismo...

2005-07-01 Por tema blackbeer
Cortito:

Polimorfismo es un concepto de OO. Tiene que ver con reformular el
comportamiento de determinado metodo en las clases descendientes, cuando el
mismo ya se ha implementado en clases supoeriores (o no si es abstracta).
Sobrecarga es concepto de Lenguaje de Porgramación. Tiene que ver con
escribir varias funciones con el mismo nombre pasando diferentes argumentos
en cada una de ellas.


   Tengo una duda respecto a la sobrecarga y el polimorfismo, por un
 lado un amigo me dice que sobrecarga y polimorfismo son cosas
 distintas y que siempre ha habido confusion al respecto, otro amigo me
 dice que sobrecarga es parte del polimorfismo (tambien vi en un libro
 de C que decia algunos ejemplos de polimorfismo son la sobrecarga de
 funciones y operadores). Buscando (ligeramente) en google me encontre
 que se trata a polimorfismo y sobrecarga como temas separados, pero
 tambien en algunos sitios se mencionan ejemplos de polimorfismo con
 sobrecarga. Me parecio interesante enviar mi interrogante a la lista
 para ver que me dicen..  y si alguien puede que me pase de referencia
 alguna fuente confiable para salir de la duda..Muchas gracias.



Fwd: off-topic duda sobre polimorfismo...

2005-07-01 Por tema Horst von Brand
blackbeer [EMAIL PROTECTED] wrote:

[...]

 Polimorfismo es un concepto de OO. [...]

Polimorfismo /nada/ tiene que ver con OOP. Se refiere a que una operacion
se pueda invocar igual para datos de distinto tipo. O sea, por ejemplo
write() de Pascal es polimorfico: Puedes pasarle integer, real, o incluso
strings (== arreglos de caracteres), incluso un numero variable de cosas.
Igual funciones raras como sqr (si le das integer, retorna integer; si le
das real retorna real). Y cosillas como ord(). Igual printf(3) de C: Puedes
llamarlo con uno, o muchos argumentos.  Los argumentos pueden ser de
diferentes tipos. O free(3), toma un puntero a cualquier cosa. Caso
extremo es tal vez lenguajes como Perl, en los que puedes aplicar la
operacion sort a un arreglo de numeros o de strings, y hace lo correcto
(ordena numericamente o como string) solo. Y no olvidar el humilde '+' en C
o similares: Sirve para sumar int, char, unsigned, float, double, ... Las
macros de C dan polimorfismo, puedes definir una macro:

   #define sqr(x) ((x) * (x))

a la que le importa un pepino cual es el tipo de x. Incluso GCC tiene la
extension typeof() que permite descubrir de que tipo es algo, y crear
variables de ese mismo tipo:
 
   #define swap(a, b)  do{ typeof(a) _a = a; a = b; b = _a; }while(0) 

con lo que luego:

   int x, y;
   struct xyz {...} xx, yy;
   ...
   swap(x, y);
   ...
   swap(xx, yy);

Puedes tener OOP sin polimorfismo, que es el caso cuando usas p.ej. C++ sin
usar sobrecarga de funciones. (Y al reves, si compilas C + funciones
sobrecargadas en C++, no estas haciendo OOP, pero si polimorfismo.) Puede
decirse que tener funciones virtuales es una forma de polimorfismo, pero es
limitada en que solo sigue la idea de que si A deriva de B, entonces A /es/
un B, y toda operacion de B debe poder aplicarse a A (con posibles ajustes).

Si, OOP sin polimorfismo pierde buena parte del chiste. Pero no quiere
decir que polimorfismo solo sea parte de OOP.
-- 
Dr. Horst H. von Brand   User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria  +56 32 654239
Casilla 110-V, Valparaiso, ChileFax:  +56 32 797513
From [EMAIL PROTECTED]  Fri Jul  1 17:41:37 2005
From: [EMAIL PROTECTED] (Cristian Correa)
Date: Fri Jul  1 17:41:31 2005
Subject: Software que traiga iconos
In-Reply-To: [EMAIL PROTECTED]
References: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

On 7/1/05, Luis Eduardo Vivero Peña [EMAIL PROTECTED] wrote:
 Holas,
 
 
 Alguien conoce algun software bajo linux que tenga iconos de red y
 computadores?
 
 Algo asi como dia, pero mas bonitos...
 Me gusta n inkscape, pero no trae iconos.
 
 Ni modo de hacerlos a mano con gimp, no le pego al dibujo.
 
 En los iconos de openclipart no viene la nube :S y vienen unos iconos
 mirando para un lado, otros para otro lado...ademas se cae nautilus
 cuando visualizo los svg...
 
 
 Salu2
 
 
 Luis Eduardo Vivero Peña.
 
 

Si quieres puedes ver algunos iconos que tengo en mi página
http://skauch.sytes.net/icon/
Ahi le puedes echar una mirada :D

PD: busca en la parte de sistema, hay arios iconos o en la parte de Computadores
-
Cristian Correa Urrutia 
Estudiante  Ingeniería Civil en Informática
Universidad Técnica Federico Santa María
Campus Santiago
LinuxUser #366800 counter.li.org
jabber: [EMAIL PROTECTED]


off-topic duda sobre polimorfismo...

2005-06-30 Por tema Juan Reyes López
  Tengo una duda respecto a la sobrecarga y el polimorfismo, por un
lado un amigo me dice que sobrecarga y polimorfismo son cosas
distintas y que siempre ha habido confusion al respecto, otro amigo me
dice que sobrecarga es parte del polimorfismo (tambien vi en un libro
de C que decia algunos ejemplos de polimorfismo son la sobrecarga de
funciones y operadores). Buscando (ligeramente) en google me encontre
que se trata a polimorfismo y sobrecarga como temas separados, pero
tambien en algunos sitios se mencionan ejemplos de polimorfismo con
sobrecarga. Me parecio interesante enviar mi interrogante a la lista
para ver que me dicen..  y si alguien puede que me pase de referencia
alguna fuente confiable para salir de la duda..Muchas gracias.


off-topic duda sobre polimorfismo...

2005-06-30 Por tema Juan Reyes López
perdon el libro que mencione era de C++, tengo claro que C no es
orientado a objetos..