La jerigonza de los programadores: el Vocabulario de Progamadores

El vocabulario de programadores es muy particular pero para nada es la excepción y por eso es que en todos los gremios se les denomina jerigonza. En este artículo descarto el lado despectivo del término y nos centraremos en exponer sus particularidades, ¡vamos!

SMS, MMS y teléfonos móviles

¿A que recordáis qué significado tiene el acrónimo de tres letras SMS? Pandora FMS es capaz de enviaros alertas por medio de esta tecnología de mensajes de texto, así que tanto en la documentación técnica y a lo largo de todo el software dicho término está plasmado. Ahora bien, aunque este ha caído en desuso a favor de Twitter, Telegram, etcétera, esa palabra es todavía comprensible tanto por los usuarios como por los programadores… ¿Si os decimos RCS significa algo para vosotros? Veamos.

Las abreviaturas puede tener muchísimos significados y en el campo de la informática el idioma inglés es la base de una lengua franca tal como lo fue el idioma latín hace miles de años atrás. Es, por tanto, que SMS significa Short Message Service (servicio de mensajes cortos) y MMS significa Multimedia Messaging Service (servicio de mensajería multimedia).

Por otra parte, RCS significa Rich Communication Services (servicios de comunicación enriquecida) el cual viene a ser sucesor del MMS. Los RCS están siendo promovidos por Jibe, una división de la empresa Google® así que estad atentos a este nuevo desarrollo para vuestros teléfonos móviles ya que Jibe busca aprovechar el hardware existente pero añadiendo muchas funcionalidades nuevas. El meollo del asunto es que los programadores deben incluir desde ya todas estas denominaciones en el código fuente y pensar hacia el futuro, tanto de los desarrolladores que mantendrán el código (por ejemplo, los parches informáticos) como por los usuarios finales.

Pensemos de manera egoísta

Todos los lenguajes de programación permiten introducir comentarios a fin de denotar o indicar algo importante, o bien con propósitos didácticos (los mismos creadores del lenguaje de programación deben enseñar a sus colegas e incluyen comentarios en los ejemplos para aprendizaje del lenguaje). Es por ello que debemos buscar la mejor manera posible de que nuestras ideas sean claramente comprendidas a cabalidad, ya sea ahora o a futuro. Pero aquí viene el detalle: esto debe incluirnos a  nosotros mismos. Vaya entonces para que agreguemos una nota importante a nuestro vocabulario de programadores: escribamos los comentarios como si enviamos una carta a nuestro yo del futuro. Pensando de esta manera hay una alta probabilidad de que nuestras ideas sean bien interpretadas, pero ¿cómo debemos comentar nuestro código fuente?

Algunos lenguajes son avanzados y buscan integrar dichos comentarios de manera formal para ser compilados junto con el programa, ya os hemos hablado sobre el lenguaje Python y también acá lo usaremos como ejemplo de ello. De esta manera, cuando es convertido el código fuente a lenguaje de máquina -unos y ceros- nuestros comentarios quedarán como ayuda del software tanto para otros programadores como para los usuarios.

Es nuestro deber acotar que Python también permite comentarios solo para ser leídos por los programadores, a pesar de ello también tienen una normas estrictas para ser escritos (dichas normas son conocidas como PEP 8 y PEP 257).

Consideraciones de abreviaturas

Con el ejemplo que vimos al principio, esta novedad del RCS impide que  utilicemos esa abreviatura para cualquier uso distinto a denominar dicha tecnología. Otro tanto está representado en las palabras reservadas de cada lenguaje de programación, ya sean comandos o declaraciones. Casos como exit (salida) o int (abreviatura de integer, entero, usada para declarar una variable numérica sin decimales) no podrán ser utilizadas para nuestros propósitos de ahorrar en la escritura -y lectura- del código fuente para nosotros los seres humanos.

Alguna palabras están consolidadas e incluso tienen significado extremadamente amplio en muchos países, no son palabras reservadas del lenguaje de programación sino abstracciones humanas. Un ejemplo notable de ello es la palabra OK. No entraremos en debate sobre qué significa cada letra pero las dos juntas y sus combinaciones («Ok», «oK», «ok») expresan la misma idea: «está bien», «positivo» o «es correcto».

Podemos agregar otro grupo de abreviaturas no relacionada con tecnología de hardware sino de software, incluso será plenamente comprensible para cualquier usuario, como HTTP, TCP/IP, etc.

Acrónimos

Incluso hoy en día una significativa parte de la población conoce el acrónimo HTML; pues bien, este lenguaje tiene su propio mecanismo para tratar con ellos (muy ingenioso, por cierto), primero con acrónimos -etiqueta en desuso- y segundo con abreviaturas:

The <abbr title="Organization of the Petroleum Exporting Countries">OPEC</abbr> was founded in 1960.

Como vemos en realidad es un acrónimo pero dicho elemento conciso

<acronym> ... </acronym>

