Posts | Tags | Categories | Archive

Algoritmos y lenguaje

Hoy he leído que “para entender un algoritmo lo mejor que se puede hacer es abstraerse del lenguaje de programación todo lo posible”. Aunque entiendo que pueda ser un modo de aproximarse al algoritmo, no comparto del todo esa afirmación.


Notas del blog

Añadida categoría Notas para seguimiento de la evolución de este blog


Build Server Protocol

Mediante el protocolo BSP, la intereacción de un editor o IDE con las herramientas de desarrollo se ha llevado a una arquitectura cliente-servidor que mejora la experiencia de usuario con sus herramientas de desarrollo habituales, sin renunciar a la comodidad de usar una entorno gráfico.


Scripting para scala

Unos pensamientos sobre mi actual decepción con python y porqué empiezo a usar más scala para tareas de scripting.


Dataclasses en python

Aunque para python sea algo nuevo, las dataclasses son bastante comunes en muchos lenguajes funcionales. No es una implementación tan completa, pero ofrece ventajas que pueden ahorrar bastante trabajo.


Evaluación perezosa en python - Apéndice

Una revisión crítica al tipado gradual de datos de python que se ha usado en esta serie de artículos sobre evaluación perezosa.


Ejemplo práctico. Potencias de Fermi-Dirac - Evaluación perezosa en python - Parte 6

Visto cómo conseguir secuencias con evaluación perezosa, ya sólo nos falta conocer en qué poder emplearlas. En este artículo veremos las potencias de Fermi-Dirac y cómo las secuencias de evaluación perezosa nos ayudarán a plantear una solución manejable.


Formalización de la Secuencia Perezosa - Evaluación perezosa en python - Parte 5

Refactorización del código creado hasta ahora para formalizar las clases LazySequence y LazySortedSequence para uso general.


Evaluación perezosa avanzada - Evaluación perezosa en python - Parte 4

Partiendo del algoritmo para la obtención de números primos crearemos una secuencia infinita mediante técnicas de evaluación perezosa que crezca a medida que se necesite. Al final, aplicaremos algunas optimizaciones para el cálculo de números primos.


Memoización - Evaluación perezosa en python - Parte 3

Tercera parte de una serie de artículos dedicados al estudio de la evaluación perezosa en python. En esta parte veremos la técnica de memoización y cómo puede ayudarnos en la implementación de secuencia de evaluaciones.


Secuencias infinitas - Evaluación perezosa en python - Parte 2

Segunda parte de una serie de artículos dedicados al estudio de la evaluación perezosa en python. En esta parte se estudia las secuencia infintas, algunas implementadas con iteradores, y el modo en que se pueden manejar.


Introducción a la “Evaluación Perezosa” - Evaluación perezosa en python - Parte 1

Primera parte de una serie de artículos dedicados al estudio de la evaluación perezosa en python. En esta primera parte se estudia los objetos rango y cómo se pueden generalizar su uso para crear secuencias de la que conocemos cómo calcular un elemento genérico a partir de su posición.


Reorientando el blog

Sobre este blog, lo último que he estado investigando y a hacia dónde pienso que irá la programación.


Manejo de rutas con pathlib

Es difícil escribir un script de python que no interaccione con el sistema de ficheros de un modo u otro, por lo que python dispone de varios módulos para tal fin. El objeto Path viene a poner orden entre tantos módulos y funciones para manejo de ficheros. Se puede decir sin duda que usar Path se ha convertido en la forma más pythónica de manipular ficheros y directorios.


Monadas con coco

Los iterables han dejado la programación funcional para ser parte de los lenguajes de programación modernos. Veremos cuáles son las implementaciones en python y coconut, y las diferencias entre ellos.


Coconut - Primeros pasos

Primera toma de contacto con el lenguaje coconut, su instalación y detalles a tener en cuenta con la compatibilidad con las versiones de python utilizadas.


¿Qué es un coconut?

Inicio de unos artículos dedicados al lenguaje coconut, un lenguaje funcional totalmente pythónico, y otras novedades para este nuevo reinicio del blog.


Factorial en scala en paralelo

Una nueva versión del factorial en scala, ahora en paralelo


Reinicio 2018

Después de mucho tiempo, vuelvo a escribir en este blog. No tenía mucho qué decir, pero es posible que haya llegado el momento de hacerlo.


Manejo de iteradores

En python existe cierta dualidad entre listas e iteradores. Bastantes de los métodos de la librería estándar que utilizan listas también suelen aceptar iteradores, no siendo necesario convertir previamente el iterador en lista para invocarlos. Incluso es posible sustituir el argumento por una expresión generadora contruida a propósito para la llamada. ¿Es posible usar estos iteradores sin necesidad de convertirlos en listas?


Renacimiento

Pensamientos de lo hecho estos años y qué espero del futuro


Python Eficiente - Sobre la vida de los objetos

Antes de seguir adelante, necesitamos aclarar qué les pasa a los objetos que creamos en una aplicación. Cuándo se crean, dónde se almacenan y cómo se destruyen. En definitiva, necesitamos conocer mejor la vida de los objetos.

El término de variable que usamos en programación tiene su origen en el …


Clausuras en python - Parte 2

Ámbitos anidados

La importancia de disponer de clausuras va más allá de saber dónde se evalúa la función. Si fuera posible encapsular una función junto con su propio entorno de ejecución, podríamos conseguir que la función tenga “memoria” o, dicho de otro modo, que sea capaz de conservar sus propios …


Clausuras en python - Parte 1

Funciones Lambda

Antes de ver qué son las clausuras (closures), veamos qué tienen las funciones lambda que las hacen tan polémicas algunas veces.

Comencemos con un ejemplo. Te recomiendo que te esfuerces en deducir cómo funciona sin ir a probar cómo funciona. A continuación te pondré algunos valores para que …


Estudio función factorial - numpy

Mientras busco tiempo para preparar algunos artículos sobre cómo hacer la programación python más eficiente, he estado revisando nuevos métodos de programar la función factorial en python aplicando los nuevos conocimientos adquiridos.

Como puse en un artículo anterior, la implementación más compacta de la función factorial sería aplicando la función …

© Chema Cortés. Built using Pelican. Theme is subtle by Carey Metcalfe. Based on svbhack by Giulio Fidente.