Sistemas & Desarrollo

encontrados: 37, tiempo total: 0.007 segundos rss2
2 meneos
31 clics

PicoC: un intérprete de C mínimo para scripting [ENG]

PicoC es un pequeño intérprete de C para scripting. Fue escrito originalmente como un lenguaje de script para el sistema de vuelo de un UAV, pero también es adecuado para aplicaciones robóticas. El código fuente principal es de alrededor de 3500 líneas. Aunque la intención no es la de ser una implementación completa de ISO C, tiene todo lo esencial. Además, cuando se compila sólo ocupa unos pocos kilobytes del espacio, lo que significa que puede funcionar muy bien en dispositivos embebidos.
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
110 clics
Tesoros escondidos en la librería estándar de D [ENG]

Tesoros escondidos en la librería estándar de D [ENG]

Después del éxito del artículo anterior (nomad.so/2014/08/hidden-treasure-in-the-d-standard-library/ ), he decidido escribir otro artículo mostrando lo sorprendentemente útil que es la librería estándar de D. Estas librerías son una gran bestia escritas por programadores excepcionales, por lo que de vez en cuando encontrarás pepitas de código realmente útiles y bien diseñadas. En este artículo se mostrarán algunos ejemplos de estos tesoros de la librería estándar de D.
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.
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.
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.
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.
10 meneos
163 clics

Siete escándalos respecto al comportamiento del preprocesador de C [ENG]

Un escándalo es cuando se usan principios morales cuestionables que causan daño público. Y escándalo es una palabra perfecta para definir el comportamiento del preprocesador de C. Fui consciente de esto cuando hice mi propio compilador de C, así que he recopilado los siete escándalos más sonados que he descubierto.
5 meneos
183 clics

Comparación entre C++ y D [ENG]

Comparación de características entre los lenguajes de programación C++ y D, incluyendo algunas características de la futura versión de C++, C++17.
6 meneos
119 clics

Aventuras programando en D [ENG]

Recientemente he desarrollado un gran proyecto usando el lenguaje de programación D inicialmente escrito en Python. Como raramente dejo C, C++ o Python y esta vez me he decidido por D, quiero comentar mis experiencias al respecto por si a alguien que esté pensando en usar D le pueda resultar interesante.
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.
15 meneos
588 clics
¿Crees que sabes mucho de C? [ENG]

¿Crees que sabes mucho de C? [ENG]

Muchos programadores dicen que saben C. Tiene la sintaxis más famosa, tiene más de 44 años de historia y no tiene características oscuras. ¡Es fácil! Bueno, muchos programadores dicen que saben C. Lo más probable es que lo hayan aprendido en la universidad y que tengan algún tipo de experiencia en ello, porque en realidad no hay mucho más que saber. Pero en realidad C no es tan simple. Pero si piensas que sí lo es, prueba a hacer este test.
13 2 0 K 37
13 2 0 K 37
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.
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 […].
3 meneos
49 clics

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

¡Qué tal! Ya estoy aquí con la segunda entrada de esta serie, que me da a mi que va a ser larga ;D Bueno, como prometí en la entrada anterior, vamos a ver el ejemplo que os dejé, vamos a ver las partes importantes de sockets raw y añadiremos o modificaremos el código para conseguir un ejemplo más versátil. Al lector: si incurro en cualquier error a lo largo de estas entradas, agradecería vuestras correcciones. Como primer ejercicio quiero que le echéis un vistazo más a fondo al código que está debajo de este párrafo y leáis los […].
12 meneos
333 clics
Código seguro en D [ENG]

Código seguro en D [ENG]

He visto a buenos programadores en C++ cambiarse a Java o C#. La pregunta es: ¿por qué lo abandonan una vez que tienen un amplio conocimiento del mismo? La respuesta universal es “productividad”. ¿Qué impide a C++ lograr productividad? La horrible sintaxis y la seguridad son dos de los mayores impedimentos. Aunque también tiene cosas buenas, como su gran rendimiento. Entonces, ¿existe algún lenguaje que sea sencillo, seguro y potente a la vez? Te voy a contar un secreto: ese lenguaje existe y es D.
3 meneos
7 clics

Swift Package Manager – Paquetes y Dependencias

En esta ocasión aprenderemos sobre Swift Package Manager, el gestor de paquetes de Swift, una herramienta con la cual podremos crear paquetes / proyectos ya sean librerías o ejecutables, gestionar las dependencias de estos y en general administrar de una manera más fácil y consensuada la distribución de nuestro código Swift...
3 meneos
44 clics

Todo lo genial que tiene D se puede ver en ‘std.variant’ [ENG]

Hace poco leí un excelente artículo de Matt Kline sobre todo lo malo de std::visit de C++. Mis habilidades en C++ están oxidadas (hace tiempo que me fui para los pastos más verdes de D), pero tenía curiosidad sobre cómo habían cambiado las cosas en mi ausencia y cómo se podría implementar lo mismo en D. Aunque mi intuición me decía que el artículo exageraba, al final esta estaba completa y absolutamente equivocada.
5 meneos
54 clics

C no es un lenguaje de bajo nivel [ENG]

A raíz de las recientes vulnerabilidades de Meltdown y Spectre, vale la pena pasar algún tiempo mirando su causa principal. Ambas vulnerabilidades involucraban a los procesadores ejecutando instrucciones especulativamente sin ningún tipo de control de acceso permitiendo al atacante observar los resultados a través de un canal lateral. Las características que llevaron a estas vulnerabilidades se añadieron para permitir que los programadores de C continúen creyendo que están programando en un lenguaje de bajo nivel.
11 meneos
339 clics

D as BetterC: reescribiendo `make.c` en D [ENG]

D como un mejor C (también conocido como DasBetterC, en inglés) es una forma de actualizar proyectos existentes programados en C reprogramándolos en D de forma incremental. En este artículo se muestra paso a paso el proceso de reescribir en D un proyecto no trivial escrito en C, además de algunos de los problemas comunes que pueden surgir.
18 meneos
590 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
2 meneos
44 clics

La asombrosa plantilla que no hace nada [ENG]

Recientemente empecé a usar una nueva plantilla con más frecuencia en el nuevo código D: el uso de la plantilla de identidad. La plantilla de identidad (disponible en std.traits aunque no documentada), se declara así: alias Identity (alias X) = X;. Esta es una forma abreviada de una declaración de plantilla, sinónimo de la forma explícita: template Identity (alias X) { alias Identity = X; }. Se trata de una plantilla epónima, por lo que la instanciación se reemplaza con X (el único parámetro de la plantilla). En consecuencia, Identity!(anything) es asignado a anything. Entonces, ¿de qué sirve una plantilla que no hace nada?
3 meneos
38 clics

Liran Zvibel (WekaIO) cuenta cómo usar D para crear el sistema de archivos más rápido del mundo [ENG]

WekaIO es una startup con sede en San José, California, que ha creado Matrix, el sistema de archivos más rápido del mundo, y lo ha escrito en D. WekaIO es un ejemplo de objetivo de diseño de D: poder escribir prototipos rápida y fácilmente para luego continuar trabajando en la misma base de código hasta alcanzar calidad de producción en lugar de crear prototipos en lenguajes de alto nivel diferentes. Liran hizo un hueco en su apretada agenda para responder algunas preguntas sobre WekaIO y el uso que hacen de D.
« anterior12

menéame