Blogia
Kirai.Net

Programación

El linker de .NET?

Nuevo artículo en Joel on Software donde crítica la falta de un linker en la plataforma .NET. ¿No es absurdo tener que usar toda la plataforma de 22 Megas para un pequeño programa que quizás solo usa 2 funciones? Joel propone que un linker con el que se introducirían en el ejecutable solo las funciones necesarias como ha sido durante toda la vida con cualquier compilador.


Desde mi punto de vista es una estrategia de Microsoft para vendernos su proximo Windows con .NET integrado corriendo dentro del núcleo del sistma operativo.

Java.net

Fascinante comunidad de programadores Java, J2EE etc... Lo más interesante es que podéis leer las divagaciones de los grandes gurús de java en sus blogs

Bruce Eckel

Todo programador Java conoce a Bruce Eckel y sus libros que se pueden encontrar de forma gratuita en la Web. El tema es que no me había enterado de que ahora tiene un blog en el que expone su perspectiva actual de Java, .NET etc. También está escribiendo un Libro nuevo sobre J2EE del cual os podeís bajar una versión de borrador que ya está bastante avanzada. Para los que queráis iniciaros en Java Enterprise está realmente bien. Explorando por la web os podéis bajar otros libros entre los cuales están los famosos Thinking in Java y Thinking in C++. Están todos en inglés y no conozco ninguna traducción. De todas formas es inglés sencillito.

Principios de programador

Principios de programacion según Daniel Read, los he encontrado por mi disco duro. No recuerdo de donde los saqué. Pero me ha venido bien recordarlos y supongo que a todo programador le vendrá bien por muy evidentes que parezcan :)


Principio del carácter personal
Escribe tu código de forma que refleje las mejores partes de tu carácter

Principio de la estética
Busca la elegancia y belleza en todo aspecto de tu trabajo.

The Principle of Clarity
Equipara la claridad y la corrección. Dando claridad al código conseguirás de forma implícita la corrección.

Principio de la forma
La forma visual del código debe comunicar de forma rápida la estructura del programa a lectores humanos

Principio de lo explícito
Siempre lo explícito es mejor que lo implícito

Principio del código auto documentado
La mejor documentación del software es el código en si mismo. Intenta que no hagan falta poner comentarios, y donde te sea imposible añade comentarios.

Principio de los comentarios
Comenta con frases completas

Principio de los supuesto
Comprueba siempre las cosas una y otra vez. No supongas demasiadas cosas.

Principio de la interacción
No hagas que los usuarios se sientan estúpidos.

Principio de la vuelta atrás
El mejor momento para hacer buen código es cuando lo estás escribiendo.

El principio del dinero y el tiempo
Un verdadero profesional no desperdicia el tiempo y el dinero haciendo trabajos de baja calidad

Truquillo en C

Este post quizás sea un poco durillo para los que no programen en C, pero os ará ver la gran potencia de la aritmética de punteros y de que forma nos puede solucionar la vida en una sola línea de código. Vamos a analizar las siguiente sentencia:



*strrchr(linea, 'n') = '0';

Sabiendo que strrchr lo que hace es buscar desde el final en la cadena pasada como primer parámetro el carácter pasado como segundo parámetro y devuelve un puntero al char de la posición donde se ha encontrado. Si miramos en el API de C encontraremos lo siguiente:



char * strrchr (const char *string, int c);

Ya podemos saber la operación que realiza la primera sentencia propuesta. Buscará en la linea la primera n desde el final y devolverá el puntero a char que apunta a esa dirección pero en la misma operación a este puntero le podremos asignar el nuevo valor 0. En definitiva como podéis observar estamos sustituyendo la última n por un 0 en una sola linea de código de C. Quizás sea mucho más sencillo hoy en día usando un metodo replace en cualquier lenguaje orientado a objetos, pero en C controlamos realmente lo que está sucediendo. En un lenguaje de alto nivel no sabemos realmente como está implementado el método replace.

Concurso de PHP


Me entero que hace poco hubo un concurso de programación en PHP , ya ha terminado pero en la web encontraréis las aplicaciones ganadoras con su código fuente incluido. La aplicación a realizar consiste en hacer un sistema de mantenimiento de Tutoriales mediante la web, con Php. Hay algunas soluciones enviadas realmente potentes, que demuestran lo que se puede llegar a hacer con php en muy poco tiempo.


