Traits

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Traits

Angel Java Lopez
Hola gente!

Al parsear y ejecutar fileouts de Pharo/Squeak, en mi VM, me encontre con
subclass:uses:.... y otras variantes. Veo que estan usando Traits en varias
partes. Lei un paper de Lukkas Rengi, e implemente algo simple (un solo
test por ahora) en AjTalk. Pero antes de seguir, quisiera preguntar algunas
cosas:

- Por que aparecio Traits? Aparecio en Squeak, no?

- Durante mas de dos decadas Smalltalk vivio sin Traits, es correcto?

- Squeak fue el primero que tuvo Traits?

- En que partes de Squeak se usan mas? Digo, puede que este usando en 30 o
300 clases, pero quizas de esas hay 10 que son las mas usadas en la vida
real. Tienen alguna idea?

- Aparte de la libreria de clases que ya mas o menos viene (dependiendo de
la imagen), se usan Traits en otros "paquetes"? Por ejemplo, no me fije,
Seaside usa Traits internamente en su implementacion?

Gracias por la info!

Angel "Java" Lopez
@ajlopez
gh:ajlopez
Reply | Threaded
Open this post in threaded view
|

Re: Traits

Edgar De Cleene
>  Por que aparecio Traits? Aparecio en Squeak, no?

Aca me van a saltar a la garganta los Pharopatas

Los Traits aparecieron en la desastrosa release 3.9 , cuyos autores no
nombro y que por resolver algo que solo a ellos les intesesaba , cambiaron
todo sin consultar a nadie
 
> - Durante mas de dos decadas Smalltalk vivio sin Traits, es correcto?
>
> - Squeak fue el primero que tuvo Traits?
>
> - En que partes de Squeak se usan mas? Digo, puede que este usando en 30 o 300
> clases, pero quizas de esas hay 10 que son las mas usadas en la vida real.
> Tienen alguna idea?

Dicho por gente que sabe , si usas Traits o herencia multiple es que no
sabes programar en Smalltalk
 
> - Aparte de la libreria de clases que ya mas o menos viene (dependiendo de la
> imagen), se usan Traits en otros "paquetes"? Por ejemplo, no me fije, Seaside
> usa Traits internamente en su implementacion?

En todos estos años, para no reconocer que se equivocaron, ponen plata para
que algun estudiante se mate inventando el agujero del mate.

SqueakLight no usa Traits, Cuis tampoco.
Lamentablemente , la compativilidad te caga y los años me enseñaron que es
mejor dejarlos.

Por suerte Andreas Raab descubrio como descargarlos, que sean realmente un
paquete y hay por ahi una version simplificada que funciona.

No te sabria decir si es la actual de Squeak o no.

Edgar


Reply | Threaded
Open this post in threaded view
|

Re: Traits

garduino
In reply to this post by Angel Java Lopez
Hola, te contesto lo (poco) que conozco del tema.....

El 4 de diciembre de 2012 08:23, Angel Java Lopez
<[hidden email]>escribió:

> **
>
>
> Hola gente!
>
> Al parsear y ejecutar fileouts de Pharo/Squeak, en mi VM, me encontre con
> subclass:uses:.... y otras variantes. Veo que estan usando Traits en varias
> partes. Lei un paper de Lukkas Rengi, e implemente algo simple (un solo
> test por ahora) en AjTalk. Pero antes de seguir, quisiera preguntar algunas
> cosas:
>
> - Por que aparecio Traits? Aparecio en Squeak, no?
>

No se si aparecieron primero en Squeak, yo recuerdo algunas discusiones con
Napoleón (al decir de Edgar) pero ya en Pharo.... Tampoco se cuál fue la
motivación de la implementación, se que con esto me puedo ganar las
puteadas de muchos, pero nunca me pareció que valga la pena el costo de
implementación.


>
> - Durante mas de dos decadas Smalltalk vivio sin Traits, es correcto?
>
>
Sip.


> - Squeak fue el primero que tuvo Traits?
>
>
Reitero lo de arriba, no se si fue Squeak o Pharo, o al inicio del fork de
Pharo (Shappire creo) fue que se implementó.


