Mostrando entradas con la etiqueta java. Mostrar todas las entradas
Mostrando entradas con la etiqueta java. Mostrar todas las entradas

2.28.2008

java... oh no

Java no me gusta y no me gusta por muchas cosas que ya he comentado, odio ese quiero pero no puedo, ni es totalmente dinámico ni totalmente dinámico, ni es multiplataforma ni deja de serlo... y es que java ahora mismo está a medio camino entre C++ y otros lenguajes de alto nivel como python, ruby o C#.

El caso es que llevo unos días trabajando con python para diferentes tareas de administración y automatización y te me doy cuenta que soy mucho más productivo y puedo dedicar el tiempo a otras cosas que no sean poner try catch, casts e interminables líneas para crear una simple lista.

A nadie que tenga cierta experiencia en programación se le escapa que las listas, maps, sets y demás son estructuras de datos básicas, que se usan para casi absolutamente todo y por tanto que el lenguaje los tenga "siempre a mano" y mantenga cierta simplicidad en su uso es vital. Por ejemplo, en java para filtrar una lista tienes lo siguiente:


void filter(List src) {
List li = new ArrayList();
for (Type t: src) {
if( t != null)
li.add(t);
}
}


Menudo coñazo, es que dan ganas de morir según lo tecleas... la misma cosa en python:

li = [t for t in src if t != None];


Una cosa tan simple se convierte en algo tedioso, cuando tienes que hacer bastantes operaciones con listas, maps, etc, ya es el súmun. Y no se trata de apelotonar todo en una línea, al final eso es una bomba de relojería para un proyecto, pero tampoco estamos hablando de un tema complejo, es una simple lista que usamos para absolutamente todo. Ya no digo nada cuando veo frameworks como ruby on rails, con el que recientemente he tenido algo más de contacto.

11.13.2007

visión de Android desde el punto de vista de desarrollador

Después de ver el SDk de Android puedo decir, desde mi punto de vista de desarrollador para móvil (o casi :P) es lo siguiente:

- google no se ha mojado nada: todo cerrado, ni código fuente de la VM, ni especificación del formato del bytecode ni API para C++. Ya solo esto es muy triste. Creo que hace unas horas era lo más preguntado en el grupo de android. Ahora está la fiebre de "Android programmer wanted!!". Por suerte ya ha gente haciendo hacks para correr aplicaciones compiladas en C.

- todo basado en java: entiendo que hayan tomado este lenguaje porque un mono puede hacerse 5 midlets en media hora, pero tratándose de google me resulta extraño. Seguramente por no hacer cambiar a los desarrolladores para móvil de lenguaje y herramientas. Sinceramente, esperaba C++ con bindings para python.

- Si funciona puede estar muy bien pero si no funciona se quedará en la misma mierda que J2ME pero encima no soportado por todos los fabricantes. Lo dicho, si tiene éxito lo bueno es que probablemente no caigan en los mismo errores que ya se han comentido con el tema de la fragmentación.

- No hay ningún móvil soportado... el emulador es muy bonito, pero ya sabemos que son como la noche y el día

- Por otro lado hay cosas buenas, muy al estilo google, como las diferentes librerías que incorpora, entre ellas OpenGLES (¿quien dijo que OpenGL estaba muerto?), Me alegra ver que han tirado por esta especificación, tengo ya ganas de ver lo que se puede hacer en dispositivos potentes como espero que sean los que corran Android.

PD: sí, la realidad es que java no me gusta nada, me parece un lenguaje que no tiene todo lo bueno de C++ ni todo lo bueno de lenguajes más modernos como python e incluso C#.