Peculiaridades en los lenguajes de programación

Con este post quiero inaugurar una sección donde tratar las peculiaridades de los distintos lenguajes de programación. Me refiero con la palabra peculiaridades a aquellos detalles que, en ocasiones, no se tienen presente cuando se está desarrollando, especialmente cuando se manejan distintos lenguajes en poco espacio de tiempo o cuando se comienza a desarrollar con un nuevo lenguaje que no se conoce en profundidad. Esto puede llevar a comportamientos extraños, o que no alcanzamos a comprender, en nuestra aplicación, y por tanto muy difíciles de resolver. Para comenzar, he elegido el hoisting de javascript.

Características funcionales de Javascript

Javascript no fué creado como un lenguaje de programación funcional, pero dispone de ciertas características que nos permiten programar en un estilo funcional al usarlo. Te las listo con la intención de escribir un post sobre cada una de ellas y enlazarlo aquí abajo:

  • Las funciones son objetos de primera clase
  • Recursión
  • Funciones flecha (Arrow functions)
  • Clausuras (Closures)
  • El operador spread

Entiende esto antes de estudiar programación funcional

La programación funcional es un modo distinto de escribir sofware que puede resultar difícil de aprender. La mayoría del software producido actualmente es una secuencia de órdenes ejecutadas de un modo determinado y, cuyo resultado, se obtiene creando y manipulando objetos. En la programación funcional (FP) el resultado se obtiene evaluando expresiones que están compuestas de funciones.  Es habitual pasar funciones como parámetros de otras funciones, o devolverlas como resultados; Se opta por la recursión en lugar de hacer bucles, y en el cuerpo de las funciones se evita modificar objetos o el uso de variables globales, de tal manera que el uso de estas no conlleve efectos secundarios, habitualmente referidos en la literatura técnica como side effects.

Tabulación coloreada en Visual Studio Code

Indent Rainbow es una extensión de Visual Studio Code, de uso general, que sirve para darle color a las tabulaciones. Es muy útil para mejorar la legibilidad del código, especialmente para conocer en que ámbito te estás moviendo o donde comienzan y finalizan ciertos elementos del código.

A continuación puedes ver el ajuste por defecto de la extensión, pero, como casi todo en Visual Studio Code, es algo configurable a tu gusto.