martes, 3 de noviembre de 2015

[ANN] Smalltalks 2015 está a la vuelta de la esquina!

Ya se acerca el congreso de Smalltalk, es la semana que viene! y si aún no estás seguro si participar o no, dejame intentar convencerte.

Seguramente estarás pensando que Smalltalk no es el lenguaje que usas para trabajar, que no es un lenguaje "hot", ¿qué podría aportarte ir a una conferencia de Smalltalk?... bueno, si amás el software, si amás el desarrollo de software te puedo asegurar que la vas a pasar muy bien y vamos a aprender mucho en esta conferencia, porque más allá que Smalltalk no sea "hot", más allá de que no lo uses para trabajar, sigue siendo un lenguaje en el que se hace investigación de punta, con una gran historia que nos sigue sorprendiendo y con muchas características que aún seguramente no descubriste.

"Si claro..." estarás pensando... "puro bla bla"... hmm ok, vayamos a lo concreto (eso si, ahora aguanta hasta el final que es donde está lo mejor!)

¿Querés ver cómo es posible hacer refactorings automatizados con una lenguaje dinámico? ¿te preguntás por qué las herramientas de refactoring de los leng. dinámicos son limitadas? Dejame decirte que Smalltalk tiene refactorings automatizados desde 1993! Si!, la primer herramienta de refactoring se hizo en Smalltalk y ¿a qué no sabes quién viene a hablar sobre ella? John Brant, su creador, tiempo atrás parte del equipo de investigación de Objetos de la Universidad de Illinois, dirigido por Ralph Johnson (uno de los autores del libro de Design Patterns). John nos deleitará con sus charlas sobre este tema: "Large Scale Refactoring" y "Two Decades of the Refactoring Browser"

Ahora, si te gusta el "bajo nivel", querés aprender sobre VMs, sobre cómo optimizar VMs para lenguajes dinámicos, tenemos varias charlas para vos como "Improving Cog Jit Performance with adaptive optimiazations" y "Efficient support for schema migration in Smalltalk Vms" de Clément Berá, parte del equipo que implementa Pharo,  "Dino2 - The amaizing evolution of the VA Smalltalk Virtual Machine" de Seth Berman (implementador de VASmalltak),  "To bee or not to bee: technical and philosophical challenges of self hosted vm development" de nuestro querido Pocho (Javier Pimás) y "Linked weak references Array" de Andrés Valloud quien está implementado una nueva VM en LabWare.

¿Tenés dudas sobre la escalabilidad de Smalltalk? Que tal esta charla de Luciano Romeo sobre "Smalltalk on a (very) large scale", te aseguro que te tera-sorprenderás de la cantidad de teras y teras de objetos que manejan, o "Large Collections" de Leandro Caniglia, especial para robar ideas y llevarlas a otros lenguajes :-)

Si lo tuyo va más por la implementación de lenguajes de programación y la interoperabilidad entre ellos, ¿a que no sabés qué? También tenemos algo para vos! Empecemos por Jan Vrany con "The Beaty and the Beast: A Story of an unlikely marriage of Smalltalk and Java" (ni yo me la creo a esta!), "Cuis Smalltalk" del gran Juan Vuletich, "Towards fully reflective environments" del doctorando Guido Chari junto a todos los updates de las implementaciones de los distintos Smalltalk como Pharo, VA Smalltalk y GemStone/S

Puf, ¿ya te cansaste de leer? aguanta! hay mucho más!

¿Querés saber como se usa Smalltalk en la industria? Este año inauguramos el "Show us your Company" donde empresas como Mercap, PetroVr, JPMorgan, 10Pines, InfOil nos mostrarán entre otras cosas cómo usan esta tecnología; para que veas que hay "Smalltalk for real!"

