No mundo do sofware informático, unha das principais limitacións ás que nos enfrontamos os desenvolvedores de software á hora de resolvermos nun computador un problema que existe no mundo real é termos que representar un modelo ideal do problema desde a nosa propia percepción da realidade. Iso sucede en todas as ciencias, mais no caso da enxeñería de software, existe unha certa liberdade que nos permite aos programadores experimentar con diferentes modelos e aproximacións até obter unha solución válida.
Unha das aproximacións empregadas máis habitualmente, aínda que non a única, é representar abstraccións de obxetos en base a asignarlles propiedades ou características propias e accións coas que interactúan con outros obxetos. Un exemplo clásico sería un obxeto “ventá”, que tería unha serie de propiedades por defecto (alto, largo, cor..) e unhas accións (abrir, pechar, minimizar...). Claro que non todas as fiestras teñen as mesmas características. As propiedades das xanelas varían, e as accións que poden realizar tamén. Por exemplo, hai ventás1 que poden mudar o seu tamaño, mentres que outras teñen un tamaño fixo, xa que non existe ningúnha razón para mudalo. E é aí onde comezan os problemas dos desenvolvedores: é preciso categorizar e organizar as diferentes clases ou tipos de obxetos, sexan xanelas, personaxes de videoxogo ou usuarios dunha base de datos.
Esa categorización debe facer sentido, de maneira que exista unha lóxica que permita que os enxeñeiros que traballan nunha aplicación entender e extender as funcionalidades e satisfacer os requerimentos dos usuarios. De cara a lograr ese obxetivo, en informática tradicionalmente optouse por un sistema de clasificación que considera que para todo obxeto existe unha representación ideal da súa clase ou categoría. Isto provoca que, por exemplo, para categorizar grupos de obxetos que comparten características do obxeto ideal mais teñen características propias se crease o difuso concepto de subclase, e outros de difícil traducción como mixin ou trait.
Platón
Para encontrar as raíces desta forma de pensar, denominada “esencialismo” por algúns autores, hai que remontarse a máis de dous mil anos atrás. Este razonamento, desenvolto no seu día por Platón e continuado por Aristóteles, pertence á filosofía clásica grega, que tivo unha influencia moi grande posteriormente en toda a civilización europea occidental e que chega até a nosa era. Un dos exemplos máis doados de recoñecer está na clasificación das especies naturais de Carl Von Linné. A súa clasificación (taxonomía) das especies de prantas e animais é aínda tomada hoxe en día como base para o estudo en ciencias naturais, debido principalmente a que é práctica.
Chegados a este punto, temos un sistema que leva funcionando de xeito razonábel durante máis de dous mil anos, con raíces na filosofía clásica e que aínda se emprega no mundo tecnolóxico do século XXI. Cal é o problema?
…
Que todo era mentira. Non só esa forma de categorizar é errónea, senón que, segundo Richard Dawkins, é perxudicial para a ciencia e a sociedade. Segundo Dawkins, a idea de que existe un modelo ideal para cada obxeto da natureza provén da xeometría, onde é práctica para realizar cálculos. No mundo real non existen os modelos perfectos nin as relacións ideais. Mais chegados a este punto, o autor, que coma o cantautor Andrés Suárez, é galego antes que persoa propón para ilustralo un exemplo de moda nos últimos anos: o porcoril.
Dise do porcoril2, que é o animal produto do cruzamento entre un porco común europeu e outro de raza asiática ou vietnamita. O que deixa aberto perguntas como: que porcentaxe de cada raza se precisa para ter un exemplar de porcoril “ideal”? Cal é o cruce perfecto, macho europeu e hembra vietnamita ou á inversa? Que características deben ser primadas na nova raza? As respostas, talvez nunca as saberemos ou seguramete non quereremos sabelas...
Desde logo que existe multitude de exemplos máis serios, como exemplo as relacións entre os países, as nacións e os estados ou entre línguas que son a mesma ou son diferentes dependendo da cor (política) con que se miren. E en todos os casos, o pensamento binario, dogmático, baseado en modelos ideais imposíbeis de alcanzar no mundo real, e que son fontes de conflitos continuos na sociedade.
Wittgenstein
O feito desa continuidade sexa difícil de expresar e incluso de aceptar, é un dos indicadores de que o esencialismo forma parte da cultura da nosa sociedade. Esa forma de ver o mundo aparece non só a nível académico ou nos problemas de enxeñaria, senón que se reflexa noutros aspectos da sociedade. No pensamento tradicional, as categorías son discretas e perfectamente definidas (“Os cativos teñen pene…(sic)”, “España/Galiza é unha nación”, “O gato é de raza persa pura”, etc...), mais cada vez queda máis claro que no práctica todo é un contínuo: a sexualidade é un espectro, as nacións poden ir máis alá do concepto de nación-estado e as línguas poden formar parte de contínuos que traspasan continentes e ata comunidades autónomas…
Temos que chegar ao século XX para atopar un pensador que propoña unha alternativa ao modelo de categorización diferente ao estabelecido por Platón. Para Wittgenstein, de cara a evitar caer no dogmatismo, debe ser a linguaxe que empregamos para describirmos os obxetos a que se adapte á realidade, en lugar de buscar adaptar a realidade aos nosos modelos ideais. Esta nova forma de pensar, máis aberta e non ortodoxa, e tamén máis complexa, ten implicacións que chegan até a sociedade de maneiras moi diversas, por exemplo, no campo do desenvolmento de software3.
Ademáis da transición cara un novo modelo económico e social, estamos asistindo a unha evolución nos modelos de pensamento da sociedade. Por ese motivo, agora que se reclama a continuidade da presenza da asignatura de Filosofía no ensino medio, convén lembrar que non é unha matéria tan afastada da sociedade como semella. Non só é beneficiosa na formación senón que pode até chegar a ser útil nos sectores máis inesperados.
Notas
- Neste artigo emprego as palabras “ventá”, “fiestra” e “xanela” indiferentemente para designaren o mesmo concepto.
- Para Linné ficaba claro que tanto o xabaril, o porco doméstico e o porco vietnamita son parte da mesma especie, Sus Scrofa. Para el, todos os animais dese grupo compartían as mesmas características, e consideraba menores as diferenzas entre as “razas”, mentres puidese haber un cruce entre elas. Segundo o científico sueco, existiría un modelo ideal para a especie “porco”, e o resto son apenas variantes. Outros animais con características anatómicas própias similares, coma o facocero ou a babirrusa, que non se poden cruzar co porco común europeu, serían especies aparte, dentro do mesmo xénero. Foi en parte no traballo de Linné e doutros naturalistas no que Darwin baseou a súa teoría da evolución, postulando que os membros desas familias tiñan un antepasado común, que fóra extinto e suplantado polos seus descendentes. Dawkins, e con el os evolucionistas modernos, deixa claro que debe entenderse que existe unha continuidade entre o antepasado común e as novas especies. Non se pode falar do momento en que unha especie se “extingue” e aparece outra nova, se non que durante un período de moitas xeracións a xenética da especie vai mudando debido á selección natural ata que o grupo final (millóns de anos despois), en ocasións presenta unhas características moi diferentes do inicial dos seus antergos.
- Para aqueles desenvolvedores interesados en profundizar neste tema, recomendo a lectura deste documento sobre clasificación de obxetos: http://www.idt.mdh.se/kurser/cd5130/msl/2003lp4/reports/prototypebased.pdf