Cómo programar en C en el año 2016

Desde que se creó C mucho ha llovido bastante y se han creado varios estándares. El último: C11, creado en 2011. Aunque prácticamente los cimientos del lenguaje se mantienen, algunas cosas han cambiado. Por ejemplo la introducción de tipos nuevos y la desaparición de alguno como el char (todavía lo puedes usar referenciando las librería antiguas). También se han introducido nuevas directivas o incluso la forma de escribir código. Por ejemplo ahora puedes declarar variables en cualquier parte del código y no necesariamente al principio del programa o tu función, etc.
Leer más

Fundamentos del direccionamiento de memoria en C

Excelente artículo (no es extenso y es muy claro) donde Dennis Ku*bes nos explica los fundamentos de como funciona la memoria cuando programamos en lenguaje C. Conceptos básicos que nos aclaran el funcionamiento en la memoria de matrices (array) y structs. En los comentarios he visto esta otra web: http://www.c-faq.com/ muy útil para ampliar estos conceptos y otros muchos sobre el lenguaje C. Visto en HackerNews. Artículo original (en inglés).
Leer más

Por qué tenemos que aprender a programar en C

Siempre he sido un gran defensor del lenguaje de programación C. Es el que siempre he programado y estudiado en la universidad. En este análisis de David Griffiths refuerza aún más esta opinión en esta entrevista. David Griffiths es el coautor del un libro llamado “Head First C” y utiliza estas preguntas y respuestas, por supuesto, para promocionarlo, pero de todas formas son totalmente válidas y creo que no se equivoca en ninguna de ellas.
Leer más

¿Cuánto sabes de programar en C?, unas cuantas preguntas para probarlo

Aquí tienes 16 preguntas nada fáciles de contestar para probar el nivel que tienes en programación C. Estas preguntas aparecieron originalmente en un artículo en ProgrammersHeaven escrito por Ashok K. Pathak. Prueban el nivel de conocimiento de C a nivel general (punteros, recursividad, etc) pero incluye también otras características un poco raras para probarte (además de algunas trampas en el código para hacerlo menos legible). ¿Cuántas has respondido correctamente?
Leer más

Pasar de C a C++, una guía de referencia rápida

Diferencias entre C y C++ Tarde o temprano te toca pasarte a la programación orientada a objetos. Si eres un programador en lenguaje C y necesitas pasarte al C++, esta pequeña guía te orientará a hacerlo lo más claro y sencillo posible. Ángel Ortega es el creador (es español pero está en inglés), también ha programado el genial editor de texto para programadores llamado Minimun Profit. No os perdáis el documento, con un lenguaje muy claro va comparando los nuevos términos de la programación orientada a objetos en C++ con C, como las clases, constructores, etc.
Leer más

Otra leyenda de la Informática, Dennis Ritchie, ha fallecido

La red se está llenando de esta fatídica noticia, otra más, la muerte del genio Dennis Ritchie. Junto a Ken Thomson desarrolló el lenguaje de programación C y el sistema operativo Unix (en el cual se basa el OSX de Apple y Linux). Además se llevó el premio Turing en 1983, el máximo galardon que se le puede otorgar a un informático. Su colaborador, Robert Pike lo ha escrito en su cuenta de Google+:
Leer más

Programando un emulador de ZX81 en lenguaje C

Sí, el ZX81 ya hace algún tiempo que pasó de moda ;) pero más que en el resultado final de emular este magnífico ordenador (el primero que tuve), el interés de este artículo está en el contenido, ya que muestra las bases para programar emuladores de sistemas. En este artículo de la página #AltDevBlogADay, el autor Andre Leiradella nos explica paso a paso cómo programar un emulador completo de un ZX81 en C.
Leer más

El Universo Digital del IBM PC, AT y PS/2

Este libro ha sido una de mis grandes referencias dentro de este mundo de la Informática. Es una completa guía de programación (en ensamblador y lenguaje C) de sistemas para los microprocesadores 80x86 y Pentium. Puede que esté un poco desfasado pero aún es muy útil (e indispensable para entender el funcionamiento de esta arquitectura) si quieres programar en ensamblador y C a bajo nivel. De todas formas todos (o casi todos) los ejemplos descritos y técnicas de programación son funcionales hoy día.
Leer más

El juego de ajedrez más pequeño en C

Creado por Oscar Toledo Gutierrez es un programa escrito en lenguaje C que juega bastante bien al ajedrez considerando que sólo ocupa 22kb (el .EXE) . El código fuente es de 1Kb y está compilado con Visual Studio 2008 (y comprimido con UPX). Eso sí, todo el código está ofuscado, así que buena suerte para comprenderlo. De hecho este programa ha ganado cuatro veces la competición International Obfuscated C Code Contest.
Leer más

Unix cumple 40 años este verano

En Agosto de 1969 un programador de AT&T Bell Laboratories llamado Ken Thompson, después de ver que tenía un mes por delante (su mujer y su hijo se fueron de viaje) aprovechó para ordenar sus ideas sobre un nuevo sistema operativo y pasarlo a la práctica. Escribió la primera versión de Unix en ensamblador (con dos cojones, como hacen los hombres de verdad) en un DEC PDP-7 miniordenador. La primera semana se ventiló el sistema operativo, la segunda el shell, la tercera un editor y la última un ensamblador .
Leer más