Ok, ¿y si te ganás la vida haciendo apps web o lo tuyo es lo "visual"? Tenemos este combo que sale con fritas! "Details about  building a web based financial application with Smalltalk" de Mariano Martinez Peck y "Renoirst: a DSL enabling programmatic cascading style sheet generation" del Gabriel Cotelli para lo que es Web, y "Dynamic data visualisation" de Agustin Meriles, "Roassal: object data visualization" de Milton Mamami Torres, "Spy2: dynamic analysis at the reach of everyone" de Alejandro Infante (investigadores de nuestro hermano país de Chile) y "Veo: a visual Smalltalk" de Adrian Soma para "los que tienen que ver para creer" :-)

Sale popurrí ahora! Criptografía, concurrencia, TDD, etc. Empecemos con "Concurrency in Smalltalk beyond threads" de Martin McClore, "Deploy anywhere: packaging a customer ready application for windows, mac and linux" de Maxi Tabacman, "Test Driven atomic commits" de Lucas Godoy, "Cryptographic support for VA Smalltalk" de Seth Berman, "Orbeon forms and GemStone/S integration" de Bruno Buzzi Brassesco, "Memory and Database Object persistence using configurable mappings" de Maxi Tabacman y Julian Maestri, y "Dr. TDD" de ... mejor no lo digo :-)

Ya estoy cansado de escribir... espero que no te hayas cansado de leer! Como podes ver, no es una conferencia más...

Hay también para los investigadores, músicos e interesandos en el aprendizaje. Empecemos por "Today's research for Today's developers" de Damien Cassou, "Grafoscopio: a tool for open/garage/citizen Science and Research"  de Offray Vladimir Luna Cárdenas, "Programming for unconventional learning" de Carlos Ferro y "Let it Bee" del Beatle Guillermo Amaral!

Pero esta conferencia no es solo de Smalltalk, es sobre programación, sobre desarrollo de software y por eso tendremos el honor de contar nuevamente con uno de los "hackers más hacker" de nuestro país, Gerardo Richiarte que cerrará la conferencia hablando sobre "Satellites Software".

No, Smalltalks 2015 de "small" no tiene nada!! ¿No es una agenda increíble che!!??? 
Smalltalks 2015 no es solo acerca de Smalltalk, es acerca de desarrollar software, es acerca de compartir ideas, de aprender, y por eso es para todos.
Veni y participá a tu manera, es una conferencia gratuita y se realizará en el Pabellón I de Ciudad Universitaria.
Registrate en: http://www.fast.org.ar/  mirá todas las charlas acá: http://www.fast.org.ar/talks o el cronograma adjunto.

Pasá a voz!

