# 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](/how-to-be-a-programmer/es/2-intermediate/personal-skills/10-heavy-tools.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://braydie.gitbook.io/how-to-be-a-programmer/es/2-intermediate/personal-skills/09-communication-languages.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
