Guillermo,

Esencialmente, mi punto de vista acerca de Java es que tiene efectos
negativos sobre mi trabajo y cada vez que le agregan un feature nuevo como
por ejemplo generics veo que no esta diseñado de un modo que me ayude, asi
que prefiero no tener que usarlo.

Que haya diferentes implementaciones de Smalltalk me parece bueno porque
entonces cada uno puede probar los cambios que mejor le parezcan.  Si
hubiera una sola implementacion, ni siquiera tendriamos el estimulo de la
competencia para mejorar los Smalltalks que hacemos.

Si vamos a lo que Alan tiende a decir, que hay que impulsar el cambio para
que suceda hoy y no dentro de medio siglo, entonces mas alla de sus ideas
puntuales acerca de como hacer que eso suceda me parece que no vamos a
llegar muy lejos si no nos hacemos nuestras propias y honestas opiniones
personales.  Alan eventualmente se va a morir, quien va a seguir el trabajo
que el empezo, y quien va a mejorar lo que no le haya salido bien?  Que
vamos a hacer nosotros al respecto?

Me resulta curioso que la mayoria de los problemas que mencionas despues son
mas una cuestion de una mecanica de trabajo o modo de pensar que de
Smalltalk en si.  La capacidad de escribir mal un programa es linealmente
independiente del lenguaje que se use.  Decir que todos los sistemas ya se
inventaron es ignorar (o peor aun, resignarse) a nuestra propria
mediocridad.  Cuantas veces en ciencia se han dicho cosas como "no hay mas
nada que descubrir en fisica"?  La ultima vez que alguien dijo eso la
respuesta fue que Einstein publico su teoria de la relatividad.

Hablemos mas de Smalltalk, y ademas hagamos algo.

Gracias,
Andres.

