Pensar distinto

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

Pensar distinto

Edgar J. De Cleene
Esto lo copie de la lista del club Smalltalk.

Se puede o no coincidir con lo que dice Guillermo Schwarz , pero me parece
muy interesante y espero que alguien opine sobre esto.
 

> Andrés,
>
> Eso puede suceder en C (recuerdo haber desarrollado muchas capas de
> abstracción en SCO C++, pero que nunca funcionaron en otro compilador, mucho
> menos en g++ 8-(
>
> Sin embargo todo lo desarrollado en Java funciona hasta el día de hoy,
> porque Java se ha encargado de hacer las cosas compatibles hacia atrás, a
> nivel del formato de las clases que entiende la máquina virtual.
>
> En Smalltalk, su creador que es Alan Kay, es un fuerte proponente de que las
> cosas cambien, que no se fije nada en duro, y yo comparto plenamente su
> apreciación. Por eso propone que el formato de las imágenes en Smalltalk
> sean diferentes y evolucionen, lo mismo con el formato de los objetos, de
> las clases, etc. Aunque el lenguaje se mantiene inalterable, la mayor parte
> de las mejoras ocurren desde la máquina virtual hacia abajo y no hacia
> arriba (porque el lenguaje no cambia, muy a pesar de lo que a Alan Kay le
> gustarìa).
>
> Pero el hecho de que cambie tanto los formatos tiene una desventaja: Es
> imposible hacer un programa en Smalltalk que corra en todas las máquinas
> virtuales. Es una gran desventaja. Cuando me encuentro con este tipo de
> problemas, siempre pongo una capa de abstracción entre medio. Es decir, el
> programador no debiera programar directamente sobre Smalltalk, sino sobre
> una capa de abstracciòn que estuviera implementada en todas las màquinas
> virtuales. Algo asì como un "Smalltalk sancionado", que alguien te asegure
> que ese Smalltalk es uniforme en un conjunto razonable de Smalltalks
> comerciales y open source. El mecanismo de control podrìa corresponder a un
> sistema de permisos sobre Smalltalk para modificar y para usar ciertas
> clases, que deberìa ejecutar mientras se desarrolla, y que luego cuando se
> pasa a producción se podrìa desechar (estoy pensando en un Proxy o en AOP).
>
> Por otra parte el hecho de que Smalltalk no cambie (o no cambie tanto, ya
> que los cambios se producen principalmente a nivel de la class library),
> creo que corresponde a que efectivamente nadie a encontrado un sistema
> mejor. En Smalltalk nada està amarrado (o casi nada), de modo que como todo
> es modificable, o bien se encontrò un màximo local y por eso ya no se puede
> seguir mejorando el lenguaje, o no hay nadie suficientemente inteligente que
> estè interesado en averiguar còmo Smalltalk funciona y modificarlo para que
> haga algo nuevo (como dice Alan Kay se requiere gente que entienda cosas
> diferentes, "pink plane AND blue plane").
>
> Lo ùltimo que he visto en Smalltalk y Java es AOP y Traits. Ambas ideas me
> parecen mucho màs limpias y poderosas que lo que se utiliza tipicamente en
> Smalltalk, porque de alguna manera que todos los objetos se conozcan (lo que
> tìpicamente se produce en Smalltalk y cuando diseñas diagramas de clases en
> UML), es una forma de acoplamiento que impide que se ataquen problemas
> realmente grandes. Cerca de las 300 clases, el sistema se vuelve inestable
> (esto depende de las personas, puede que sea a las 30 o a las 3000, pero de
> seguro no a las 300.000). Como dice Alan Kay los que estàn "enamorados de
> los objetos" no entienden esto y piensan que incluso es bueno estar amarrado
> a esta idea, porque no piensan en los procesos.
>
> Estructurando sistemas con AOP, proxies y traits me da la impresiòn que los
> sistemas quedan mucho màs pequeños. Y esto es algo que dice Alan Kay en su
> presentaciòn tambièn: Que para que un sistema pueda crecer, necesariamente
> tiene que ser pequeño, para que sea entendible. Lo que significa que debemos
> eliminar todo ese código repetido y quedarnos con el código que realmente
> importa, para lo cuál muestra esa media página de código que implementa un
> intérprete en Lisp. No sè si ustedes saben pero la inspiración de Alan para
> crear Smalltalk fue Simula y Lisp, por eso Smalltalk corre dentro de un
> ambiente al igual que Lisp.
>
> Otra de las cosas con la que estoy de acuerdo con Alan es que los sistemas
> debieran ser màs configurables, para en tiempo de ejecuciòn tomar cambios.
> Claro que èl propone que los cambios estèn en còdigo, y no me parece mal que
> asì sea, pero creo que la mayor parte de los cambios debieran ser por
> configuraciòn, y tener configuraciones a nivel de archivos (a la Unix) me
> parece como una gran chambonada. De partida hay que saber dònde està el
> archivo, hay que saber el formato, y luego hay que reiniciar el sistema.
> Todo eso tiene soluciòn, pero sigue siendo una chambonada como idea
> original.
>
> La configuraciòn debe ser en lìnea y se debe poder guardar y copiar (como
> objeto). Las verificaciones las puede hacer el programa y lo que ejecuta
> debe preocuparse de mantener todo consistente. El enfoque de archivos es un
> enfoque flojo y pobre, pero salen hordas de programadores con esa manera de
> pensar, de modo que no me parece extraño que sólo los gerentes tengan buenos
> sueldos, si los ingenieros se ven a sí mismos como gente que hace el trabajo
> de limpieza (o trabajo repetitivo que podrìa hacer una màquina) incluyendo
> el trabajo de programaciòn, lo cual explica porqué ha habido tan poco avance
> en como se desarrollan los sistemas, ha aumentado considerablemente el
> alcance (en cuanto que hoy en dìa todas las empresas funcionan con sistemas
> computacionales), pero la calidad del software desarrollado no ha aumentado
> considerablemente.
>
> Sin duda el alcance de los sistemas no puede seguir expandièndose
> ilimitadamente, porque hoy en dìa casi todo lo que peude ser automatizado de
> manera simple ya lo ha sido, no hay personas que no tengan acceso a
> computadores (o son muy pocos los que quedan aùn). De modo que lo ùnico que
> puede pasar es que la calidad del software aumente considerablemente. Si lo
> piensas todos lossistemas que uno necesita ya existen. Se pueden comprar
> desde autos hasta departamentos por internet, puedes hacer tus operaciones
> bancarias y pagar cuentas por internet. Falta poder pagar las multas de
> trànsito por internet, pero es un detalle. Los impuestos se pagan por
> internet, ¿què tantos sistemas màs se puede desarrollar?
> Nuevas necesidades siempre va a haber, pero no serà suficiente para cubrir
> la oferta de desarrollo, de modo que necesariamente los sistemas deberàn ser
> menos monolìticos y màs fàciles de ensamblar como piezas lego. Creo que esa
> es una gran oportunidad para Smalltalk y para Java, porque son màs dinàmicos
> que los lenguajes tradicionales.
>
> El problema que tenemos es que tenemos mucha gente acostumbrada a pensar de
> la manera tradicional y entregar un EXE o un JAR al final del proceso. Se
> tiene que pensar màs como un sistema que va creciendo desde un "Hello World"
> hasta entregar todas las funconalidades pedidas. Un sistema que no es
> necesario bajarlo para subirle nuevas funcionalidades, es decir, donde se
> pueda ir desarrollando al mismo tiempo que lo estàn usando.
>
> Imagìnate un sistema con 3 pantallas, le agrego una cuarta y la gente que lo
> usa lo ve inmediatamente, voy agregando componentes en la pantalla y cada
> componente ya tiene incorporados los servicios que tiene que llamar y esos
> servicios se pueden redefinir. Eso serìa como armar sistemas como si fueran
> legos.
>
> Saludos,
> Guillermo.


Reply | Threaded
Open this post in threaded view
|

Re: Pensar distinto

Elvio
Hola gente,


" [...] es una forma de acoplamiento que impide que se ataquen problemas
realmente grandes. Cerca de las 300 clases, el sistema se vuelve inestable
 (esto depende de las personas, puede que sea a las 30 o a las 3000, pero de
  seguro no a las 300.000). Como dice Alan Kay los que estàn "enamorados de
  los objetos" no entienden esto y piensan que incluso es bueno estar
amarrado
  a esta idea, porque no piensan en los procesos."

Que procesos?? En objetos querra decir. Porque en Smalltalk no existe otra
cosa que eso. De a poco fui entendiendo que para rasguñar un poquito y
sacarle jugo a Smalltalk hay que transpirar y laburar. MUCHO. Para mi hay
cosas que inherentemente estan acopladas y realmente quizas no se pueda
desacoplar todo. Hasta quizas sea un error intentar desacoplarlo todo,
porque en ese intento, ahi si que la complejidad nos deja con el fango hasta
el cuello.

"Estructurando sistemas con AOP, proxies y traits me da la impresiòn que los
  sistemas quedan mucho màs pequeños. Y esto es algo que dice Alan Kay en su
  presentaciòn tambièn: Que para que un sistema pueda crecer, necesariamente
  tiene que ser pequeño,"

Pequeño en el sentido del volumen de codigo? Me parece una aseveracion un
tanto apresurada. Que seria crecimiento? Los sistemas crecen de muchas
maneras quizas por reestructuracion o reorganizacion de mecanismos que el
mismo programador implemento previamente. Me he encontrado en esta situacion
muchas veces. Quizas el usuario final percibio una minima mejora. Pero para
el sistema esa reorganizacion interna, fue un crecimiento. El sistema puede
crecer (o cambiar) en volumen de mecanismos lo que no implica que crezca en
cantidad de pantallas o cosas percibidas por el usuario final... Digo, no
hay una sola manera de entender la realidad. Se esta intentando simplificar
las cosas. "Simplificar" de manera condenable.

"Que para que un sistema pueda crecer, necesariamente
  tiene que ser pequeño, para que sea entendible."

Para que sea entendible realmente deberia ser pequeño? Pensemos un poquito
en esto... no podemos imponerle una linealidad tan grosera a las cosas...


"Otra de las cosas con la que estoy de acuerdo con Alan es que los sistemas
  debieran ser màs configurables, para en tiempo de ejecuciòn tomar cambios.
  Claro que èl propone que los cambios estèn en còdigo, y no me parece mal
que
  asì sea, pero creo que la mayor parte de los cambios debieran ser por
  configuraciòn, y tener configuraciones a nivel de archivos (a la Unix) me
  parece como una gran chambonada. De partida hay que saber dònde està el
  archivo, hay que saber el formato, y luego hay que reiniciar el sistema.
  Todo eso tiene soluciòn, pero sigue siendo una chambonada como idea
  original."

Eso es porque inclusive los mismos Smalltalkers usan al Smalltalk como si
fuera Java o C++. Es como tener una notebook y usarla solamente para
aplastar moscas contra el escritorio. Y si no hay un cambio de mentalidad se
va a seguir usando Smalltalk para renderizar HTML o serializar objetos via
XML, o usar XML para configuracion, etc. Para usar Smalltalk de otra manera
ineludiblemente hay que entrar en la complejidad y no rajarle a los
intestinos del Smalltalk. Cosa que empieza a contraponerse con lo que esta
intentando pregonar Alan Kay.

"Sin duda el alcance de los sistemas no puede seguir expandièndose
  ilimitadamente, porque hoy en dìa casi todo lo que peude ser automatizado
de
  manera simple ya lo ha sido, no hay personas que no tengan acceso a
  computadores (o son muy pocos los que quedan aùn). De modo que lo ùnico
que
  puede pasar es que la calidad del software aumente considerablemente."

La calidad del soft va a aumentar. La mayoria de los sistemas de hoy en dia
son precarios. Es como si fuera que aun estamos en la fase de urbanizacion.
Se esta construyendo casas y calles, todavia quedan zonas por urbanizar.
Pero se me hace que con el tiempo los conceptos van a ir cambiando. Aun hay
casas y un porcentaje infimo son casas de dos pisos. La aparicion de una
casa de dos pisos tiende a una generalizacion que es el edificio de muchos
pisos: otro concepto de vivienda. Lo mismo para las calles. Aun hay calles y
recien ahora aparecen algunas de doble mano. Pero todavia no existen los
tuneles, las grandes avenidas, las autopistas y los puentes. La busqueda de
las calidad, posiblemente engendre nuevos conceptos ¿no les parece?

"Nuevas necesidades siempre va a haber, pero no serà suficiente para cubrir
  la oferta de desarrollo, de modo que necesariamente los sistemas deberàn
ser
  menos monolìticos y màs fàciles de ensamblar como piezas lego."

En Smalltalk siempre ensamblamos como en el lego. Las piezas son los
objetos. Cuando las piezas son mas grandes, (frameworks, componentes,etc) la
construccion de sistemas se asemeja mas a la produccion en serie de
productos. Todos iguales y con la misma funcionalidad. Es como la
construccion de casas pre-moldeadas, todas iguales. Para construir una casa
"distinta" no queda otra que salir del universo pre-moldeado.

"Creo que esa
  es una gran oportunidad para Smalltalk y para Java, porque son màs
dinàmicos
  que los lenguajes tradicionales."

Java es un lenguaje y ¿Smalltalk?....

"El problema que tenemos es que tenemos mucha gente acostumbrada a pensar de
  la manera tradicional"

Como pensar que Smalltalk es un lenguaje.

Realmente no estoy muy de acuerdo con todo este mail. Me parece  son de una
simplificacion grotezca de las cosas y le da un matiz de unidimensionalidad
al desarrollo. Esto nos ata a continuar pensando en el soft  en los terminos
convencionales. Y el salto se da cuando se rompen esas convenciones y
prejuicios. Pensemos la epoca cuando hicieron el Smalltalk-80. Esos si que
rompieron con todo e inclusive muchas de las cosas que usamos hoy las
hicieron en aquella epoca. Todavia no le llegamos ni a los talones al
Smalltalk-80...

Saludos

Elvio
Reply | Threaded
Open this post in threaded view
|

Re: Pensar distinto

Edgar J. De Cleene



El 3/30/07 10:59 AM, "Elvio Fernandez" <[hidden email]> escribió:

> Hola gente,
>
>
> "El problema que tenemos es que tenemos mucha gente acostumbrada a pensar de
>   la manera tradicional"
>
> Como pensar que Smalltalk es un lenguaje.
>
> Realmente no estoy muy de acuerdo con todo este mail. Me parece  son de una
> simplificacion grotezca de las cosas y le da un matiz de unidimensionalidad
> al desarrollo. Esto nos ata a continuar pensando en el soft  en los terminos
> convencionales. Y el salto se da cuando se rompen esas convenciones y
> prejuicios. Pensemos la epoca cuando hicieron el Smalltalk-80. Esos si que
> rompieron con todo e inclusive muchas de las cosas que usamos hoy las
> hicieron en aquella epoca. Todavia no le llegamos ni a los talones al
> Smalltalk-80...
>
> Saludos
>
> Elvio

Que bueno que alguien se prende.
Le mande mail a Guillermo para que sepa que postee esto aqui.
No ataquemos a quien no se puede defender.
No hay unSmalltalk, como no hay unaRealidad.
Yo he dicho muchas veces que no me considero un "real Smalltalker".
Ahora que me voy metiendo cada vez mas adentro, voy aprendiendo, por suerte
con gente que sabe mas.
Pero en realidad nadie sabe.
Parece un contrasentido, pero es así.
Cada uno habla según le va en la feria,como dice el refrán.

Vos opinas que el Smalltalk 80 es bueno.
He visto opiniones de gente respetable que piensa que algunos mas viejos
tienen cosas interesantisimas que no están mas.

Yo solo me dedico a Squeak, que ni es el único, ni el mejor, pero es el que
me permite aprender.

Cambiarlo, equivocarme, descubrir que le puedo enseñar un par de trucos a
Ralph (y aprender un montón)

Sigo pensando que la elegancia de algo está en el mínimo usable, como
discutimos aquí con German.

Pero ese minimo no es el mismo porque lo que deseamos como producto difiere.
Si yo quiero algo para enseñar a los chicos , voy a necesitar Etoys.
Si quiero algo para web, toda la cadena hasta Seaside o HttpView (o algo que
se invente mejor)
Si quiero experimentar con los objetos, las ideas sobran (y las locuras)
Algo de lo que en su momento me queje en la lista se está volviendo
realidad.
Hoy existen muchas imagenes distintas, originadas en Squeak 3.7 al 3.9.
Esto sin duda puede desorientar a muchos.
Pero el tiempo pasa.
Alguna vez la TV era en blanco y negro y solo se veia canal 7.

Así que como decia el querido cómico, no se vayan que ahora viene lo mejor.

Que no es 3.10 pero espero que sea un paso mas en la dirección correcta .

Cual es la dirección correcta para mi ?

Una imagen cada vez menor, de donde se pueda ir sacando los paquetes en el
camino.

Y que cada uno cargue juegos, web, locura .
Agregar música a gusto. Consumir con moderación


Edgar


Reply | Threaded
Open this post in threaded view
|

Re: Pensar distinto

Elvio
Como andas Edgar,

che no es ataque. Es critica o reflexion. No hay que sentirse mal cuando hay
una critica. La idea es absorver todo lo posible de la critica y procesarlo
cada uno. Lo que sirve sirve y lo que no, se lo lleva el viento.

Muchachos es solo charla. Son ideas, no peleas. A mi me interesa que esto se
entienda. Si cada vez que hay otra postura contrapuesta a la nuestra nos
enojamos estamos al horno. No hay que tomarlo tan a pecho. Asi terminamos
todos peleados, porque no podemos lidiar con otros puntos de vista. Creo que
si seguimos ese tren gana el famoso mainstream del mercado, cuyo fin en
ultima instancia (para poder vender), se dedica sistematicamente a hacernos
creer que no es posible ver las cosas desde otro punto de vista, o que otro
punto de vista es inaplicable, inapropiado, delirante, excecrable, etc.

"Yo he dicho muchas veces que no me considero un "real Smalltalker"

Yo me considero un usuario de Smalltalk, un aprendiz. Y voy a seguirme
considerando asi por muchos, muchos muuuuuuuuuchos años.

" Vos opinas que el Smalltalk 80 es bueno.
He visto opiniones de gente respetable que piensa que algunos mas viejos
tienen cosas interesantisimas que no están mas."

Tambien hay cosas posteriores al Smalltalk-80 que son interesantisimas y no
estan mas.

" Cada uno habla según le va en la feria,como dice el refrán."

che Edgar cada uno habla con lo que puede, con lo que tiene. Y eso esta
barbaro. ¿Entonces si a uno le va mal va a hablar mal y si por el contrario
le va bien, va hablar bien? Si por ej a mi me va relativamente bien con un
proyecto ¿entonces implicaria que no hay lugar para que yo haga una revision
o autocritica de lo que hago? Se entiende lo que quiero decir? no habria
ninguna instancia superadora?

" Yo solo me dedico a Squeak, que ni es el único, ni el mejor, pero es el
que
me permite aprender."

Afloje Edgar que no hay ataque.

" Si quiero algo para web, toda la cadena hasta Seaside o HttpView (o algo
que
se invente mejor)"

Uffff!! jejejej! creo que de esto algunos saben mi opinion.

Cuando en el anterior mail dije:

"El problema que tenemos es que tenemos mucha gente acostumbrada a pensar de
> la manera tradicional"
>
> Como pensar que Smalltalk es un lenguaje."

Es un ataque? De hecho vos mismo Edgar en mis primeros post aca alrededor de
septiembre me dijiste lo mismo y yo no me senti atacado. Me hizo pensar, y
sumo un granito de arena. Tenias razon.

Partir de la premisa que Smalltalk es un lenguaje nos induce a pensar que
tiene los mismos limites que un lenguaje convencional y posteriormente
seguimos los mismos rumbos de los lenguajes tradicionales. Y ahi... se
empieza a ir todo al carajo. Vos entendes lo que yo digo.

Bueno, ojala que Guillermo Schwarz no se sienta atacado. Lo que digo lo digo
con pasion y sin animo de agravio.

Un abrazo para todos

Elvio
Reply | Threaded
Open this post in threaded view
|

Re: Pensar distinto

Edgar J. De Cleene



El 3/30/07 1:07 PM, "Elvio Fernandez" <[hidden email]> escribió:

> Como andas Edgar,
>
> che no es ataque. Es critica o reflexion. No hay que sentirse mal cuando hay
> una critica. La idea es absorver todo lo posible de la critica y procesarlo
> cada uno. Lo que sirve sirve y lo que no, se lo lleva el viento.
>
> Muchachos es solo charla. Son ideas, no peleas. A mi me interesa que esto se
> entienda. Si cada vez que hay otra postura contrapuesta a la nuestra nos
> enojamos estamos al horno. No hay que tomarlo tan a pecho. Asi terminamos
> todos peleados, porque no podemos lidiar con otros puntos de vista. Creo que
> si seguimos ese tren gana el famoso mainstream del mercado, cuyo fin en
> ultima instancia (para poder vender), se dedica sistematicamente a hacernos
> creer que no es posible ver las cosas desde otro punto de vista, o que otro
> punto de vista es inaplicable, inapropiado, delirante, excecrable, etc.
>
Quien te dijo que me siento atacado ?

Nooo. todo lo contrario.

Si levante el mail fue justamente para tener opiniones distintas.
Ojala alguno mas se anime en este foro a decir lo que piensa.

Intento mantener el espíritu del café donde nació el grupo.

Y que los que recien se acoplan, porque los obligo en Redes o quien sabe que
circunstancia los trae, vean que no tenemos la verdad revelada.

Lástima que los que han caminado bastante como vos y otros no están a mano
para invitarlos a la inaguración annual de actividades que mande a algunos
de los chicos.

Este año con sanguchitos y champan, si no nos ahogamos todos primero.

Quien ama algo sabe cuales son sus debilidades .

Aguante Central aunque tengamos la peor dirigencia del planeta futbol y
pensemos en mandar a entrenar a la primera al hipódromo.
Acade Acade Acade !!!

Abrazo, Elvio.