MiércolesHoraSala grandeSlotHoraSala chica
8:30Registration1:008:30
9:30Opening0:309:30
10:00John O'Keefe: VA Smalltalk update0:3010:00Lucas Godoy: Test-driven atomic commits
10:30Seth Berman: Dino2 --- the amazing evolution of the VA Smalltalk virtual machine0:3010:30Hernán Wilkinson: Dr. TDD
11:00Break0:3011:00Break
11:30John Brant: Two decades of the refactoring browser1:0011:30
12:30Lunch2:0012:30Lunch
14:30Clément Béra: Efficient support for schema migration in Smalltalk VMs0:3014:30
15:00Break0:3015:00Break
15:30Luciano Romeo: Smalltalk on a (very) large scale0:3015:30Javier Pimas: To Bee or not to Bee --- technical and philosophical challenges of self-hosted VM development
16:00Bruno Buzzi Brassesco: Orbeon forms and GemStone/S integration0:3016:00Martin McClure: Concurrency in Smalltalk --- beyond threads
16:30Dale Henrichs: The light at the end of the tunnel --- announcing the release of GsDevKit home and tODE0:3016:30Jan Vrany: Beauty and the beast - a story of an unlikely marriage of Smalltalk and Java
17:00Break0:3017:00Break
17:30Leandro Caniglia: Large collections0:3017:30Mariano Martinez Peck: Experience report --- building a web based financial application with Smalltalk
18:00Andrés Valloud: Linked weak reference arrays0:3018:00Gabriel Omar Cotelli: RenoirSt --- a DSL enabling programmatic cascading style sheet generation
18:30Seth Berman: Cryptographic support for VA Smalltalk18:30Agustin Meriles: Dynamic data visualization
Jueves
10:00James Foster: GemTalk update and roadmap0:3010:00
10:30Maximiliano Tabacman & Julian Maestri: Memory and database object persistence using configurable mappings0:3010:30
11:00Break0:3011:00Break
11:30Damien Cassou: Today's research for today's developers1:0011:30
12:30Lunch2:0012:30Lunch
14:30John Brant: Large scale refactoring --- Migrating code to other languages0:3014:30
15:00Break0:3015:00Break
15:30Offray Vladimir, Luna Cárdenas: Grafoscopio --- a tool for open / garage / citizen science and research0:3015:30Carlos E. Ferro: Programming for unconventional learning
16:00Milton Mamani Torres: Roassal object data visualization0:3016:00Guido Chari: Towards fully reflective environments
16:30Alejandro Infante: Spy2 --- dynamic analysis at the reach of everyone0:3016:30Adrián Somá: VEO --- a visual Smalltalk
17:00Break0:3017:00Break
17:30Show Us Your Company0:3017:30
18:00Show Us Your Company0:3018:00
18:30Show Us Your Projects2:3018:30
21:00Social dinner21:00Social dinner
Viernes
10:00Guillermo Amaral: Let it Bee0:3010:00
10:30Maximiliano Tabacman: Deploy anywhere --- packaging a customer ready application for Windows, Mac, and Linux0:3010:30
11:00Break0:3011:00Break
11:30Clément Béra: Improving Cog's JIT performance with adaptive optimizations1:0011:30
12:30Lunch2:0012:30Lunch
14:30Show Us Your Company0:3014:30
15:00Show Us Your Company0:3015:00
15:30Show Us Your Projects0:3015:30
16:00Break0:3016:00Break
16:30Esteban Lorenzano: The Pharo Evolution0:3016:30
17:00Juan Vuletich: Cuis Smalltalk0:3017:00
17:30Gerardo Richarte: Satellites software0:3017:30
18:00Closing1:0018:00
19:0019:00

jueves, 30 de junio de 2011

FAST te ayuda a ir a ESUG 2011!

En FAST siempre estamos pensando la manera de hacer crecer la comunidad Argentina de Smalltalk. Es por ello que uno de nuestros objetivos siempre fue conectarnos y afianzar los lazos de amistad con las otras comunidades de Smalltalk del mundo.

Nos da mucha alegría comunicar que, como acción para lograr este objetivo, nos propusimos este año ayudar económicamente con 3.000 pesos a un Smalltalker que quiera ir a la conferencia de ESUG que se realiza este año en Escocia. (Para más información sobre la conferencia ver: http://www.esug.org/wiki/pier/Conferences/2011).

¿Quiénes pueden participar?
Hay dos requisitos para los que deseen presentarse:
1) Deben tener aceptada algún tipo de presentación en la conferencia, ya sea un paper de investigación, una charla en el área de desarrollo o participar del "Innovation Technology Award".
2) El viaje no debe estar subsidiado totalmente por la empresa/universidad donde trabajan (más información abajo)

¿Qué hay que hacer?
Es muy sencillo, simplemente mandar un mail a quieroIrAEsug2011@fast.org.ar con el subject: QUIERO IR A ESUG 2011, indicando nombre, apellido, y qué presentación realizarás (ya sea paper, presentación o sistema como parte del innovation technology award).

¿Hasta cuándo hay tiempo?
Los pedidos serán aceptados hasta el 8 de Julio del 2011 inclusive

¿Cuándo sabré si salí sorteado?
El resultado del sorteo será comunicado el 13 de Julio del 2011

¿Cómo se realizará el sorteo?
Se ordenará la lista de personas que se presentaron de manera random,
El que quede primero en la lista será el ganador del sorteo.
Si por algún motivo la persona ganadora del sorteo no puede ir, se lo sacará de la lista y el siguiente será el acreedor del sorteo. Así sucesivamente hasta que la persona ganadora acepte y utilice el premio.

