uh! buenísimo, me encanta! hagamos así 2009/11/13 Guillermo Sapaya <[email protected]>
> > Hola Hernán, > > no entiendo por què no a partir de un test? el test está haciendo > > funcionar > > el sistema! y lo podes reproducir constantemente, automaticamente, etc. > Me > > parece que solo estàs pensando en test unitarios con tdd y no es así, o > > como > > decias Mariano, en test estructurales y no funcionales, no se, me da esa > > sensación. > > Sabés que puede ser lo que decís :-) Quizás nunca entendí bien cómo hacer > TDD. Mirá que leí al respecto, inclusive papers de su auténtico creador que > para mí es un groso mal :-) > Las veces que intenté me la dí contra la pared, y no soy el único eh! Por > eso me parece que TDD tiene algo que ver con como está estructurada tu > cabeza :-) > Para mí no se puede hacer en una tarde algo que se le pueda sacar el jugo, > eso lleva meses/años, pero bueno, ojalá que si se hace algo pueda ver cómo > implementar un sistema desde cero con TDD. Pero me gustaría que sea otro > dominio que el de los juegos, ya que decís que es bueno para explorar un > dominio (el de los juegos vos ya lo tenés re claro con la cantidad de años > que vienen haciéndolo en los TPs :-)). Yo (o cualquiera) te doy un enunciado > de un problema que planteamos como capacitación a la gente que entra a > trabajar acá y una vez que tenés todo andando te tiro nuevos requerimientos > que implican grandes cambios en el modelo. > > > Un abrazo > > Hernan > > Otro, > Guiye > > > > > > > ----- Original Message ----- > > > > > From: Hernan Wilkinson > > > > > [mailto:[email protected]] > > > > > To: [email protected] > > > > > Sent: > > > > > Fri, 13 Nov 2009 09:37:06 -0200 > > > > > Subject: [clubSmalltalk] Re: DIscusion > > > > > polemica > > > > > > > > > > > > > > > > 2009/11/12 GallegO <[email protected]> > > > > > > > > > > > > > > > > > > > > Hola Diego: > > > > > > > > > > > > > > Esto derivó en algo muy copado. El tema de los tests, creo que > lo > > > > > > > describiste perfecto, yo también siento lo mismo. El tema es > que > > a > > > > > > > medida que el desarrollo va madurando empieza a cambiar menos, > > > hasta > > > > > > > que se lo pone a prueba en distintas situaciones. En ese > momento, > > > > > > > puede ser que haya pasado bastante tiempo desde que se escribió > > ese > > > > > > > código, empieza a surgir la necesidad de cambio real, dada por > > algo > > > > > > > externo. Vamos a modificar y empezamos a dejar caconas por > todos > > > > > > > lados, sin darnos cuenta. No me quiero imaginar que pasa cuando > > ese > > > > > > > mismo código lo toca alguien que no tiene el conocimiento de > > > haberlo > > > > > > > desarrollado, por más que sea una pieza única y bien pulida. > > > > > > > ¿Como se hace para tener tantos tests? > > > > > > > > > > > > > > > > > > > no entiendo la pregunta... a ver, si queres tener software > robusto > > > > > tenemos > > > > > > que testear, creo que eso no tiene sentido discutirlo. > > > > > > La pregunta es, cuando queremos testear y como. Al principio o al > > > final > > > > > del > > > > > > desarrollo? de manera automática o manual? > > > > > > Para mi: cuanto antes mejor y de manera automática. > > > > > > > > > > > > > > > > > > > ¿Cuando desarrollas el producto si es que tenes que escribir > > tantos > > > > > > tests? > > > > > > > > > > > > > > > > > > > es un pregunta capciosa... lo escribis mienstras desarrollas... > > > tambien > > > > > > podríamos decir, si hay que diseñar tanto o jugar tanto en el > > > > workspace, > > > > > > cuando desarrollas? pero la verdad es que si haces tdd bien, > > > desarrollar > > > > > > mientras hacer funcionar los tests, directamente desde el > debugger, > > > es > > > > > > maravilloso > > > > > > > > > > > > > > > > > > > Es decir, las respuestas seguramente sean simples, pero las > > > ecuaciones > > > > > > > en tiempo y dinero no. > > > > > > > > > > > > > > > > > > > Eso es contextual y depende del tiempo... a mediano plazo > cualquier > > > > > sistema > > > > > > no testeado te va a traer más problemas que uno testeado. > > > > > > > > > > > > > > > > > > > > > > > > > > Para mi, y para mi trabajo actual, no es tan simple. > > > > > > > > > > > > > > Saludos > > > > > > > GallegO > > > > > > > > > > > > > > > > > > > > > El día 12 de noviembre de 2009 18:58, [email protected] > > > > > > > <[email protected]> escribió: > > > > > > > > > > > > > > > > Gabriel, > > > > > > > > Antes que nada aclaro que tanto el tipado como el uso de > tests > > > son > > > > > > > > técnicas que considero útiles en su debido contexto. Incluso > > creo > > > > que > > > > > > > > los smalltalkers deberían tipar un poquito mas, o un poquito > > > antes. > > > > > > > > De los tests me preocupan dos aspectos: > > > > > > > > 1) Un conjunto de tests es un sistema en si mismo y tiende a > > > estar > > > > > > > > fuertemente acoplado con el sistema que se quiere testear. > Este > > > > > > > > acoplamiento, como casi todo acoplamiento, resulta un lastre > en > > > la > > > > > > > > evolución del sistema. Un sistema repleto de tests requiere > mas > > > > > tiempo > > > > > > > > para ser modificado. Los amantes de TDD argumentan que dicha > > > > > evolución > > > > > > > > es "mas segura" porque está controlada por la validez de los > > > tests, > > > > y > > > > > > > > a mi eso me genera serias dudas. Otro efecto similar que > > producen > > > > los > > > > > > > > tests es que el desarrollador (o jefe) se contenta con ver > todas > > > las > > > > > > > > luces verdes y puede que se relaje en actividades de > > > factorización, > > > > > en > > > > > > > > cambiar cosas, porque generalmente antes de fallar un tests, > > > falla > > > > la > > > > > > > > implementación del mismo. > > > > > > > > 2) El segundo aspecto tiene que ver con el análisis y diseño. > > > > Está > > > > > > > > bueno ver que los programadores de Ruby, a partir de TDD, > > > entienden > > > > > > > > que es bueno declarar primero la intención inicial y luego > > > teclear > > > > la > > > > > > > > solución. En Smalltalk esto se puede hacer con tests o con un > > > > > > > > workspace. Esto implica haber entendido que era mejor > escribir > > el > > > > > > > > problema y luego la solución, a que ir directamente con un > > diseño > > > > y > > > > > > > > luego ver si anda. Pero pensar que uno conoce el problema de > > > > antemano > > > > > > > > suele ser ingenuo también, por lo tanto es mas conveniente ir > > > > > > > > modificando también la intención inicial a partir de lo que > se > > > > > aprende > > > > > > > > en la interacción con el sistema. Entonces ahi me molestan > los > > > > tests > > > > > y > > > > > > > > prefiero usar workspaces, de esos que uso toco y tiro todo el > > > > tiempo. > > > > > > > > Porque no solo no está claro una solución antes de resolver > un > > > > > > > > problema, sino que suele no estar claro el problema tampoco. > > > > > Smalltalk > > > > > > > > nos da muchas herramientas para entender un problema y en ese > > ida > > > y > > > > > > > > vuelta los tests estorban mas que ayudar. > > > > > > > > > > > > > > > > Saludos, > > > > > > > > Diego Coronel > > > > > > > > > > > > > > > > > > > > > > > > On 12 nov, 12:52, Gabriel Brunstein <[email protected]> > wrote: > > > > > > > >> Diego, me interesa tu punto de vista, por qué afirmas que es > > > > nociva > > > > > la > > > > > > > >> seguridad que te dan los tests? > > > > > > > >> > > > > > > > >> 2009/11/12 [email protected] <[email protected]> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > > >> > Mariano, > > > > > > > >> > Lo que decis me hizo relacionar el tipo de seguridad que > da > > el > > > > > tipado > > > > > > > >> > con el tipo de seguridad que dan los tests. En ambos > casos, > > > IMHO, > > > > > > > >> > sobredimensionada y nociva a corto plazo. > > > > > > > >> > > > > > > > >> > Diego > > > > > > > >> > > > > > > > >> > On 12 nov, 11:53, Mariano Abel Coca < > > > [email protected]> > > > > > > > wrote: > > > > > > > >> > > Simplemente para aportar un detalle más. > > > > > > > >> > > > > > > > >> > > Saludos, > > > > > > > >> > > > > > > > >> > > Mariano. > > > > > > > >> > > > > > > > >> > > 2009/11/12 Hernán Galante > > <[email protected]> > > > > > > > >> > > > > > > > >> > > > Lindo intercambio :-) > > > > > > > >> > > > A mi parecer, no tiene tanto que ver la escritura en > sí, > > > > > porque > > > > > > > Ruby o > > > > > > > >> > > > Objective C son una copia casi del "Smalltalk > lenguaje". > > > Lo > > > > > que > > > > > > en > > > > > > > mi > > > > > > > >> > > > opinión sucede es un mix de cosas. La primera, es el > > > tipado. > > > > > La > > > > > > > >> > compilación > > > > > > > >> > > > da cierta "seguridad", pues para el que escribe existe > > > > alguien > > > > > > que > > > > > > > se > > > > > > > >> > las > > > > > > > >> > > > sabe todas que te corrige (compilación para hacer el > > > > runtime). > > > > > > > Esta > > > > > > > >> > > > "seguridad" no se brinda en Smalltalk, pero todos > sabemos > > > que > > > > > los > > > > > > > >> > > > errores también se compilan sin problemas, el punto > > aquí > > > es > > > > > que > > > > > > es > > > > > > > un > > > > > > > >> > engaño > > > > > > > >> > > > emocional que hace sentir más seguro a sus > > programadores. > > > > > > > >> > > > > > > > >> > > Esta seguridad en smalltalk la obtenés fácilmente con > una > > > > buena > > > > > > > batería > > > > > > > >> > de > > > > > > > >> > > tests, e inclusive la seguridad que dan los tests es > mayor > > > que > > > > > la > > > > > > > que da > > > > > > > >> > el > > > > > > > >> > > compilador... Y no hablo sólo de tests funcionales sino > de > > > > tests > > > > > > del > > > > > > > >> > > metamodelo. Claro que esas cosas en los otros lenguajes > no > > > > > existen > > > > > > > :) > > > > > > > >> > > > > > > > >> > > > La segunda que no entienden de Smalltalk es su > concepto > > > > > > holístico. > > > > > > > Que > > > > > > > >> > no > > > > > > > >> > > > hay diferencia entre el sistema en desarrollo y el > > > > productivo, > > > > > > que > > > > > > > no > > > > > > > >> > hay > > > > > > > >> > > > diferencia entre IDE y sistema en construcción, no hay > > > > > > diferencia > > > > > > > entre > > > > > > > >> > mi > > > > > > > >> > > > código y el código que ya existe, etc, etc. Cuantas > > veces > > > > han > > > > > > > vistos o > > > > > > > >> > nos > > > > > > > >> > > > ha pasado cuando recién arrancábamos que nos poníamos > > en > > > > duda > > > > > > al > > > > > > > >> > modificar > > > > > > > >> > > > un método de una clase de base, o no entender que > > podemos > > > > > > > modificar el > > > > > > > >> > IDE > > > > > > > >> > > > para que browser haga las cosas que yo quiero, que > puedo > > > > > agregar > > > > > > > en > > > > > > > >> > cuestión > > > > > > > >> > > > de unos minutos nuevas opciones, etc. > > > > > > > >> > > > El otro punto, que tiene que ver con esto de un todo > > > dentro > > > > de > > > > > > > >> > Smalltalk, > > > > > > > >> > > > es la no existencia de archivos. Esto genera cierta > > > > > incomodidad > > > > > > > para > > > > > > > >> > > > programadores acostumbrados a que la unidad mínima sea > > un > > > > > > archivo, > > > > > > > pues > > > > > > > >> > es > > > > > > > >> > > > un esquema brindado fuertemente por el sistema > operativo. > > > El > > > > > > hecho > > > > > > > >> > también > > > > > > > >> > > > es educacional, pues el ambiente cuantas veces se > > > "ensucia" o > > > > > > > >> > "contamina" y > > > > > > > >> > > > empezamos a no saber para que lado ir. Eso en un > ambiente > > > > > basado > > > > > > > en > > > > > > > >> > > > archivos, solo se disfraza la suciedad .. :-). Es más, > > el > > > > > hecho > > > > > > de > > > > > > > >> > cambiar > > > > > > > >> > > > de una BBDD a un Gemstone por ejemplo, esto de luchar > > > contra > > > > > la > > > > > > > >> > "basura", es > > > > > > > >> > > > el principal problema a atender/atacar al > administrarla, > > > en > > > > > una > > > > > > > BBDD la > > > > > > > >> > > > basura existe por siempre y no nos damos cuenta (hasta > > que > > > > > > > conectamos > > > > > > > >> > un > > > > > > > >> > > > producto BI y saltan todos los sapos). > > > > > > > >> > > > De hecho, no tener esta educación en nuestra sociedad > > > entera > > > > > nos > > > > > > > lleva > > > > > > > >> > a > > > > > > > >> > > > enfrentarnos que tenemos al planeta completo > contaminado > > y > > > no > > > > > > > sabemos > > > > > > > >> > ni que > > > > > > > >> > > > hacer. > > > > > > > >> > > > Smalltalk es demasiado avanzado para que todos lo > > > entiendan, > > > > > eso > > > > > > > es > > > > > > > >> > algo > > > > > > > >> > > > que hay que aceptar. Es una falta de educación en el > > > fondo. > > > > > > > >> > > > > > > > >> > > > Saludos, > > > > > > > >> > > > Hernán.- > > > > > > > >> > > > > > > > >> > > > On Wed, Nov 11, 2009 at 3:14 PM, Bruno Buzzi Brassesco > < > > > > > > > >> > > > [email protected]> wrote: > > > > > > > >> > > > > > > > >> > > >> Es una percepción general de la gente de los > lenguajes > > > > > > > tradicionales. > > > > > > > >> > > >> En la software factory que trabajaba tambien pensaban > > asi > > > lo > > > > > que > > > > > > > >> > conocían > > > > > > > >> > > >> (aunque se a de nombre) Smalltalk. > > > > > > > >> > > > > > > > >> > > >> Pero no pienses que en C# no podes meter la pata, > > trabaje > > > > con > > > > > un > > > > > > > >> > Framework > > > > > > > >> > > >> en C# que era algo lamentable, no voy a poner > nombres, > > > pero > > > > > la > > > > > > > gente > > > > > > > >> > que > > > > > > > >> > > >> construyo esa cosa, era "gurus" de M$. Y mira que es > > > > > imposible > > > > > > > que te > > > > > > > >> > > >> imagines el dolor de los programadores cuando querian > > > > > construir > > > > > > > un > > > > > > > >> > sistema > > > > > > > >> > > >> usando esa cosa. > > > > > > > >> > > > > > > > >> > > >> El problema de C# en este caso es que el Framework > > estaba > > > > > "bien > > > > > > > >> > pensando" > > > > > > > >> > > >> desde el punto de vista de la arquitectura, cuando > > llevas > > > > esa > > > > > > > "buena > > > > > > > >> > idea" > > > > > > > >> > > >> de arquitectura a la practica y construis, el > ambiente > > de > > > > > > > desarrollo > > > > > > > >> > te > > > > > > > >> > > >> queda algo que no se puede describir con palabras (un > > > > > desastre). > > > > > > > >> > > >> Y esto es porque C# no es homogeneo en Smalltalk no > hay > > > > > > > diferencia > > > > > > > >> > entre > > > > > > > >> > > >> arquitectura y ambiente de desarrollo, hay objetos > de... > > > > > > > >> > > > > > > > >> > > >> En broma les decia los programadores de C#, eso que > > tenes > > > > ahí > > > > > > es: > > > > > > > "un > > > > > > > >> > > >> compilador + un combo box". > > > > > > > >> > > >> Eso es C#, un compilador (c#) y ComboBox que te hace > un > > > goto > > > > > al > > > > > > > codigo > > > > > > > >> > > >> fuente. Y la librería de C# es usanda como un gran > > > > > repositorio > > > > > > de > > > > > > > >> > > >> procedimientos, asi usan C# todos los programadores, > > > incluso > > > > > los > > > > > > > Mega > > > > > > > >> > Mega > > > > > > > >> > > >> MS Mega Seniors Expert. > > > > > > > >> > > > > > > > >> > > >> En la tecnologia tradicional lo que llaman "orientado > a > > > > > objetos" > > > > > > > NO se > > > > > > > >> > > >> acerca ni por asomo a como se trabaja en Smalltalk, > es > > > muy > > > > > > > diferente > > > > > > > >> > la > > > > > > > >> > > >> forma de resolver problemas y construir sistemas. > > > > > > > >> > > >> La confusion radica en que se usa el mismo termino: " > > > > > orientado > > > > > > a > > > > > > > >> > objetos" > > > > > > > >> > > > > > > > >> > > >> Saludos, > > > > > > > >> > > >> Bruno > > > > > > > >> > > > > > > > >> > > >> -----Original Message----- > > > > > > > >> > > >> From: [email protected] [mailto: > > > > > > > >> > > >> [email protected]] > > > > > > > >> > > >> On Behalf Of Rusty > > > > > > > >> > > >> Sent: Wednesday, November 11, 2009 4:47 PM > > > > > > > >> > > >> To: ClubSmalltalk > > > > > > > >> > > >> Subject: [clubSmalltalk] Re: DIscusion polemica > > > > > > > >> > > > > > > > >> > > >> No sé si es lo que lo mató, o si siquiera está > > muerto. > > > > > > > >> > > >> Pero si sé que estoy de acuerdo con el comentario. > > > > > > > >> > > > > > > > >> > > >> Smalltalk es el paraíso de los buenos programadores. > > > > > > > >> > > >> Pero también es el paraíso para el desprolijo y el > que > > > ata > > > > > con > > > > > > > >> > > >> alambre. > > > > > > > >> > > >> Y eso último es jo-di-do. > > > > > > > >> > > > > > > > >> > > >> Salutes. > > > > > > > >> > > > > > > > >> > > >> Rusty. > > > > > > > >> > > > > > > > >> > > >> On 10 nov, 10:31, GallegO <[email protected]> > wrote: > > > > > > > >> > > >> > Se desato una discusion en el blog de cincom y > rescato > > > un > > > > > > > comentario > > > > > > > >> > > >> > que quiero compartir: > > > > > > > >> > > > > > > > >> > > >> > Completo enhttp://bit.ly/Uu517 > > > > > > > >> > > > > > > > >> > > >> > ...but I think the context of the quote is being > > > > > > misinterpreted > > > > > > > >> > > >> > somewhat. My impression from the video wasn't that > > Bob > > > > was > > > > > > > >> > > >> > misrepresenting Cunningham's meaning, but just that > he > > > > > wasn't > > > > > > > >> > > >> > explaining it very well. > > > > > > > >> > > >> > 'What killed Smalltalk is that it was just too easy > to > > > > make > > > > > a > > > > > > > mess." > > > > > > > >> > > >> > I think that's absolutely true, but it isn't > > > necessarily a > > > > > bad > > > > > > > >> > thing. > > > > > > > >> > > >> > The truth is that in Smalltalk it's often easier to > do > > > > > > > anything, > > > > > > > >> > both > > > > > > > >> > > >> > good and bad. It's rather like saying that the > > problem > > > > > with a > > > > > > > >> > > >> > motorcycle, compared to a bicycle, is that it's > just > > > too > > > > > easy > > > > > > > to go > > > > > > > >> > > >> > too fast and wreck one. With programming > languages, > > as > > > > > with > > > > > > > bikes, > > > > > > > >> > if > > > > > > > >> > > >> > you give a powerful tool to an undisciplined, > > > > inexperienced > > > > > > > user, > > > > > > > >> > they > > > > > > > >> > > >> > can cause a lot of damage. > > > > > > > >> > > >> > If the only vehicle you give someone is a one-gear > > > bicycle > > > > > > with > > > > > > > >> > street > > > > > > > >> > > >> > tires and training wheels, it'll be really hard for > > > them > > > > to > > > > > > > hurt > > > > > > > >> > > >> > themselves, but they're never going to go very far > or > > > very > > > > > > > fast, > > > > > > > >> > > >> > either. > > > > > > > >> > > > > > > > >> > > >> > Saludos > > > > > > > >> > > >> > GallegO > > > > > > > >> > > > > > > > >> > > >> No virus found in this incoming message. > > > > > > > >> > > >> Checked by AVG -www.avg.com > > > > > > > >> > > >> Version: 8.5.424 / Virus Database: 270.14.53/2486 - > > > Release > > > > > > Date: > > > > > > > >> > 11/07/09 > > > > > > > >> > > >> 07:38:00- Ocultar texto de la cita - > > > > > > > >> > > > > > > > >> > > - Mostrar texto de la cita -- Ocultar texto de la cita - > > > > > > > >> > > > > > > > >> - Mostrar texto de la cita - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -~----------~----~----~----~------~----~------~--~---
