Sistemas & Desarrollo

encontrados: 55, tiempo total: 0.013 segundos rss2
3 meneos
33 clics

Usar mónadas es mucho más fácil de lo que crees, empezando con la programación funcional

Seguramente todos tenemos formada una buena idea sobre lo que es una “propiedad”, un “método estático”, un “singleton” u otros términos. Nos resultan algo más exóticos términos como “clase abstracta” o “función virtual pura”. Todos éstos son términos habituales en la programación orientada a objetos. Lo que seguramente ya no tengamos tan claras son todas las ramificaciones, implicaciones, interacciones que estos conceptos poseen y, sin embargo, los usamos. Usar una mónada es tanto o más fácil de usar que, por ejemplo, un objeto. Pero una […].
2 meneos
32 clics

Programando en D: tutorial y referencia [ENG]

D es un lenguaje de programación multiparadigma que combina una amplia gama de potentes conceptos de programación de los más bajos a los más altos niveles. Hace hincapié en la seguridad de memoria, la corrección del programa y el pragmatismo. El objetivo principal de este libro es enseñar D a los lectores que son nuevos en el desarrollo de software. A pesar de tener experiencia en otros lenguajes de programación es ciertamente útil, este libro comienza desde lo más básico.
2 meneos
86 clics

La estética del código fuente: a la búsqueda del arte en la programación  

Un lenguaje informático no es más que un conjunto de instrucciones que introducimos en una máquina para que esta opere permitiéndonos así desarrollar programas. De este modo, las distintas formas en que combinamos dichas instrucciones dan lugar a los diferentes estilos y escuelas responsables de lo que podemos denominar ‘la estética de la programación’. Esa estética, según las reglas a las que responda, se puede clasificar a su vez en cuatro grandes grupos que tradicionalmente, como muchas corrientes artísticas, han coexistido.
6 meneos
405 clics
Cinco razones por las que el lenguaje de programación D es una buena elección para el desarrollo [ENG]

Cinco razones por las que el lenguaje de programación D es una buena elección para el desarrollo [ENG]

El lenguaje de programación D es de propósito general, tiene tipado estático, sintaxis similar a C y C++ que compila a código nativo, etc. Estas son varias de las razones por las que este lenguaje de programación es una buena elección para desarrollar aplicaciones.
9 meneos
339 clics

Herramientas de línea de comandos más rápidas usando el lenguaje de programación D [ENG]

Esta entrada muestra cómo unas simples construcciones en el lenguaje de programación D pueden hacer que una ya rápida herramienta de línea de comandos se convierta en una especialmente rápida sin perder la simplicidad inherente del programa original. La solución es aplicable a muchos problemas de programación, no sólo a herramientas en línea de comandos. Esta entrada muestra cómo funcionan estas técnicas y por qué son efectivas.
2 meneos
55 clics

Epigramas en programación [ENG]

1. Lo que para una persona es una constante, para otra es una variable; 2. Las funciones retrasan la unión de datos, la estructuras de datos la aceleran. Moraleja: estructura los datos lo más tarde posible durante el proceso de programación; 3. El azúcar sintáctico es el cáncer del punto y coma (semicolon en inglés); 4. Cada programa es parte de otro programa, y raramente encajan; 5. Si un programa manipula una gran cantidad de datos, este lo hace en un número pequeño de formas; 6. […].
15 meneos
308 clics
Guía completa de LLVM para creadores de lenguajes de programación [ENG]

Guía completa de LLVM para creadores de lenguajes de programación [ENG]  

Esta es una parte de una serie de publicaciones donde se crea una lenguaje de programación que soporta concurrencia y orientación a objetos llamado Bolt. En esta parte concretamente se habla de usar LLVM como backend de dicho lenguaje de programación para crear el código ejecutable a partir del lenguaje intermedio (IR) de LLVM proveniente del análisis sintáctico y semántico de fases previas.
13 2 0 K 43
13 2 0 K 43
3 meneos
46 clics

Trabajando con archivos en el lenguaje de programación D [ENG]

Interactuar con archivos es una tarea fundamental de cualquier lenguaje de programación y si bien estas tareas son comunes, no es del todo evidente cómo lograr ciertas acciones sobre archivos mediante de D. Esperemos que este artículo cambie ese hecho y muestre la sencillez y el poder del lenguaje D cuando se trabaja con archivos.
5 meneos
163 clics
Aprendiendo a programar en el lenguaje de programación D [ENG]

Aprendiendo a programar en el lenguaje de programación D [ENG]

«Learning D» es la página web que acompaña al libro del mismo nombre escrito por Michael Parker. Esta página se ha creado para ir un poco más allá del libro y aprender más acerca del lenguaje de programación D.
4 meneos
200 clics
Por qué abandoné la programación en Julia [ENG]