fue excluido en la última norma HTML 5.0; veamos entonces lo que son los acrónimos en el vocabulario de programadores.

Por favor, lea también   Integración Continua de Software: Jenkins,mayordomo a nuestro servicio

Los acrónimos provienen del latín, su uso fue popularizado durante el Imperio Romano y luego se extendió a muchos otros idiomas. Consiste en simplemente colocar, como demostramos, la primera letra de cada palabra teniendo cuidado en su pronunciación de letra por letra. Lo que generalmente sucede es que se pronuncia como palabra y en el caso de los programadores algunos hasta se convierten en verbos.

Mención especial tienen los acrónimos recursivos, el más famoso GNU: «GNU is Not Unix» y aunque este término  no se utiliza directamente en el vocabulario de los programadores, PHP sí que se utiliza al inicio de cada fichero que contiene un guion de dicho lenguaje (PHP: «PHP Hypertext Preprocessor»). El acrónimo recursivo más reciente es YAML: «YAML Ain’t Markup Language» (pero originalmente significaba «Yet Another Markup Language»).

Abreviaturas y apócopes

Las abreviaturas en cambio buscan eliminar al menos tres letras para que el esfuerzo valga la pena. No debemos confundir con los símbolos, por ejemplo la letra «s» es utilizada para indicar segundos, y «ms» para milisegundos, la unidad de medida de tiempo más utilizada en informática. Muchas veces se mezclan abreviaturas y símbolos, como es el caso de «mbps» que significa «mega bits per second» o «mega bits por segundo».

Pero esperad, aún hay más, cuidado: mientras que «Mbps» tiene el mismo significado que «mbps» no sucede lo mismo cuando usamos «MBps» ¡ya que esto significa «Mega Bytes per second» o «Mega Bytes por segundo»!

Despedimos el ejemplo con un detalle más: en la vida real y cotidiana «mega bits por segundo» es abreviado como «Mbit/s» lo cual no es común usar entre programadores porque tanto la barra «/» como la barra inversa «\» tienen usos especiales en los lenguajes de programación y sistemas operativos.

En cuanto a los apócopes, que consiste en eliminar parte del final de las palabras, quizás el caso más famoso es «COM» para denominar a las «comunicaciones», aunque también ha sido usada para representar otros conceptos (su uso en los lenguajes de programación casi siempre es como palabra reservada).

«Numerónimos»

Junto a vd. finalizamos esta entrada con los numerónimos: no, no encontraréis su definición en diccionario porque su uso tiene mucha polémica y se niegan a canonizarlo. Como bien sabemos podemos representar nuestros números arábigos por medio de letras (palabras) pero justo sucede que aquí se da el caso contrario, os explico:

Obviamente los mensajes a los usuarios finales de cualquier programa informático en el mundo deben ser en su propio idioma nativo, dicha rama de estudio y trabajo se denomina «internationalization» del software, muy larga para estarla pronunciando a cada momento si os toca trabajar en esa área. Pues claro que es largo ¿pero sabéis que algunas compañías también usaban «international-enabling» para referirse al trabajo de programar una aplicación en varios idiomas?

La solución, si queremos llamarla de esa manera, fue denominar i18n a dicho trabajo, ya que entre la primera y última letra pues hay dieciocho caracteres… ¡Al parecer esto se originó cuando un administrador de sistemas creó como nombre de usuario «S12n» para el empleado Jan Scherpenhuizen para su cuenta de correo electrónico! Como al resto de los empleados les pareció graciosa la idea, los programadores se apropiaron de ella, pero no fue sino hasta  mediados de los años 1990 cuando se popularizó e incluso se amplió:

  • Globalization: g11n.
  • Japanization: j10n.
  • Localization: l10n.
  • Europeanization: e13n.

Conocéis Pandora FMS, ¿no? Por si acaso: Pandora FMS es un sistema de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí.

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario.

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí.

TituloEnlace
The Common Vocabulary of Software Developershttps://www.fluentcpp.com/2019/04/30/common-vocabulary-software-developers/
RCS: Telcos gearing up for
Rich business messaging
https://carriercommunity.com/wp-content/uploads/2019/08/Magazine_GCCM_SAO_PAULO_2019_low_draft05_low.pdf
Subway tempts mobile customers with tasty sandwich deals via RCS Business Messaginghttps://jibe.
google.com/case-studies/subway/
Origin Of The Abbreviation I18nhttp://www.i18nguy.com/origini18n.html
Clean Code Principles: Everything's Relativehttps://www.itprotoday.com/devops/clean-code-principles-everythings-relative
Python Docstringshttps://www.pythonforbeginners.com/basics/python-docstrings/
Acronyms and abbreviations in avionicshttps://en.wikipedia.org/wiki/Acronyms_and_abbreviations_in_avionics
Numerónimos (I): fechas https://vetustideces.blogspot.com/2016/11/numeronimos-i-fechas.html
HTML element: acronym and abbrhttps://en.wikipedia.org/wiki/HTML_element#acronym
TítuloEnlace