Cosas mías

May 10, 2005

Acaba de salir Windows Mobile 5.0

Filed under: Programación

Hace muy pocas horas que Microsoft ha anunciado la salida de su Windows Mobile 5.0 (el sucesor del Windows Mobile 2003). El anuncio viene acompañado del de varias empresas más (hp, dell) con declaración de intencioes sobre el nuevo sistema, que está estrechamente ligado al Visual Studio 2005. Añadamos que esta release es la continuación del también no muy antiguo Windows CE 5.0, que por experiencia es un sistema operativo mucho más estable y con un mejor rendimiento que las versión anterior, Windows CE 4.2.

El C ha muerto. ¡Viva el C! (Actualizado)

Filed under: Programación

Periódicamente aparece el tema sobre el futuro de los lenguajes C y C++, unas veces en las news, otras en foros más o menos técnicos, a veces son expertos o gurús quienes lo afirman (pero en este caso dejan de serlo, por lo menos para mí). Y lo curioso del asunto es que siempre, siempre, dicen lo mismo: al C/C++ les quedan menos de 10 años de vida. Luego varían un poco en cuanto a dar razones, pero en esencia el resultado es el mismo: la pronta muerte por abandono. Recientemente ha sido la Bitácora de Guti quien lo ha afirmado (y que conste que no tengo nada personal contra Guti, pero si tú no usas el C no digas que nade más lo usa).< ?xml:namespace prefix = o />

Pero lo cierto es que estos dos lenguajes están más vivos que nunca, y lo estarán durante mucho, mucho tiempo. Bien es verdad que Borland, Microsoft, Watcom, tradicionales fabricantes de compiladores para PC (y fijaos que digo para PC) han ido abandonando y dejando atrás sus herramientas basadas en C. En algunos casos, incluso la empresa ha desaparecido en sí (es el caso de Watcom, aunque una versión mejorada de su compilador se puede encontrar en www.openwatcom.com). En otros casos (Microsoft) el C/C++ se ha convertido en un lenguaje de segunda dentro de su nueva filosofía. Y de Borland sólo diremos que ha perdido el rumbo en cuanto a lenguajes de programación se refiere.

Desde el punto de vista de la programación para PC quizás tenga que apoyar la opinión de Guti y de otros, pero lo cierto es que en la actualidad no sólo de PC vive el hombre.

¿Quién no ha usado una afeitadora, un microondas, un vídeo, una tele, un dispensador de comida (en general una máquina de vending), un teléfono móvil, ha pagado en un parking con una máquina de tickets…? Y no sigo, porque hoy en día, virtualmente casi cualquier aparato más complejo que un mechero de gas tiene un microprocesador dentro. Digamos, y es sólo un acercamiento, que para 1 PC que existe, hay otros 1000 dispositivos diferentes basados en microprocesador.

¿En qué se programan estos dispositivos? ¿En Visual Basic, en Java? No, señores, no, se programan en C/C++. Y se seguirán programando. Quien quiera que vaya a las Web de Renesas (antes Hitachi), Motorota, Intel, Microchip, y un muy largo etcétera, busque información sobre microprocesadores y vea las herramientas de programación disponibles para ellos: C/C++. Desde IDE’s clon del Visual Studio 5/6 (HEW, Keil) hasta compiladores de línea de comandos (WindRiver, Keil otra vez, Metrowerks), hasta híbridos, mezcla de una cosa y otra.

Y repito: todos ellos se programan, al menos, en C. Existen ensambladores para cada uno de los micros, pero es mucho más fácil programarlos en C. Y hay fabricantes que ofrecen versiones con extensiones del C/C++, pero que no dejan de ser C y C++.

Pero si volvemos a la plataforma PC, veremos que el C/C++ tampoco va a morir. Ni de lejos. ¿Cómo están hechas las tripas de los periféricos –impresoras, monitores, discos duros, escáneres, etc.-? Pues con microprocesadores y, ¡tachán!, programados en C/C++. Incluso partes de las placas bases están, de seguro, programadas en C. Porque si os imagináis que los chipsets son puro hardware os equivocáis. Dentro de ellos se ejecuta código, aunque aquí quizás estén hechos en VHDL (por cierto, una variación del C para programar hardware). Hasta los módulos de memoria ejecutan código (id a Nanta y bajaros un Datasheet de un módulo de memoria).