Por qué abandoné la programación en Julia [ENG]

La primera vez que oí hablar de lenguaje de programación Julia me quedé entusiasmado con sus características: tipado dinámico, buen rendimiento, gestor de paquetes integrado, macro al estilo de Lisp, posibilidad de llamar funciones de Python y C, etc. Sin embargo, cada vez que leo más sobre el lenguaje y, sobre todo, cada vez que experimento más con él, más desencantado me vuelvo.
7 meneos
170 clics

Modismos (“idioms”) del lenguaje de programación D [ENG]

Lista de diferentes modismos (“idioms”) en el lenguaje de programación D.
13 meneos
595 clics
Aplicando el requerimiento del “buen gusto” en la programación de Linus Torvalds [ENG]

Aplicando el requerimiento del “buen gusto” en la programación de Linus Torvalds [ENG]  

En una reciente entrevista a Linus Torvalds, el creador de Linux, este hizo un apunte sobre programar con “buen gusto”. ¿Buen gusto? El entrevistador le pidió algunos detalles al respecto y Linus presentó un trozo de código. Código que era un ejemplo de programación de “mal gusto” para poder hacer un contraste inicial. Entonces, ¿qué es programar con “buen gusto”?
12 meneos
532 clics
En crudo y sin censura: raw sockets I (en C)

En crudo y sin censura: raw sockets I (en C)

Aprovechando que tengo que guardar reposo por un mini accidente laboral, he decidido ponerme con algo que llevaba posponiendo un tiempo (permitirme la redundancia): salsear un poquito con los sockets en C y ya de paso escribir una entrada en el blog. A lo largo de esta serie de entradas intentaré mostrar para qué podemos utilizar la programación de sockets (sobre todo los RAW) siempre mirando desde un prisma, digamos, oscuro. Soy consciente que no es un tema fácil de tratar, y mucho menos hacer que la lectura sea liviana a la […].
18 meneos
591 clics

Cómo una empresa de ingeniería eligió migrar a D [ENG]

Imagine que existe ese lenguaje de programación poco conocido con el que se disfruta de la programación en el tiempo libre. Sabes que está listo para el horario de máxima audiencia y sueñas con usarlo a diario en el trabajo. Esta es la historia sobre cómo hice realidad un sueño así al conseguir migrar una aplicación escrita en Pascal a D.
11 7 0 K 29
11 7 0 K 29
99 meneos
1655 clics
Envío erróneo o controvertido, por favor lee los comentarios.

Programación en ensamblador de x86-64 desde Ubuntu [PDF|2,5 MB] [ENG]

El propósito de este texto es proporcionar una referencia para el lenguaje ensamblador de nivel universitario y los cursos de programación de sistemas. Este texto aborda el conjunto de instrucciones x86-64 para la popular clase de procesadores x86-64 que utilizan el sistema operativo Ubuntu de 64 bits. Si bien el código proporcionado y varios ejemplos deberían funcionar bajo cualquier sistema operativo de 64 bits basado en Linux, solo se han probado bajo Ubuntu 14/16/18 LTS (64 bits).
64 35 16 K 49
64 35 16 K 49
3 meneos
50 clics

Rust no es un buen reemplazo para C [ENG]

Tengo un dicho que resume mi opinión sobre Rust en comparación con Go: Go es el resultado de que los programadores de C diseñen un nuevo lenguaje de programación, y Rust es el resultado de que los programadores de C ++ diseñen un nuevo lenguaje de programación. Esto no es solo una metáfora: Go fue diseñado por ex alumnos de plan9, un sistema operativo escrito en C y la fuente de inspiración para muchas de las funciones de Go, y Rust fue diseñado por la gente de Mozilla, cuyo producto estrella tiene una de los más grandes bases de código en C++.
28 meneos
859 clics

Tipografías para programación menos conocidas [ENG]  

En los últimos meses me han interesado, incluso fascinado, las fuentes de programación. Como programadores, miramos texto todo el día: código, registros, salidas de comandos, herramientas de monitoreo, etc. Si vamos a ver texto todo el día, también podríamos hacer que sea fácil y agradable para nuestros ojos leer ese texto.
19 9 0 K 47
19 9 0 K 47
3 meneos
46 clics

Cello, biblioteca para llevar la programación de alto nivel a C [ENG]

Cello es una biblioteca que lleva la programación de alto nivel a C. Actuando como un moderno y potente sistema de ejecución, Cello hace muchas cosas fáciles que antes eran poco prácticas o difíciles de manejar en C, como: estructuras de datos genéricos; funciones polimórficas; interfaces/clases de tipos; constructores/destructores; recolección de basura opcional; excepciones; y reflexión. Además, Cello funciona a la perfección junto al estándar de C obteniendo el resto de beneficios, como un gran rendimiento.
2 meneos
9 clics

