Idioms en programación
# Idioms en programación

Un idioma de programación o idioma de código es un grupo de fragmentos de código que comparten una función semántica equivalente, que se repite con frecuencia en proyectos de software que a menudo expresan una característica especial de una construcción recurrente en uno o más lenguajes de programación o bibliotecas. Los desarrolladores reconocen los modismos de programación al asociar y dar significado a una o más expresiones sintácticas dentro de fragmentos de código. El idioma puede verse como un concepto subyacente a un patrón en el código, que está representado en la implementación por fragmentos de código contiguos o dispersos. Estos fragmentos están disponibles en varios lenguajes de programación, frameworks o incluso bibliotecas. Los beneficios de estar familiarizado con las expresiones idiomáticas, especialmente las más grandes, es que al mirar el código puede ver varias líneas de código, pero como es familiar como una expresión particular, puede representar mentalmente y pensar sobre el código como solo idioma en vez de tener necesariamente que leer y comprender cada línea individualmente. Hablar de modismos de programación es hablar sobre los patrones que se repiten frecuentemente en el código o para proponer otros nuevos.

Conocer los modismos asociados con un lenguaje de programación y cómo usarlos es una parte importante para adquirir fluidez en ese lenguaje y transferir conocimientos en forma de analogías de un lenguaje o marco a otro. Un error común es usar el uso adverbial o adjetivo del término como si se usara un lenguaje de programación de una manera típica, que en realidad se refiere a idiosincrásico. Por ejemplo, una forma idiosincrásica de administrar la memoria dinámica en C sería usar las funciones de biblioteca estándar de C malloc y free, mientras que idiomatic se refiere a la asignación de memoria dinámica como un rol semántico recurrente que se puede lograr con fragmentos de código malloc en C, o pointer = nuevo tipo [número_de_elementos]en C ++. Ambos tienen en común que los fragmentos de código son inteligibles para alguien que no esté familiarizado con C o C ++, a menos que se exponga el fundamento del código al desarrollador.