¡¡El C ha muerto. Viva el C!! Hasta que no se encuentre un sustituto para la realización de esas tareas, el C seguirá vivo, muy vivo. En un momento se pensó que el Pascal podría sustituirlo (más que nada por su sintaxis algo más sencilla), pero al final el único hueco que conserva es la docencia y el Delphi.

Y quien piense que pronto aparecerán chips que ejecuten directamente Java o C# (o incluso Visual Basic) para sustituir a los actuales microprocesadores se equivocan de medio a medio. No digo que no haya chips que hagan eso (creo que ya los hay por lo menos de Java), pero lo que afirmo categóricamente y con conocimiento de causa es que veo difícil que una máquina expendedora de tickets de un parking se haga alguna vez con uno de esos chips, por lo menos mientras Java siga siendo el Java que conocemos en la actualidad. Si el lenguaje sufriera profundas modificaciones quizás sí, pero resulta que esas modificaciones son las opciones que se quitaron del C para hacer Java (lo mismo ocurre con el C#, y del Visual Basic mejor no hablar). Y para muestra un botón.

Definimos una estructura que se corresponda con el espacio de direcciones del micro (al menos del de los registros de configuración, puertos, etc.). Creamos una variable puntero de esa estructura con la dirección base dentro del micro. E voilà, ya podemos configurar/programar/usar el micro como si se tratara de una variable más:

struct MICRO
{
unsinged char relleno01[3];
unsigned char simr;
unsigned char relleno02[0x10];
unsigned char icr1;

};

volatile struct MICRO *const g_micro=(struct MICRO *)0xffe0000;

void main void()
{
g_micro->icr1=ICR_AUTOVECTORICR_INT_LEVEL_1ICR_INT_PRIORITY_0; //IRQ1, Selector, NO USADA

}

Actualización

Olvidé comentar lo más importante para los PCeros, gracias a Oscar que me lo ha recordado: ¿Conoce alguien en qué están hechos Linux, todos los colores y sabores de Unix, Winodws y todas sus variantes, y casi todos los sistemas operativos? Pues en C y C++, señores. ¿Conoce alguien con qué están hechas grandes aplicaciones como Visual Studio, KDE, Gnome, Office, OpenOffice, Mozilla y familia…? Pues en C y C++. Creo que con estos ejemplos sobra cualquier otro comentario.

Estreno BLOG

Filed under: Idas de Olla

Este es mi nuevo blog, que resume dos de los que tenía en www.blogger.com, así que mejor tenerlo todo concentrado. Este post no es otra cosa que una prueba para hacer un copiar/pegar desde Word al punto de edición.
Otro párrafo más. A ver qué sale. Pues una mierda castañona. No conserva el formato.

He vuelto a mi antiguo móvil
Je, he vuelto a coger el viejo móvil, porque el nuevo es una m**rd* castañona. Lástima de 25€ gastados en nada. En fin. Experiencia para la próxima.

Y luego, cuando tienes toda la experiencia del mundo, vas y te mueres. Pues vaya caca. Para eso no vale la pena.

Capitán Alatriste, Arturo Pérez Reverte

Filed under: Lecturas
Formato electrónico, sin datos
Cuatro son cuatro las novelas del insigne capitán que he leído, a saber: El capitán Alatriste, Limpieza de sangre, El sol de Breada y El oro del rey. Y quien espere encontrar aquí los argumentos, se equivoca de medio a medio.
Había leído tiempo ha La carta esférica, obra que me desilusionó sobremanera porque no colmaba mis expectativas en cuanto a calidad argumental ni en tanto a calidad prosística. Con las del capitán he cambiado de opinión. Pérez-Reverte es un gran escritor.
La serie se encuentra perfectamente ambientada dentro de la época, los personajes reales que aparecen, sobre todo el gran Quevedo, son tremendamente eso, reales, y las diatribas históricas que pone en boca de Iñigo son todo un primor, incisos agradables y con un tono de reminiscencia muy al caso, tanto por la narración en sí como en cuanto al lector, que apoya en todos sus comentarios al citado Iñigo, en el sentido de que otro gallo hubiera cantado a España de haber tenido otros reyes o los mismos reyes pero con otro talante.
Y poco más que decir. Simplemente que me han gustado sobremanera.

Get free blog up and running in minutes with Blogsome
Theme designed by Gary Rogers