El lenguaje de los grandes programadores

(45 comentarios)

Hace un par de días comenzaba una nueva edición del Code Jam de Google, la famosa competición de programación que la empresa viene organizando desde hace ya 8 años. A parte de proporcionar una gran selección de problemas con los que practicar nuestras habilidades, sus estadísticas también pueden servirnos para comprobar cuáles son los lenguajes de programación preferidos por los desarrolladores, y qué lenguajes utilizan los mejores programadores (sobre una muestra de 12.200 participantes).

[Pulsa para continuar]

Un programa escrito en Haskell, que imprime un programa en Perl, que imprime…

(21 comentarios)

¿Un programa escrito en Haskell, que al ejecutarse imprime un programa en Perl, que al ejecutarse imprime un programa en Python, que al ejecutarse imprime un programa en Ruby, que al ejecutarse imprime un programa en C, que al ejecutarse imprime un programa en Java, que al ejecutarse imprime el programa original? Sí, es como para que te duela la cabeza, aunque el código, que podéis ver después del salto, es de lo más sencillo.

Este tipo de programas que se imprimen a sí mismos como salida (aunque en este caso, con una peculiaridad extra) se conocen con el nombre de quines, en honor al filósofo estadounidense Willard Van Orman Quine.

[Pulsa para continuar]

Eclipse 3.5: Si Galileo programara en Java…

(14 comentarios)

Día grande para la comunidad Eclipse con el lanzamiento del nuevo Eclipse 3.5 (Eclipse Galileo) y 32 proyectos más relacionados. Las novedades, que son muchas, en Eclipse 3.5 – New and Noteworthy.

Eclipse 3.5, Galileo

Java vs. Python

(58 comentarios)

Tengo la impresión de que Java fue diseñado para hacer que fuera difícil escribir mal código, mientras que Python está diseñado para hacer que sea sencillo escribir buen código.

– Magnus Lycka

Ofuscar código Java

(22 comentarios)

Asumámoslo: es imposible proteger al 100% nuestro código de miradas indiscretas. Pero eso no implica que no podamos dificultar un poco el proceso de decompilar nuestro código. Y este es el objetivo de los ofuscadores de código.

Un ejemplo de este tipo de herramientas es la aplicación GPL ProGuard que permite, además de ofuscar nuestras clases Java, optimizarlas, comprimirlas y añadirles información de preverificación, de forma que la carga de las clases en Java SE 6 y Java ME 6 sea más rápida y más eficiente.

La herramienta funciona buscando primeramente clases, campos, métodos y atributos no utilizados, los cuáles elimina; pasa entonces a optimizar el bytecode y eliminar instrucciones innecesarias; y, por último, elimina la información de depuración y renombra las clases, campos y métodos restantes utilizando nombres cortos y poco legibles.

Formateo de cadenas en Java

(8 comentarios)

Si has tenido algún contacto previo con C/C++ u otro lenguaje de programación puede que eches de menos un método que permita utilizar especificadores de conversión o máscaras para formatear cadenas en Java, al estilo de la función sprintf de C.

Supongamos, por ejemplo, que quisiéramos mostrar en pantalla un número en coma flotante, con la peculiaridad de que necesitáramos que sólo se mostraran 2 decimales. Podríamos, por ejemplo, convertir el número en una cadena y manipularla para quedarnos con 2 caracteres después de la coma, pero existen mejores formas de lidiar con este problema.

[Pulsa para continuar]

Introducción a C# para programadores Java

(28 comentarios)

Java y C# (pronunciado C sharp) son lenguajes de programación con muchas similitudes. No obstante .NET, y C# en particular, fueron la respuesta de Microsoft a la demanda de Sun en la que esta acusaba a la compañía de Redmond de intentar “secuestrar” el lenguaje Java con una implementación incompatible de la máquina virtual, la MSJVM (Microsoft Java Virtual Machine). De no haberse producido esta demanda, quizás las cosas se hubieran desarrollado de forma totalmente distinta, y puede que C# ni si quiera hubiera nacido.

En todo caso C# y Java también tienen muchas e importantes diferencias. C# cuenta, por ejemplo, con características tan interesantes como closures, funciones lambda, generadores, preprocesador, punteros, etc. Este artículo tiene como objetivo servir a modo de pequeña introducción a C# a los programadores Java.

[Pulsa para continuar]

Configurando Eclipse

(29 comentarios)

Eclipse es uno de los mejores entornos de desarrollo que existen, tanto para Java como para otros lenguajes como Python o C/C++, pero lo es mucho más si lo personalizamos para adaptarlo a nuestros gustos y necesidades. A continuación os dejo algunos de los cambios que me gusta realizar.

[Pulsa para continuar]

Página 1 de 612345...Último »