# Idiomas de comunicación

Existen algunos lenguajes, es decir, sistemas sintácticos formalmente definidos, que no son _lenguajes de programación_, sino lenguajes de comunicación; están diseñados específicamente para facilitar la comunicación a través de la estandarización. En 2003, los más importantes de estos son UML, XML y SQL. Deberías tener cierta familiaridad con todos ellos para poder comunicarte bien y decidir cuándo usarlos.

UML es un sistema formal rico para realizar dibujos que describen diseños. Su belleza radica en que es visual y formal al mismo tiempo, capaz de transmitir mucha información si tanto el autor como la audiencia conocen UML. Necesitas conocerlo porque a veces los diseños se comunican en él. Hay herramientas muy útiles para hacer dibujos UML que lucen muy profesionales. En muchos casos, UML es demasiado formal, y me encuentro usando un estilo más simple de _cuadros y flechas_ para dibujos de diseño. Pero estoy bastante seguro de que UML es al menos tan beneficioso como estudiar latín.

XML es un estándar para definir nuevos estándares. No es una solución para problemas de intercambio de datos, aunque a veces se presenta como tal. Más bien, es una automatización bienvenida de la parte más aburrida del intercambio de datos, es decir, estructurar la representación en una secuencia lineal y analizar de nuevo en una estructura. Proporciona algunas verificaciones agradables de tipo y corrección, aunque nuevamente solo una fracción de lo que es probable que necesites en la práctica.

SQL es un lenguaje de consulta y manipulación de datos muy potente y completo que no es exactamente un lenguaje de programación. Tiene muchas variaciones, típicamente bastante dependientes del producto, que son menos importantes que el núcleo estandarizado. SQL es la _lingua franca_ de las bases de datos relacionales. Puede que trabajes o no en un campo que se beneficie de la comprensión de las bases de datos relacionales, pero deberías tener un entendimiento básico de ellas y de la sintaxis y el significado de SQL.

Siguiente [Herramientas pesadas](10-heavy-tools)