¿Si gané, cuando recibiré la plata y cómo?
La plata se entregará por medio de una transferencia bancaria 5 días hábiles después de haber ganado el sorteo.
Para recibir el dinero deberá presentar una copia del pago de la registración a ESUG y del pago del pasaje de avión. Si luego de pasados esos 5 días dicha presentación no se realiza, el premio será acreditado a la siguiente persona en la lista.

¿La empresa donde trabajo me paga el viaje y el congreso, puedo participar?
No. Este sorteo es para aquellas personas que irán a ESUG por sus propios medios, ya sea de manera parcial o total.
Se utilizará la copia del pago de la registración y del pago del pasaje de avión para comprobar que esto sea así.

¿La empresa donde trabajo/universidad donde hago investigación me ayuda con un porcentaje del costo, puedo participar?
Sí, siempre y cuando el total que otorguemos más lo que aporte la empresa/universidad donde trabajás no supere el costo total del viaje (pasaje de avión, hospedaje y registración al congreso)
La intención es otorgar este dinero a gente que realmente lo necesite, confiamos en que se abstendrán aquellos que no cumplan con este requisito.

¿Dudas?
Mandar un mail a quieroIrAEsug2011@fast.org.ar

Realmente nos da mucha alegría poder ayudar de esta manera, esperamos que a ustedes también.
Go Smalltalk!

FAST: Fundación Argentina de Smalltalk
http://www.fast.org.ar

miércoles, 22 de junio de 2011

Smalltalks 2011 Call for Papers

CALL FOR PAPERS


SMALLTALKS 2011
5th International Conference on Smalltalk Technologies
Research Track: Call for Papers
November 3th - 5th, 2011

Important dates:

Submission (Hard Deadline): August 22th, 2011 (Argentinian time:
UTC/GMT -3 hours).
Notification of acceptance: September 23th, 2011.
Camera Ready Submission: October 7th, 2011.

---------------------------------------------------------------------------------


Conference Location: Universidad Nacional de Quilmes (Argentina)

The Smalltalks series of conferences (www.fast.org.ar) is a lively
forum on Smalltalk-based software
technologies that brings together more than 200 people from both
academia and industry for a period of three days.

Past editions of Smalltalks have included many high-quality
presentations from industry and research.
These contributions have shown interesting applications of Smalltalk,
advances in the Smalltalk language, didactic uses of Smalltalk and so
on.

Similar to last year, Smalltalks 2011 will include a dedicated research
track.
We welcome submissions to this research track presenting original
scientific contributions to, or using, Smalltalk in general.

Topics of interest include, but are not restricted to:

- Aspects, Aspect Languages and Applications.
- Ambient Intelligence, Ubiquitous / Pervasive Computing and
Embedded Systems.
- Compilation Technology, Optimization, Virtual Machines.
- Educational Material.
- Language Engineering, Extensions.
- Model Driven Engineering / Development.
- Meta-Modeling, Reflection and Meta-programming.
- Programming in the Large, Design, Architectures and Components.
- Programming Environments, Browsers, User Interfaces, UI Frameworks.
- Source-code analysis and manipulation (Static analysis,
refactoring, type inference, metrics).
- Team Management.
- Testing, Extreme Programming / Practices.
- Web Services, Internet Applications, Event-driven Programming.
- Experience Reports.

Important dates:

Submission (Hard Deadline): August 22th, 2011 (Argentinian time:
UTC/GMT -3 hours).
Notification of acceptance: September 23th, 2011.
Camera Ready Submission: October 7th, 2011.

Papers:

Papers should be written in English, in PDF-format and should not exceed 15
pages (including references and figures), using the Elsevier journal format.

Templates for LaTeX formats can be found at
http://www.elsevier.com/wps/find/authorsview.authors/elsart

Papers must be submitted through the EasyChair submission web site at
https://www.easychair.org/conferences/?conf=smalltalks2011