Trabajé con php hace un par de años y ahora mismo estoy con JSPs y Servlets de Java con los que se pueden hacer cosas mucho más potentes pero para realizar cosas sencillas son un poco coñazo. Si queréis hacer una página personal php, si tenéis que hacer una web corporativa, o una aplicación web interna para una empresa supongo que con tecnología Java es la mejor opción tanto por temas de seguridad como por su arquitectura fácilmente escalable. Me agradan ambas tecnologías, eso sí, ASP y ASPx de Microsoft apestan.

La práctica de la programación


Kernighan uno de los creadores del lenguaje C nos deleita con este nuevo libro de una forma amena y entretenida. Es un libro dirigido a gente que lleva años programando y quieran mejorar su estilo, su productividad etc. Están todos los temas dirigidos por ejemplos reales de problemas resueltos por este gran gurú. Desde problemas de que estructuras de datos elegir, como mejorar las tareas de debugging, pruebas, mejora rendimiento, y todo ellos explicado para C, C++, Java, Awk y Perl. Para que podamos ver que problemas se adaptan mejor a unos lenguajes o a otros.


Uno de los mejores libros de programación que se puede comprar alguien que ya conoce las bases de este mundillo. Editado por Prentice Hall en España.

Joel on Software

He descubierto un Blog que seguramente ya conozca todo programador que se precie, pero yo lo encontré hace unos días. No puedo parar de leer todos sus posts. Se trata de Joel on Software, donde nuestro colega Joel habla de sus aventuras en varias empresas como Juno o Microsoft y la creación de su propia empresa. Los artículos que escribe son realmente geniales siguiento todos ellos la misma estructura, hay una primera parte donde expone el problema de forma coloquial y en la segunda parte traslada el problema a temas técnicos de programación, ingeniería del software etc. Un ejemplo de artículo que podéis leer todos aunque no seais programadores es este con el que aprenderemos una valiosa lección como filosofía de vida en general. Comentadme que os parece el artículo o si encontráis alguno que os guste más.


Redes Neuronales


Tengo cuatro días de vacaciones. Pero ya tengo que hacer prácticasa punta pala. Tengo que implementar y resolver diversos problemas relacionados con Redes Neuronales. Menos mal que ya tengo una red que hice el año pasado y funciona a una velocidad decente. Para los que lo hayan experimentado, programar una RN es algo bastante jodido, sobretodo descubrir donde falla algo. Aunque por otro lado es un tema muy interesante. Si queréis introduciros en el tema en esta web hay bastante información. En esta otra hay información más concreta en cuanto a la implementación.

J2ME Wireless

J2ME Wireless Aquí tenéis una captura de mi primera aplicación hecha con J2ME. Un poco cutre pero bueno. El API de J2ME está realmente bien ya que nos permite trabajar en dos modos: a alto nivel y a bajo nivel. Hoy estoy intentando hacer algo con gráficos a bajo nivel, ya veremos que tal sale.

Me voy unos días


Me largo a la universidad esta semana a hacer un cursillo de Java MicroEdition. La tecnología de Sun basada en java para programar dispositivos móviles. Espero aprender muchas cosas, ya os contaré que tal me va.

Concurso de Programación Internacional ACM


Estoy participando en un concurso internacional de programación al que ya le había echado el ojo pero hasta ahora no me he animado. La ACM es la organización educativa número uno en cuanto a informática, se encargan de llevar grandes bases de datos con artículos científicos etc. Además organizan eventos como el ACM Programming Contest en los cuales se presentan una serie de problemas que tienen que resolver los participantes programando en C,C++, Java o Pascal.


Ayer hice el primer problema empezando en la posición 7808 pero a lo largo del día pensando mucho y con la ayuda de un colega llamado Pau he llegado hasta la posición 134. Me podéis encontrar en el Top 250 como Héctor García y a mi compañero Pau Sánchez en el lugar 105 (es una makina :). Eso sí, terminamos a las tantas de la madrugada.
Si os gusta pasar el rato calentándos la cabeza...