02 mayo 2010

Java Learning (I)

Hoy ya hace una semana que estoy aprendiendo Java. No es que haya avanzado mucho que digamos, ya que apenas estoy viendo la Herencia (no, no voy a heredar de ninguna tía rica, jeje), pero creo que en otra semana más estaré en condiciones de afrontar un proyecto de aplicación práctica.

El otro día estuve leyendo algo sobre la Ley de Benford, y creo que sería buena idea programar una aplicación que genere una serie de números aleatorios pero que respeten la Ley de Benford (para darles verosimilitud, podría serle útil a un amigo asesor fiscal).

Los requerimientos básicos serían estos:
  1. Debemos introducirle el menor y el mayor número posible, es decir el rango dentro del que deberán estar todos los números que se generen.
  2. Deberemos introducirle la longitud de la serie de números que queremos generar.
  3. Para el algoritmo había pensado algo del tipo montecarlo e ir descartando los que no cumplan la Ley, pero: primero, en principio cualquier número generado es válido; segundo, se desaprovechan muchas iteraciones. El algoritmo de generación ha de ser elegante y que aproveche al máximo las iteraciones. Por lo tanto, creo que me decanto por hacerlos a porcentajes, es decir obtengo siempre números del 1 al 100 y con un array de porcentajes compruebo qué dígito voy a generar (el número de dígitos de cada número también será random), y así sucesivamente.
  4. Necesitaré exportar la serie de números generada a un fichero formato CSV.
Se admiten sugerencias y consejos. Si me sale bien pienso portarla al Android.


01 mayo 2010

¡ Ya estoy en la blogosfera !

Bueno, por fin me decidí a publicar un blog.

No es que espere que lo vea mucha gente (quizás no lo vea nadie más que yo), pero creo que muchas cosas de las que pienso debería plasmarlas por escrito aunque sólo sea para más tarde pueda acordarme yo mismo, jajaja...

¿Sobre qué voy a escribir en este blog? Pues principalmente sobre mis aficiones, o al menos una de ellas, que es todo lo que tenga que ver con la Informática, la Tecnología en general y la Ciencia.

Recientemente me han regalado un móvil HTC Magic con el sistema Android (con Linux kernel) 1.6 de Google y he descubierto nuevas posibilidades que antes parecían impensables para un móvil. Tanto que estoy decidido a aprender a programarlo.

Como la base de la programación de este sistema es en Java, aunque con sus API específicas y su SDK, y yo nunca había programado OOP (programación orientada a objetos) he tenido que empezar desde cero. Es decir, sobre el método OOP en general.

Ahora mismo estoy con los fundamentos del Java en el PC, los primeros días a texto puro y duro, ayer instalé BlueJ que es un IDE muy sencillo, pero con él que puedo, aparte de introducirme en el desarrollo a través de IDE, crear instancias, "tracear", invocar métodos, pasar parámetros... y así veo cómo funciona por dentro la ejecución de las clases de Java.