The accepted papers will be digitally available on the conference
website. We are currently negotiating a special edition of a journal
for which the best papers will get invited.

Papers submitted must not have been previously published and must not be
under review for publication elsewhere. Papers must strictly adhere to
submission guidelines. If you have questions, please send an e-mail to
Jannik Laval and Andy Kellens to smalltalks2011-chair@fast.org.ar.

Program Committee
--------------------------
- Gonzalo Zabala (Universidad Abierta Interamericana, Argentina)
- Hernan Wilkinson (Universidad de Buenos Aires, Argentina)
- Serge Stinckwich (Institut de recherche pour le developppement, France)
- Mircea Lungu (University of Bern, Switzerland)
- Tudor Girba (Sw-eng. Software Engineering GmbH, Switzerland)
- Johan Fabry (DCC, Universidad de Chile, Chile)
- Luc Fabresse (Ecole des Mines Douai, France)
- Marcus Denker (INRIA Lille, France)
- Coen De Roover (Vrije Universiteit Brussel, Belgium)
- Damien Cassou (Hasso-Plattner-Institut, Potsdam, Germany)
- Gilad Bracha (SAP Labs, Palo Alto, USA)
- Noury Bouraqadi (Ecole des Mines Douai, France)
- Alexandre Bergel (DCC, Universidad de Chile, Chile)
- Gabriela Arevalo (Universidad Nacional de Quilmes, Argentina)

Program Chairs
--------------------
Andy Kellens (Vrije Universiteit Brussel, Belgium)
Jannik Laval (INRIA Lille/LABRI Bordeaux, France)

martes, 1 de marzo de 2011

Estamos sorteando un lugar en el curso de TDD

Para aquellos que están interesados en participar en el curso, les comento que estamos sorteando un lugar. Para anotarse vayan a http://tinyurl.com/4s35vsh

jueves, 10 de febrero de 2011

FAST ayuda a Guido y Javier a ir a la Deep Into Smalltalk School en INRIA

En FAST (http://www.fast.org.ar) estamos muy contentos de haber podido ayudar a Guido Chari y Javier Pimas en su viaje a Francia para participar en la "Deep into Smalltalk School" (http://rmod.lille.inria.fr/web/pier/blog/2011-01-23) que el Inria está organizando con soporte de ESUG.
Además de organizar las conferencias de Smalltalk uno de nuestros objetivos es poder ayudar a la comunidad de Smalltalk Argentina en todo lo referente a la investigación y promoción industrial de Smalltalk.
Guido y Javier están terminando su tesis de licenciatura sobre SqueakNos y luego de este curso serán especialistas en la VM de Smalltalk!

viernes, 15 de octubre de 2010

Entrevista sobre por qué Smalltalk es tan importante en Argentina

Este año durante ESUG, nos hicieron una entrevista a Leandro Caniglia y a mi sobre por qué creíamos que Smalltalk era tan importante en Argentina.
Pueden verla en http://blip.tv/file/4211623/
Por supuesto que es una visión subjetiva de los motivos, pero espero que les guste.

jueves, 14 de octubre de 2010

TDD en lenguajes estáticamente tipados y dinámicamente tipados

Subí un video que compara cómo se comporta la técnica de Test Driven Development (TDD) utilizando lenguajes estáticamente tipados (en este caso Java) y dinámicamente tipado (en este caso Smalltalk). El video está divididó en dos partes:

1) http://www.youtube.com/watch?v=RLAZjiK4UHc
2) http://www.youtube.com/watch?v=wXW9WN9ay2E

Traté de ser lo más objetivo posible. Por supuesto, es solo un experimiento y no se puede inferir todas las diferencias que ya conocemos entre estos tipos de lenguajes, pero sí puede servir como punto de partida para investigar un poco más el tema.
Espero que les gusten las conclusiones :-)

martes, 12 de octubre de 2010

Entrada gratis para el curso de TDD!!

