Mostrando entradas con la etiqueta shell. Mostrar todas las entradas
Mostrando entradas con la etiqueta shell. Mostrar todas las entradas

25 de abril de 2023

Por qué Perl?

De vez en cuando en este blog toca escribir sobre Perl, uno de los lenguajes que usamos en nuestro trabajo, en mi caso el que más uso la verdad.

Voy a traducir y resumir https://two-wrongs.com/why-perl , porque creo que plasma mi experiencia bastante bien [en negrita mis comentarios]:

"A veces me preguntan porqué uso tanto el Perl. No soy acaso fan de los lenguajes fuertemente tipados? Sí. Pídeme que escriba algo que sepa a ciencia cierta que se convertirá en un gran sistema y elegiré un lenguaje fuertemente tipado sin duda [...]. Pero la mayor parte de lo que escribo nunca se convertirá en un gran sistema. Esto es lo que Perl hace bien:

  1. Está instalado por defecto en todas partes y no necesito ser superusuario para ejecutarlo.
  2. Con mucha disciplina, los scripts Perl pueden escalar hasta construir sistemas grandes y complejos.
  3. Sé que un script Perl que escriba hoy funcionará sin cambios en 10 años, sobre todo si me limito a importar módulos core.
  4. Perl puede reemplazar en la práctica a cualquier lenguaje shell, aunque combina muy bien con bucles bash.
  5. Perl tiene una sintaxis core relativamente pequeña, flexible y extensible. 

Estos requerimientos están ordenados por prioridad, siendo el primero el más importante. Cuando quiero hacer un prototipo rápidamente no quiero que mi primera tarea sea 'Primero instala el ambiente ...'. Como los prototipos suelen usarse más allá de lo que inicialmente pensamos, es importante que sea posible escribir software en ese lenguaje que se pueda mantener y que funcione mientras haya personas interesadas en usarlo.

Perl es único en cuanto a estas condiciones. La siguiente tabla resume otras alternativas que he probado al menos un mes, donde los asteriscos marcan condiciones que se cumplen de manera incompleta:

"
 

En general estoy bastante de acuerdo con esta carta de presentación del lenguaje. Creo que el principal problema de Perl es que su extrema flexibilidad permite escribir programas que pueden ser difíciles de leer por otros, queda en tu mano documentar y estructurar bien el código para que eso no ocurra,

Bruno

 


4 de noviembre de 2020

Course on scripting with the Linux shell

 Hi,  Carlos Cantalapiedra and me recently put together teaching material about scripting in the linux terminal.

The material can be found at repository https://github.com/eead-csic-compbio/scripting_linux_shell 

There are five sessions and the goal is for you to learn the basics of the Linux shell and scripting for data sciences such as genomics and plant breeding:

session title required time URL
0 Setup prior to course session 0
1 Linux basics and files 2h session 1
2 Processes and scripts 2h session 2
3 Parsing with regular expressions 2h session 3
4 Perl one-liners 2h session 4
5 Advanced scripts 2h session 5 


Figure of the standard streams, taken from https://en.wikipedia.org/wiki/Standard_streams

 

If you spot errors please send pull requests, hope this helps some of you out there,

Bruno 

PD si prefieres aprender en español echa un vistazo a https://github.com/vinuesa/intro2linux