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.
Home | Quién soy | Búsqueda python-es | Atom Feed
Posts | Tags | Categories | Archive
Añadida categoría Notas para seguimiento de la evolución de este blog
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.
Unos pensamientos sobre mi actual decepción con python y porqué empiezo a usar más scala para tareas de scripting.
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.
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.
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.
Refactorización del código creado hasta ahora para formalizar las clases LazySequence
y LazySortedSequence
para uso general.
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.
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.
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.
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.
Sobre este blog, lo último que he estado investigando y a hacia dónde pienso que irá la programación.
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.
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.
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.
Inicio de unos artículos dedicados al lenguaje coconut, un lenguaje funcional totalmente pythónico, y otras novedades para este nuevo reinicio del blog.
Una nueva versión del factorial en scala, ahora en paralelo
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.
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?
Pensamientos de lo hecho estos años y qué espero del futuro
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 …
Á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 …
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 …
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.