Cincuenta años de Pascal y Delphi está en la cima [ENG]

Son 50 años del lenguaje Pascal y Delphi es su heredero, lo que empodera a los desarrolladores de Pascal en los complejos escenarios actuales, a pesar de ser ignorado por el inventor del lenguaje Pascal. Niklaus Wirth publicó el artículo "El lenguaje de programación Pascal" en marzo de 1971, lo que significa que han pasado exactamente 50 años este mes desde que se lanzó oficialmente el lenguaje de programación Pascal. Los célebres informáticos celebraron el aniversario escribiendo un muy interesante artículo de punto de vista para Comunicaciones de la ACM (marzo de 2021, Vol. 64 No. 3, Páginas 39-41) y titulado 50 Años de Pascal.
21 meneos
269 clics

Guía de programacion de módulos del kernel Linux [ENG]

Este libro es una guía de programación de módulos del kernel Linux que se puede distribuir libremente. Inicialmente se centró en la versión 2.2 del kernel hasta que su autor principal, Ori Pomerantz, dejó de tener tiempo para mantenerlo actualizado, con lo que sus mantenedores han cambiado a lo largo de los años hasta que, finalmente, Jim Huang se hizo cargo de su actualización para cubrir hasta las versiones 5.x del kernel Linux.
17 4 0 K 26
17 4 0 K 26
67 meneos
652 clics
Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Práctica funcionalidad de BASH: sustitución de procesos [ENG]

Hace algún tiempo me surgió un problema en el trabajo donde tenía que comparar dos archivos descargados. La solución fue simple: descargar el primero archivo, descargar el segundo para finalmente ejecutar un diff entre ellos. Tres pasos: curl URL1 > file1; curl URL2 > file2; diff file1 file2. Pero antes de poder teclearlo, un compañero me quitó el teclado y escribió un raro código vudú que nunca había visto: diff <(curl URL1) <(curl URL2). ¿Qué rara sintaxis era esa? Más aún, ¿por qué iba el doble de rápido que mi solución?
56 11 1 K 50
56 11 1 K 50
5 meneos
283 clics

Python no es C [ENG]

He estado usando Python mucho últimamente en diversos proyectos de tratamiento de datos. Python es conocido por su facilidad de uso, por lo que alguien con experiencia en programación podría usarlo de manera eficaz en pocos días. Esto suena bien, pero puede ser un problema si se programa en Python como si se programase en otro lenguaje. Déjenme darles un ejemplo basado en mi propia experiencia. He escrito código en varios lenguajes por lo que Python no debería ser un problema, ¿no? Pues caí en la trampa. Usé Python como si fuera C.
6 meneos
100 clics
Construyamos un intérprete simple de un lenguaje de programación (Parte 1) [ENG]

Construyamos un intérprete simple de un lenguaje de programación (Parte 1) [ENG]

Realmente no importa si eres novato o desarrollador de software con experiencia: si no sabes cómo funcionan los compiladores e intérpretes, no sabes cómo funcionan los ordenadores. Es así de simple. Así que, ¿sabes cómo los compiladores e intérpretes funcionan? Quiero decir, ¿estás 100 % seguro de que sabes cómo lo hacen? Pero no te preocupes. Si sigues esta serie y construyes un intérprete y un compilador conmigo, aprenderás cómo funcionan. Al menos eso espero.
6 meneos
80 clics
Construyamos un intérprete simple de un lenguaje de programación (Parte 2) [ENG]

Construyamos un intérprete simple de un lenguaje de programación (Parte 2) [ENG]

La lección aprendida del libro “The 5 Elements of Effective Thinking”, donde un virtuoso de la trompeta da una clase donde pide que se toquen notas complejas —sus alumnos lo hacen bien— y luego notas simples —donde sus alumnos no lo hacen tan bien—, aplicada al software es que para llegar a ser un profesional no sólo hay que conocer las herramientas más complejas, sino también los principios más simples que hacen funcionar dichas herramientas. Ahora, sigamos con el desarrollo de nuestro intérprete. [1ª parte: menea.me/1gqb8 ]
5 meneos
202 clics

¿Qué lenguaje de programación tiene el futuro más brillante como reemplazo de C entre D, Go y Rust y por qué? [ENG]

A pesar de mi estatus y el sesgo evidente como cocreador de D, voy a hacer mi mejor esfuerzo para responder con franqueza. Sigo el desarrollo de Go y de Rust y también conozco cuáles son los trapos sucios de D. Además, animo a las personas con posiciones similares en las comunidades Rust y Go a compartir también su honesta opinión. En primer lugar, C++ tiene que estar en alguna parte en la pregunta. Ya sea para ser sustituido junto a C o para ser uno de los candidatos a sustituir al propio C, C++ es clave en la ecuación.
« anterior123

menéame