On 3/29/07, Guillermo Schwarz <[EMAIL PROTECTED]> wrote:
>
> 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.
>
> On 3/28/07, Andres Valloud <[EMAIL PROTECTED]> wrote:
> >
> > Guillermo,
> >
> > Mas de una vez modifique no solo Array sino Collection,
> > SequenceableCollection, String, Symbol, Set, Dictionary, MethodDictionary y
> > cosas asi, y ni siquiera necesite reiniciar la imagen.  Ahora casualmente
> > tengo un proyecto asignado para VW precisamente acerca de estas cuestiones.
> >
> > Respecto de que si cambia la version de Smalltalk entonces la aplicacion
> > no funciona... hasta con GCC pasa eso :).  Es normal, se llama cambio, y
> > sucede todo el tiempo.
> >
> > Gracias,
> > Andres.
> >
> > On 3/27/07, Guillermo Schwarz <[EMAIL PROTECTED] > wrote:
> > >
> > > Juan,
> > >
> > > Estoy de acuerdo con que GNU Smalltalk es mejor para empezar porque
> > > permite aprender el lenguaje sin necesidad de aprendera usar la GUI.
> > >
> > > Luego el problema es que todas las GUIs son diferentes y las
> > > jerarquías de clases son diferentes. Algunas jerarquías han sido depuradas
> > > más que otras y siempre existe la incompatibilidad a nivel de IDE, sin
> > > mencionar la incompatibilidad de que la aplicación corre sobre un 
> > > Smalltalk,
> > > no sobre el resto, e incluso puede que en versiones posteriores no corra.
> > >
> > > En Java se toman en serio esto de que las aplicaciones antiguas sigan
> > > corriendo sobre las versiones nuevas del runtime, porque las empresas 
> > > toman
> > > la estúpida decisión de no hacer upgrade cuando se encuentran con esos
> > > problemas. Y si lo piensan, tiene sentido que sea así, porque a ellos no 
> > > les
> > > importa un rábano que tu OOP esté más limpio o más lindo en la nueva
> > > versión, quieren que funcione y punto.
> > >
> > > Por ese lado Java les lleva la delantera. No importa lo que dice Alan
> > > Kay en su presentación de 1997 "The computer revolution hasn't happened
> > > yet". Es cierto que la internet puede crecer de manera orgánica sin
> > > necesidad que la bajen, es cierto que puede evolucionar sin tener periodos
> > > sin servicio, porque el sistema se autodocumenta. Pero fíjate que en
> > > Smalltalk aún no aprendemos a hacer eso. Creamos un programa y
> > > automáticamente cambiamos de versión de Smalltalk y deja de funcionar,
> > > porque el programa es incapaz de contener todo lo que se necesita (es
> > > incapaz de presentar ante un nuevo runtime y decir cuáles son las clases 
> > > que
> > > le faltan).
> > >
> > > Uno podría pensar que todas las clases podrían estar en un repositorio
> > > en la web, de modo que si falta una clase, podría bajarse on the fly y
> > > podrían existir mecanismos de conversión de una versión a otra, pero en
> > > realidad algo extraño de Smalltalk es que todas las clases están
> > > relacionadas, y si tocas algo acá se afecta algo allá, lo que está
> > > documentado hasta en el libro original que describe Smalltalk (blue
> > > book???). Dice "mira puedo modificar la clase array" y muestra a un tipo
> > > jugando con cubos de madera, sacando un ubo y haciendo que su pirámide se
> > > caiga, es decir, exactamente lo mismo que dijo Alan en su presnetación "no
> > > construyamos pirámides, sino catedrales". Se modifica Array y Smalltalk 
> > > deja
> > > de funcionar. Me parece que esa es una fuerte razón para no usar 
> > > Smalltalk.
> > >
> > > Alan defiende el hecho de que debemos tener metaprotocolos y por lo
> > > tanto el programa debe poder referirse a sí mismo, en otras palabras, uno
> > > siempre debe poder modificar array, pero eso implica que necesariamente
> > > alguien modificará array y mi sistema dejará de funcionar. Claramente es 
> > > no
> > > es lo que queremos, a menos que pensemos que se puede estar constantemente
> > > tapando los hoyos que hacen otros porque son descuidados. Admito que de 
> > > vez
> > > en cuando hace bien poder hacer y desahacer, porque ayuda a pensar, pero
> > > cuando queremos terminar el sistema, tenemos que tener algún nivel de
> > > control de lo que se está haciendo, alguna manera de evitar que alguien
> > > modifique lo que array significa. Si no es que el compilador tiene en duro
> > > lo que es un array, entonces que hayan tests unitarios que prohiban que
> > > alguien desarme el sistema, o al menos que haya una página web señalando 
> > > al
> > > culpable, como con luntbuild.
> > >
> > > Voilviendo al tema de los Smalltalks, Smalltalk Express era
> > > impresionante, espcialmente Window Builder que no eran más que 20 KB de
> > > Smalltalk y hacía lo mismo que Visual Basic para pintar pantallas, pero 
> > > bien
> > > y con código fuente. Impresionante!!!!  Qué lástima que Smalltalk Express 
> > > ya
> > > no corre en estas máquinas.
> > >
> > > Saludos,
> > > Guillermo.
> > >
> > >
> > >  On 3/27/07, Juan <[EMAIL PROTECTED] > wrote:
> > > >
> > > >  Hola Andrés
> > > >
> > > > Me parece que poner como primera ventaja la rapidez de la máquina
> > > > virtual no es un argumento muy convincente. Porque es posible que si lo 
> > > > que
> > > > importa es la rapidez, posiblemente el Assembler o el C sean mejores
> > > > elecciones.
> > > >
> > > > A mí el Visual Works me parece admirable. Una de las cosas que le
> > > > valoro es la inmensa cantidad de Parcels y la amplitud de su biblioteca 
> > > > de
> > > > clases; y la consistencia de las mismas. Hablo de Visual Works 3.1del 
> > > > año 98. Supongo que el actual será mejor y más amplio.
> > > >
> > > > Pero escuché que precisamente por lo amplio que es, no lo aconsejan
> > > > para principiantes porque es difìcil superar la sensación de estar un 
> > > > poco
> > > > perdido entre toda esa inmensidad, se lo ve como inabarcable. Por eso 
> > > > muchos
> > > > no lo aconsejan para el principiante. Supongo que si el principiante 
> > > > tiene
> > > > alguien que lo guíe eso puede cambiar. Vamos a ver cómo resulta la
> > > > experiencia en la materia POO de exactas. Supongo que la experiencia con
> > > > VisualWorks va a ser buena porque la materia suele cursarse después de
> > > > promediar la carrera o a finales de la carrera, con alumnos en general
> > > > bastante competentes y que además tienen la guía de los docentes que les
> > > > acotan perfectamente los temas abordar. Tenía ganas de acercarme a POO 
> > > > para
> > > > poder meterme con una versión actual del Visual Works. Por eso espero 
> > > > que
> > > > resulte bien el VisualWorks allí así lo puedo disfrutar en otra 
> > > > oportunidad.
> > > >
> > > >
> > > > De todos modos me parece que no es el caso del pedido de ayuda que
> > > > hizo Leo que parece interesado en meterse con Smalltalk de una manera 
> > > > más o
> > > > menos autodidacta, y con la sola ayuda del grupo.
> > > >
> > > > Tal como por ahí mencionaron al GNU Smalltalk, lo tradicional era
> > > > empezar con el Smalltalk Express, o con Dolphin.
> > > >
> > > > De todos modos en forma personal creo que como principiante el
> > > > asunto de abarcar todo un Smalltalk es algo imposible con cualquier
> > > > Smalltalk. Por lo tanto para empezar de manera autodidacta habría que 
> > > > mirar
> > > > otras cosas como:
> > > >
> > > > 1. Que tenga buenos tutoriales
> > > > 2. Que sea sencillo armar las primeras cosas.
> > > >
> > > > Dicen que en cuanto a la interfase gráfica de usuario, el hecho de
> > > > que VisualWorks sea multiplataforma coloca un nivel más de indirección y
> > > > hace algo más difìcil aprender el manejo de la GUI para un principiante.
> > > >
> > > > Bueno, quisiera conocer otras opiniones.
> > > >
> > > > Saludos
> > > > Juan
> > > >
> > > > ----- Original Message -----
> > > >
> > > > *From:* Andres Valloud <[EMAIL PROTECTED]>
> > > > *To:* [email protected]
> > > > *Sent:* Tuesday, March 27, 2007 6:15 PM
> > > > *Subject:* [clubSmalltalk] Re: Concejos!!!
> > > >
> > > >
> > > > Hola,
> > > >
> > > > En mi experiencia particular, me pase a VisualWorks para mis cosas
> > > > personales hace aproximadamente 4 años.  En su momento lo que considere 
> > > > fue
> > > > que VW tiene la maquina virtual mas rapida de los Smalltalks maduros 
> > > > (eso me
> > > > interesa porque me gusta hacer cuentas con numeros enteros), las
> > > > herramientas con las que ya viene de fabrica son muy buenas, y que 
> > > > hacer UIs
> > > > es relativamente simple.  Sigo usando VW y estoy contento con mi 
> > > > eleccion.
> > > >
> > > > Si alguien que aun no vio VisualWorks tiene curiosidad, se pueden
> > > > bajar la version no-comercial (que es igual a una version comercial 
> > > > pero con
> > > > otra licencia) de http://www.cincomsmalltalk.com .  Para obtenerla,
> > > > sigan el link de Download en la barra de la izquierda.
> > > >
> > > > Gracias,
> > > > Andres.
> > > >
> > > > On 3/27/07, Guillermo Schwarz < [EMAIL PROTECTED] > wrote:
> > > > >
> > > > > En particular a mì me parece que GNU Smalltalk es muy bueno para
> > > > > partir, ya que funciona con lìnea de comandos (lo que significa que 
> > > > > no te
> > > > > marea con tanto cuento de ventanitas) y existen tutoriales que se 
> > > > > pueden
> > > > > seguir y se aprende relativamente ràpido.
> > > > >
> > > > > http://www.gnu.org/software/smalltalk/smalltalk.html
> > > > > http://www.gnu.org/software/smalltalk/gst-manual/gst_28.html#SEC45
> > > > >
> > > > > Una vez que se ha aprendido los conceptos bàsicos, ST/X me parece
> > > > > que es el más cómodo. Squeak me parece cada vez más raro, yo no soy 
> > > > > capaz de
> > > > > encontrar ninguna de las ventans de desarrollo como el system browser 
> > > > > y esas
> > > > > cosas.
> > > > >
> > > > > http://www.smalltalk-x.de/de/download
> > > > >
> > > > > Saludos,
> > > > > Guillermo.
> > > > >
> > > > >  On 3/27/07, Sebastian <[EMAIL PROTECTED] > wrote:
> > > > > >
> > > > > >
> > > > > > Hola Leo, bienvenido,
> > > > > >
> > > > > > Stephan Ducasse tiene una página donde accedés a libros de
> > > > > > Smalltalk
> > > > > > Online:
> > > > > >
> > > > > > http://www.iam.unibe.ch/~ducasse/FreeBooks.html<http://www.iam.unibe.ch/%7Educasse/FreeBooks.html>
> > > > > >
> > > > > >   Para soluciones puntuales te sugiero puntualizar las preguntas
> > > > > >
> > > > > > según la plataforma ST porque así en el aire nadie puede saber
> > > > > > que
> > > > > > ayuda necesitás.
> > > > > >
> > > > > > saludos,
> > > > > >
> > > > > > Sebastian
> > > > > >
> > > > > > On 23 mar, 21:09, "leoso22" < [EMAIL PROTECTED] > wrote:
> > > > > > > Mi nombre es Leonardo Antonione, soy estudiante de sistemas,
> > > > > > desde que
> > > > > > > empece a estudiar he programado en C y Visual Basic 6.0 mas
> > > > > > que nada
> > > > > > > he visto otros lenguajes como Prolog , Java..etc, pero desde
> > > > > > que
> > > > > > > conoci smalltalk me enamore aunque me cuesta mucho trabajo
> > > > > > programar
> > > > > > > en el ya que no tengo mucha experiencia y no lo conozco aun en
> > > > > > > profundidad, por lo que mi idea es empezar a hacer algo
> > > > > > mediaamente
> > > > > > > importante en este lenguaje pero no tengo mucho material y en
> > > > > > la
> > > > > > > facultad solo he visto una presentacion general del mismo , no
> > > > > > se como
> > > > > > > conectarlo a una base de datos orientada a objetos , no me
> > > > > > sale
> > > > > > > ninguna interfaz grafica, por eso pido que porfavor alguien me
> > > > > > de una
> > > > > > > mano con alguna idea o material para empezar a realizar algun
> > > > > > proyecto
> > > > > > > de aplicacion comercial.
> > > > > > > desde ya muchas gracias a cualquier ayuda.
> > > > > > >
> > > > > > > Leo.
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > >
> > > >  ------------------------------
> > > >
> > > > No virus found in this incoming message.
> > > > Checked by AVG Free Edition.
> > > > Version: 7.5.446 / Virus Database: 268.18.18/734 - Release Date:
> > > > 26/03/2007 02:31 p.m.
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> > > >
> >

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "clubSmalltalk" de 
Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/clubSmalltalk?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a