Vamos a sortear una entrada gratis para el curso de TDD (http://tinyurl.com/25n4zwq) este jueves 14 en http://tinyurl.com/2du3yox
Aprovechen!

martes, 5 de octubre de 2010

TDD practicado en lenguajes dinámicos vs. lenguajes estáticos

eEte jueves 7 de octubre a las 18.30, en el grupo argentino de Ruby en Urban Station, El Salvador 4588 en Palermo Soho voy a dar una charla sobre TDD practicado en lenguajes dinámicos vs. lenguajes estáticos. Acá está la breve descripción:
La charla se centra en mostrar las diferencias esenciales que surgen al utilizar la técnica de Test Driven Development (TDD) en lenguajes dinámicos como Ruby respecto de lenguajes estáticos como Java.
Se hará una pequeña introducción sobre TDD y una demostración en vivo de las diferencias utilizando para ello otro lenguaje dinámico, Smalltalk, antecesor de Ruby y Java como lenguaje estático.
Los espero!

lunes, 27 de septiembre de 2010

Smalltalks 2010 - Declarado de Interés Provincial

La provincia de Entre Ríos declaró de Interés Provincial a la 4ta conferencia de Smalltalk en Argentina, Smalltalks!
No se imaginan lo contento que estamos!! Por más que sea una cuestión formal, es una gran reconocimiento hacia el evento, la comunidad de Smalltalk en Argentina y Smalltalk, así que estamos más que contentos!

miércoles, 22 de septiembre de 2010

Smalltalks 2010 - Inscripción abierta!!

Ya está abierta la inscripción para Smalltalks 2010! pueden registrase en http://www.fast.org.ar/
Este año lo hacemos en Concepción del Uruguay, Entre Rios, a solo 3 horas de Buenos Aires. Estamos arreglando descuentos con hoteles para aquellos que lo necesiten.
Además tenemos confirmada la visita de Lukas Renggli (creador de SeaSide entre otras cosas) y Gilad Bracha (creador de Newspeak). Tenemos un par de personalidades más en tratativas, así que no dejen de anotarse y presentarnos sus trabajos, va a ser una conferencia muy interesante!

martes, 7 de septiembre de 2010

Curso de Test Driven Development para todos!

Tengo el agrado de notificarles que está abierta la inscripción a uno de los cursos de Test Driven Development (TDD) que ofrecemos en 10Pines, el cual se denomina “Construcción de Software Robusto con Test Driven Development” a realizarse a partir del 15 de noviembre del corriente año.
Test Driven Development (TDD) es una de las prácticas ágiles que más adopción tuvo dentro de la comunidad de desarrollo de software debido a su simplicidad como proceso y efectividad directamente relacionada con la calidad del sistema generado. TDD ayuda a producir diseños más simples y menos acoplados, creando al mismo tiempo un gran conjunto de test que nos dan “coraje” al momento de realizar cambios o incrementar la funcionalidad de un sistema. Hay estudios que muestran que usando TDD, la tasa de error de los sistemas disminuye 10 veces aumentando al mismo tiempo la satisfacción laboral y técnica de los desarrolladores.
El curso, de 16 hrs, posee una breve introducción teórica para luego concentrarse en ejercicios prácticos especialmente preparados para que los asistentes aprendan la técnica.
Pero como el nombre del curso lo indica, este no se centra únicamente en TDD sino en la construcción de software robusto, por lo tanto además de aprender la técnica de TDD, se realizarán discusiones enriquecedoras de diseño y arquitectura que les permitirá complementar, validar y aumentar tus conocimientos sobre el desarrollo de software utilizando objetos.
Para más información sobre los objetivos, días, disponibilidad y costos del curso, hace click acá: Construcción de Software Robusto con Test Driven Development

Los espero!

lunes, 30 de agosto de 2010

Por qué las base de datos relacionales van a desaparecer

Si, si, es una predicción medio loca y hasta pareciera absurda dado el estado actual de tecnologías, pero hay mucho indicios que me llevan a pensar lo que puse en el título.
En realidad, son todos indicios tecnológicos y no de negocios, pero como nuestra profesión se basa en la tecnología creo que en algún momento se hará fuerte una tecnología que desplazará a las base de datos relacionales de la misma manera que ellas desplazaron a los archivos jerárquicos (como vsam, etc).
Lo que me llevó a pensar esto nuevamente es un proyecto en el cual estoy haciendo coaching en el cual estamos usando Java como lenguaje de programación y Hibernate para conectarnos a una base de datos relacional. Hubo dos "colaboraciones" que me hicieron recordar lo antiguo de esta tecnología:

1) Cada vez que se quiere persistir un objeto, hay que hacer: session.save(anObject)
2) Cada vez que se quiere borrar un objeto, hay que hacer: session.delete(anObject)

