Press Release
Noticias |
¿Por qué programación y para quiénes? | SAS EDUCACIÓN ARGENTINABuenos Aires, Argentina (11 May. 2011) – Existe entre la mayoría de los usuarios de software, con distintos niveles de experiencia y diferentes roles, una considerable confusión respecto del tema de cuándo debieran recurrir a la programación y quiénes debieran hacerlo. En forma complementaria, existe también cierto grado de confusión respecto del papel y alcance de las interfases gráficas. Un lenguaje de programación y la propia tarea de programar tienen muchas similitudes con el lenguaje natural (por ejemplo, el español) y su utilización. Esto no es sorprendente porque un lenguaje de programación es, al igual que el lenguaje natural, un instrumento de comunicación, el segundo con nuestros congéneres y el primero con un sistema artificial (cada vez más "inteligente"). Por ello, es útil responder las preguntas del título desde el punto de vista de la comunicación en general. El lenguaje natural como instrumento de comunicación tiene características peculiares. Para que funcione apropiadamente debe ser muy flexible (gran vocabulario a nivel de palabras y otras unidades, y una gran posibilidad combinatoria) porque debe poder usarse para hacer referencia a las más variadas situaciones (reales e imaginarias). Sin embargo, los usos del lenguaje natural están sometidos a varias leyes conocidas, entre ellas la de la proporción 20/80 atribuida a Pareto. En un 20% de los usos necesitamos una considerable flexibilidad y potencia expresiva, pero en un 80% de los casos usamos el lenguaje para cosas que se expresan muy fácilmente y que son bastante predecibles. Es para ese 80% de los casos que el lenguaje natural tiene "complementos paralingüísticos": gestos, expresiones faciales, comienzos de oraciones, sonidos, interjecciones, etc. Cuanto más cercano está un interlocutor (por ejemplo, al lado nuestro, versus en otro país) y cuanto más inmediata y concreta es la situación a la que queremos hacer referencia (por ejemplo, ¿dónde está la parada del bus 96?) más útiles son los elementos paralingüísticos (por ejemplo, señalar) y más ineficientes son los medios más explícitos y verbosos. Si la pregunta sobre la parada del bus la hiciese un turista, probablemente será útil además de una seña darle alguna explicación un poco más completa (menos paralingüística). Por supuesto, en el contexto de una novela o cuando detectamos que la pregunta por la parada está, por alguna razón, mal formulada (no hay un bus 96, no pasa en absoluto por la zona, etc.), recurriríamos para resolver la cuestión a una opción más verbosa, menos predecible y más potente expresivamente. Una segunda característica muy importante del lenguaje natural que, por lo común, no suele advertirse, es la importancia en nuestra comunicación de la inferencia versus una comunicación explícita. Muchísimas veces no decimos exactamente lo que queremos significar sino, más bien, algo que calculamos que le permitirá a nuestro interlocutor inferir aquello que queremos decir. En esto se basan muchas expresiones y figuras retóricas (ironía, metáfora, metonimia, etc.). Por ejemplo, cuando saludamos con "buenas noches" a alguien que llega tarde a una reunión estamos induciendo en esa persona, mediante una ironía, la inferencia de un mensaje de no aprobación por nuestra parte de su llegada tarde, un mensaje que nunca explicitamos abiertamente, pero que nuestro interlocutor infiere con facilidad. ¿Cómo se manifiestan estas características en la comunicación con una computadora? Una interfase gráfica permite "comunicar" la intención del usuario con gestos paralingüísticos (señalar una opción, arrastrar un ícono, un clic del mouse, etc.) en relación con ubicaciones espaciales (íconos, barras, ventanas y otros sitios en la pantalla) y presenta opciones (íconos dentro de ventanas activas, "defaults" de procedimientos, por ejemplo) en función de una inferencia (en general bastante básica) de la intención del usuario. La "bondad" de una interfase gráfica se basa en su capacidad para utilizar técnicas paralingüisticas e inferenciales para lograr que el usuario pueda especificar, de la manera más eficiente posible, ese 80% de las tareas que son fácilmente definibles de este modo. Pero, la cuestión es que el otro 20% requiere la utilización de recursos más expresivos (un lenguaje de programación). El lenguaje SAS (en un sentido amplio) es sumamente expresivo: está compuesto por el lenguaje SAS base (un lenguaje de cuarta generación) y varios otros lenguajes "embebidos": AF (un lenguaje de componentes), SQL (un lenguaje de cuarta generación para la consulta de bases de datos), Perl (un lenguaje de tercera generación para la representación de expresiones regulares), SAS macro (un lenguaje de macro programación) e IML (un lenguaje de programación matricial). El lenguaje SAS ha sido un lenguaje muy estable durante casi treinta años, con nuevos agregados que acompañaron la evolución de SAS y sus tecnologías, pero, en esencia, su estructura siempre ha sido la misma. Dos de las interfases más populares de SAS son Enterprise Guide, una interfase gráfica de generación de consultas, análisis estadísticos y programación, y Enterprise Miner, una interfase gráfica especializada en tareas de Data Mining. Ambas interfases generan código en lenguaje SAS (lo único que "entiende" un servidor SAS) en base a las selecciones gráficas del usuario. La potencia expresiva de ambas interfase es muy importante, pero de ningún modo es posible acceder a la totalidad de las capacidades del lenguaje SAS subyacente.
Figura 1 - Interfase de SAS enterprise Guide
A un usuario inicial o "ingenuo" suele bastarle la interfase gráfica. Por lo general (aunque no siempre) este usuario se mueve dentro de ese 80% de las tareas que pueden definirse fácilmente con medios paralingüísticos. Sin embargo, un usuario avanzado que desea realmente optimizar el uso de sus herramientas y obtener resultados de reporting o modelización sofisticados, debe poder interpretar el código generado por la interfase (para usarlo como punto de partida de posibles mejoras), debe conocer a qué otras funcionalidades puede acceder recurriendo al agregado de sentencias u opciones en el código, debe conocer cómo acceder a los muy diversos resultados producidos durante un análisis estadístico o de data mining (además de los que se muestran en la ventana "Output"), o debe poder escribir programas que le permitan agregar funciones, algoritmos, técnicas de modelización o de evaluación nuevas y sofisticadas.
Figura 2 - Interfase de SAS Enterprise Miner.
Algunos pocos ejemplos:
Si aun no tiene experiencia con alguna interfase gráfica de SAS, la mayoría de los cursos introductorios sobre estas posee algunos temas que le permitirán introducirse mínimamente en la complementación de la interfase con la programación en SAS, por ejemplo: Si desea aproximarse a la programación en SAS de un modo formal y sistemático, en cambio, considere la carrera de especialización en programación.
SAS es una empresa líder en soluciones y servicios de Business Analytics y el mayor proveedor independiente de Business Intelligence del mercado. Con innovadoras aplicaciones, apoyadas por una plataforma de inteligencia empresarial, SAS ayuda a que 45,000 sitios mejoren su desempeño y brinden valor para tomar decisiones de negocio más acertadas con mayor velocidad. Desde 1976, SAS otorga a sus clientes alrededor del mundo THE POWER TO KNOW®.
|
Contacto Editorial:
|