Desarrollo de software a través de la programación literal – Curso nbdev
Invalid Date
Nbdev es un ambiente de programación para el desarrollo de software en Python el cual esta basado en el concepto de programación literal (literal programing) de Donald E. Knuth
Literate programming is a methodology that combines a programming language with a documentation language, thereby making programs more robust, more portable, more easily maintained, and arguably more fun to write than programs that are written only in a high-level language. The main idea is to treat a program as a piece of literature, addressed to human beings rather than to a computer.1
Nbdev es un ambiente de programación para el desarrollo de software en Python el cual esta basado en el concepto de programación literal (literal programing) de Donald E. Knuth
Programación literal es una metodología que combina un lenguaje de programación con un lenguaje de documentación, haciendo los programas más robustos, más portables, más fáciles de mantener y discutiblemente más divertidos de escribir que programas escritos en un lenguaje de programación de alto nivel. La idea principal es tratar a un programa como una pieza de literatura dirigido a un humano en vez de a una computadora. 1
Nbdev utiliza un jupyter notebooks para generar tanto el código de la biblioteca como la documentación de la misma.
Se puede instalar a través de pip usando:
pip install nbdev
o instalar con conda:
conda install -c fastai nbdev
Si se utiliza conda para hacer uso de nbdev, es necesario que este instalado dentro del mismo ambiente de Python que se utiliza para hacer uso de Jupyter y del proyecto.
El desarrollo de nbdev esta ligado a su uso con herramientas software especificas. Por tal motivo la forma más sencilla de hacer uso de nbdev es utilizar dichas herramientas de software.
Herramientas ligadas a nbdev:
La idea central es poder hacer todo como una historia, hacer el desarrollo de una idea, pasarla a código, ver que funcione, hacer pruebas , exportar el código, hacer la documentacion, etc. Todo dentro de un mismo notebook.
Al tener todo dentro de un mismo notebook nos permite que todo sea más simple.
En sus origenes nbdev hacia uso de los notebook de Jupyter para hacer todo el desarrollo, a partir de su segunda versión se recomienda el uso de Quarto. Quarto nos permite usar los notebooks con la diferencia que a partir de un mismo notebook podemos generar distintos tipos de documentos como HTML, PDF, MS word, Markdown, presentaciones, etc. Uno de los formatos que podemos generar es el de un notebook de Jupyter, por tal motivo los desarrolladores de nbdev decidieron hacer uso de Quarto en vez de generar todo un nuevo ecosistema.
Usando simples directrices dentro de los notebooks y sus celdas nos permite: * Crear la documentación * Exportar fragmentos de código para la creación de codigo fuente. * Ejecución de código para pruebas. * Visibilidad y comportamiento de celdas. * Manejo de variables internas. * etc.
Haciendo uso de lo anterior nos permite generar tutoriales para mosrtrar el uso del desarrollo.
![]()
Curso Nbdev – Introducción