¿Qué tiene de malo tener que hacer esto? Simplemente que en otras tecnologías no es necesario hacerlo! por lo tanto son más simples desde el punto de vista de utilización lo que implica que son menos propensas a error.
Para el caso 1), en una tecnología como la que usa GemStone, no es necesario decirle a un objeto que quiero que se persista, simplemente si ese objeto es referenciado desde un objeto persistido, este se persiste. Simple, natural, lógico.
El caso 2) es quizá el más fuerte puesto que me hizo acordar al manejo de memoria manual, ¿recuerdan c++, tener que hacer "delete anObject" para desalocarlo y todos los problemas que ello conllevaba? Acá estamos en el mismo caso, utilizar base de datos relacionales es como utilizar un manejo de memoria manual algo que por suerte ya está abandonado (salvo para casos muy particulares). ¿Por qué tenemos que borrar un objeto explícitamente cuando el mismo puede desaparecer automáticamente, como cuando se realiza un garbage collect?. Por suerte ya hay tecnologías que hacen esto (de vuelta GemStone) y "borran" objetos cuando los mismos no están más referenciados. Simple, natural, lógico.
Creo que estos dos casos son indicios que muestran que trabajar con base de datos relacionales en algún momento tiene que cambiar. En algún momento nos tenemos que dar cuenta que trabajar con ellas es trabajar en un paradigma "viejo", similar al procedural donde se separan "datos" de "código", en vez de utilizar un paradigma que ya está probado ser más robusto y escalable para desarrollo de aplicaciones como el de objetos.
Claro está que la base de datos relacionales tienen sus ventajas. Por ahí la más fuerte desde el punto de vista tecnológico es el SQL, pero al mismo tiempo para mi es su cruz, es lo que no va a permitir que la tecnología evolucione, cambie paradigmáticamente. Y por supuesto no hay que dejar de ver la fuerza comercial que ellas tienen, pero como dije antes, en algún momento la comunidad estará preparada para algo nuevo, distinto, cuando se cansen de tener que hacer save y delete y se den cuenta que si en memoria no hay que hacer eso, ¿por qué hay que hacerlo con el disco?, en definitiva el disco es "memoria" y debería estar abstraído (salvo cuando hay que hacer aplicaciones que deben diferenciarlos :-) ).
Claro está que a los dos problemas que mencioné hay que agregar varios más, como el problemático mapeo, manejo de identidad, manejo de caching y unicidad, etc., problemas que en otras tecnologías no existen...
Para concluir, ¿cuándo pasará esto? No creo que rápidamente... de la misma manera que a las base de datos relacionales les costó desplazar a los archivos planos y jerárquicos, no será inmediato reemplazar a estas. Por ahí en 10 años se empiece a divisar y entender que hay una alternativa a ellas, no creo que antes, a menos que aparezca un player nuevo en la comunidad, un player que sea respetado y tenga fuerza y logre imponer el quiebre paradigmático... por ahí ese player puede ser VMWare si se da cuenta del productozo que compró (GemStone), pero habrá que ver si sus "gurús" logran salirse del paradigma actual y ver más allá... el tiempo dirá.

domingo, 29 de agosto de 2010

¿A quién le creo?

