Programación

JavaScript y Herencia Basada en Prototipos

Sección

Publicado en

Para los programadores que vienen de lenguajes basados en clases, como Java o Ruby, JavaScript puede ser un poco confuso.

A diferencia de estos lenguajes, Javascript es dinámico y no provee una implementación de clase como tal. Para soportar herencia, JavaScript solo tiene un constructo: Object. Cada objeto tiene una referencia a otro objeto, llamado su prototipo.

Cuadrados Mágicos y Recursión

Sección

Publicado en

En las matemáticas hay muchos problemas que son básicamente recreativos. Uno de ellos es el de los cuadrados mágicos, en donde se trata de colocar números en una matriz de celdas de n x n, de forma tal que la suma de los números por columnas, filas y diagonales principales sea la misma, la constante mágica. Usualmente los números empleados para rellenar las casillas son consecutivos, de 1 a n², siendo n el número de columnas y filas del cuadrado mágico.

Desarrollo de Sistemas Distribuidos

Sección

Publicado en

Los buscadores de Google, World of Warcraft, Seti@Home, Bitcoin, Windows Azure tienen algo en común: son sistemas distribuidos. A pesar de utilizarse en sistemas con propósitos tan distintos, comparten ciertas características. En este artículo veremos la teoría y las bases para construir un sencillo motor de búsqueda distribuido.

Visualización de Datos con D3.js

Sección

Publicado en

Uno de los pasos más importantes cuando se realiza un análisis de datos es la exploración. En esta fase se detectan errores, se verifican los supuestos y se seleccionan modelos predictivos adecuados dependiendo de los datos. Este proceso de análisis exploratorio de datos se puede realizar con métodos estadísticos o con visualización.

Disciplínate: Aplica prácticas de programación ágil

Sección

Publicado en

En un proyecto ágil, los programadores tienen una misión: entregar periódicamente (cada 2, 3 o 4 semanas dependiendo de la duración de las iteraciones) software que funcione y esté probado. Para lograr esto, los programadores requieren mantenerse ágiles tanto a sí mismos, como al código que generan. Esto requiere mucha disciplina.

Programación Declarativa

Sección

Publicado en

Si al escribir un programa de cómputo lo que hacemos es explicarle a la computadora por medio de instrucciones detalladas “cómo hay que realizar una tarea”, entonces estamos programando en forma imperativa.
Es decir, estamos alimentando los pasos o conjunto de instrucciones necesarias para resolver un problema. Por otro lado, si al escribir un programa estamos describiendo “qué hay que hacer”, entonces estamos programando en forma declarativa. Es decir, describimos el problema que queremos solucionar, pero no las instrucciones necesarias para resolverlo. La programación declarativa es tan solo eso.

El componente X. Generación de código con templates.

Sección

Publicado en

El siguiente trabajo es una introducción a la generación de código basado en la transformación de documentos XML con templates. Vamos a construir un generador de código de componentes para PHP como ejemplo. Se utilizan herramientas de código libre y pocos recursos de cómputo. Además se invita al lector a conocer un poco más sobre este tema, que ha cobrado actualidad aplicando nuevas técnicas de ingeniería de software.