> - En que partes de Squeak se usan mas? Digo, puede que este usando en 30 o
> 300 clases, pero quizas de esas hay 10 que son las mas usadas en la vida
> real. Tienen alguna idea?
>
>
No se cuánto se usan, es más nunca había entendido bien como funcionaban
hasta un pequeño paper de Javier Orsaria, de este grupo, que lo explicaba.
Francamente nunca tuve la necesidad de usar Traits, a lo mejor por
desconocimiento mio, pero sospecho que en la imagen base al menos, no se
usan mucho.


> - Aparte de la libreria de clases que ya mas o menos viene (dependiendo de
> la imagen), se usan Traits en otros "paquetes"? Por ejemplo, no me fije,
> Seaside usa Traits internamente en su implementacion?
>
>
Es probable que los paquetes más intimamente relacionados con Pharo usen
Traits pero, honestamente, no lo veo como muy usado en ninguna cosa que yo
conozca.


> Gracias por la info!
>
>

No es mucho, pero es lo que se :)


> Angel "Java" Lopez
> @ajlopez
> gh:ajlopez
>
>  
>



--
============================================
Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
Arduino Software  http://www.arduinosoftware.com
PasswordsPro  http://www.passwordspro.com
greensecure.blogspot.com germanarduino.blogspot.com
============================================
Reply | Threaded
Open this post in threaded view
|

Re: Traits

Emilio Oca-2
In reply to this post by Angel Java Lopez
2012/12/4 Angel Java Lopez <[hidden email]>

> **
> Hola gente!
>
> Al parsear y ejecutar fileouts de Pharo/Squeak, en mi VM, me encontre con
> subclass:uses:.... y otras variantes. Veo que estan usando Traits en varias
> partes. Lei un paper de Lukkas Rengi, e implemente algo simple (un solo
> test por ahora) en AjTalk. Pero antes de seguir, quisiera preguntar algunas
> cosas:
>
> - Por que aparecio Traits? Aparecio en Squeak, no?
>
Aparecio como una herramienta mas, en squeak, primero embebida, luego se
hizo modular.


> - Durante mas de dos decadas Smalltalk vivio sin Traits, es correcto?
>
Yo diria 3. Durante esas 3 decadas y mas Smalltalk vivo tambien con otras
cosas de dudoso gusto.
El concepto de traits aparece como posible solucion a esos otros problemas.



> - Squeak fue el primero que tuvo Traits?
>
Sep, Squeak, y ahora Pharo, presentan una posiblidad unica en donde
explorar estas herramientas.



> - En que partes de Squeak se usan mas? Digo, puede que este usando en 30 o
> 300 clases, pero quizas de esas hay 10 que son las mas usadas en la vida
> real. Tienen alguna idea?
>
En que porcentaje de clases se usan Continuantions? en que porcentajes se
usa intercepcion de metodos? en que porcentajes se usa introspeccion? en
que porcentajes se usa la herencia en lugar de la composicion?



> - Aparte de la libreria de clases que ya mas o menos viene (dependiendo de
> la imagen), se usan Traits en otros "paquetes"? Por ejemplo, no me fije,
> Seaside usa Traits internamente en su implementacion?
>
Esto viene muy relacionado con las preguntas del parrafo anterior. Traits
es una herramienta de modelado meta, su uso siempre va a estar muy acotado
a las partes oscuras en donde no llega el usuario comun, por eso no
proliferan los paquetes que dependan de traits.
Quien modela su negocio debe construirlo usando traits? Creo que no, de
ninguna manera.
Y quien modela un modelo? puede ser... ahi si tiene sentido. Es bueno que
la opcion este disponible.

Asi como la experiencia y formacion te permite usar la composicion en lugar
de la herencia, y como la herencia multiple es comodamente salvable
mediante un diseño apropiado.
Traits pretende ser una posibilidad para resolver problemas de diseño
presentes que no han tenido una respuesta tan clara como el abuso de la
herencia y la herencia mutiple (las respuesta actuales son del estilo,
"dejalo asi que anda" o "dejalo asi que todos ya lo conocemos").



> Gracias por la info!
>
Saludos

     Emilio



> Angel "Java" Lopez
> @ajlopez
> gh:ajlopez
>
>  
>