Este comentario no tiene nada que ver con objetos ni sistemas, sino más bien con la realidad que nos está golpeando a los argentinos respecto de los medios de comunicación.
El viernes mientras caminaba hacia un cliente para dar un coaching de TDD me encontré con un kiosko que tenía a los diarios Clarín y Tiempo Argentino juntos, motivo por el cual pude observar una contradicción impresionante sobre la misma noticia en la primera plana de ambos diarios.
Clarín decía: "Papaleo declaró que estaba libre cuando vendió Papel Prensa". (ver http://www.clarin.com/ediciones-anteriores/edicion-impresa/20100827)
Tiempo Argentino decía: "Papaleo ratificó que entregó Papel Prensa bajo presión" (ver http://tiempo.elargentino.com/ediciones/2010-08-27/notas)
¿Quién dice la verdad? Clarín? Tiempo Argentino? Ninguno? o los dos? ¿Qué contradicción no?.
Sinceramente no me inclino por Clarín, ya se han visto tantas manipulaciones que realizó que seguro esta es otra más. ¿Qué ha acerca de Tiempo Argentino? Es oficialista y nos han hecho creer que generalmente ser oficialista está mal y que los políticos siempre mienten, ah, pero claro, los que nos han metido en la cabeza eso fueron los periodistas (y también bastante los políticos con su actuar realmente)... ¿entonces?...
Finalmente me quedo con lo que me recordó mi viejo hoy por la mañana: "En una guerra la primero que pierde es la verdad"... creo que este es un ejemplo claro.

viernes, 6 de agosto de 2010

Tributo a Alan Kay en su cumpleaños 70

La gente de ViewPoints ha publicado un libro (que se puede bajar on-line) como tributo a Alan Kay en el cual personas que trabajaron con él escribieron un capítulo cada uno. Hay varios capítulos interesantes como por supuesto el de Adele Goldberg, con un poco de historia también... Por ejemplo no sabía que el primer "cliente" comercial de Smalltalk fue la CIA!!! jaja, increíble... menos mal que no lo siguieron usando o por lo menos no sabemos si lo siguen usado... o por ahí el motivo por el cual Smalltalk no creció más fue por que la CIA no quizo!! claro! por fin lo entiendo :-) y bue, la teoría conspirativa siempre tiene que estar presente :-)

miércoles, 4 de agosto de 2010

Working effectively...

with legacy code... Ese es el nombre de un libro que estuve hojeando (últimamente me cuesta mucho leer libros técnicos, me aburren!! lo cual no es un buen sintoma...) que está interesante, es recomendable pero que muestra nuevamente la cantidad de problemas que surgen en el mantenimiento de sistemas desarrollados con lenguajes estáticamente tipados.
Básicamente, el mayor problema es el acoplamiento que produce tipar las variables lo cual impede al momento de tener que escribir tests para código existente utilizar objetos que simplemente sean polimórficos con los objetos reales pero solamente para el conjunto de mensajes que se le envían y no para todo el protocolo declarado en el tipo!
Si, ok, están los mock objects y sus librerías para hacer su uso más fácil, pero igual sigue siendo más laburo del necesario o por lo menos del que llevaría en un lenguaje dinámicamente tipado como Smalltalk...
Por último, el libro muestra muchos errores de diseño típicos muy interesantes que haciendo TDD desde el comienzo no se cometerían que nuevamente tienen que ver con lograr diseños más desacoplados, algo que venimos comentando en nuestro curso de TDD desde que empezamos.

Para los que aman la historia de nuestra profesión...

como yo, salió una entrevista a Edgar Dijkstra realizada en el 2001 en la última Computer. La verdad, muy recomendable para conocer un poco más sobre el principio de nuestra profesión con comentarios sobre Algol-60, Peter Naur, Hoare, N. Wirth (y su relación con el paper de GOTO Considered Harmfull)... y como no podía faltar, la comparación USA/Europa que propició el comentario de Alan Kay en su Turing Award Lecture.
La entrevista completa está online para todos en: http://www.cbi.umn.edu/oh/display.phtml?id=320