Buscar
Social
Ofertas laborales ES
martes
mar112008

¿Qué propuesta para closures crees que se debería añadir a Java? (Encuesta del mes)

Una clousure es una función anónima (que no tiene nombre) que se define en el cuerpo de otra función o método y que puede acceder a las variables locales de dicha función. Lo más parecido que tenemos en Java son las clases anónimas internas, aunque éstas sólo pueden acceder a las variables finales del método en el cual se definen.

Una de las ventajas de contar con esta construcción en Java sería la posibilidad de simplificar la gestión de eventos realizandola de un modo muy similar a C#: Actualmente para gestionar un evento, aunque sea uno tremendamente sencillo, tenemos que implementar una interfaz y por tanto crear una clase. En muchas ocasiones lo único que me importa de esa clase es un método donde se realiza la gestión del evento. Como la definición del método está predeterminada por la interfaz para pasarle información al método muchas veces acaba recurriendo a variables de la clase que gestiona el evento que se inicializan en el constructor.

Empleando closures sería posible simplemente escribir el código que gestiona el evento y punto, al estilo de los delegates de C#. Este modelo de gestión de eventos sería más sencillo que el actual, si bien menos potente.

Otras ventajas serían simplificaciones en el framework de Collections; ya no tendríamos que hacer que nuestras clases implementen la interfaz Comparable para tener colecciones de datos ordenadas. Y, si las closures hubiesen existido desde el principio, la interfaz Comparator, de obligado uso cuando queremos tener una colección de datos ordenados y no podemos modificar su clase base para que implemente Comparable, nunca hubiese existido.

Siento el ladrillo, pero después del resultado de la encuesta de este mes me sentía obligado. Parece que la mayor parte de los usuarios del portal no saben qué es una closure. Y, de entre los que lo saben, parece que prefieren que no se añadan a Java (opinión que hasta un buen punto comparto). De entre los que quieren closures se quedan con la propuestaCICE. Yo prefiero BGGA ya que supone hacer menos cambios al lenguaje (básicamente, lo que propone es una sintaxis más sencilla para las clases anónimas).

Comprendo que la gente no quiera que se añadan al lenguaje, porque soy de los que piensa que Java debería dejar de evolucionar (o al menos evolucionar muy lentamente) y que las innovaciones deberían de aparecer en otros nuevos lenguajes de la plataforma como Groovy o Escala.

¿Qué opináis vosotros? ¿Sí o no a las closures? ¿Y qué propuesta os convence más?

lunes
mar102008

Unete a Kynetia

 

Kynetia es una empresa especializada en desarrollo de software a medida que opera fundamentalmente en el sector financiero, sanidad y seguros.  La cartera de clientes de Kynetia está compuesta por empresas nacionales y extranjeras de primer nivel que han confiado en nosotros no solo por la satisfacción de los productos desarrollados, sino también por el saber hacer, la calidad demostrada y el nivel de servicio ofrecido.  Te invitamos a entrar en nuestra página web, http://www.kynetia.com/ con el fin de que puedas obtener una idea más clara de lo que hacemos. 

 

Debido al éxito cosechado en los últimos años, estamos experimentando un crecimiento muy importante y precisamos personas con conocimientos en Java EE que quieran unirse a nuestro departamento de desarrollo, y busquen asumir nuevos retos.  

 

En Kynetia ofrecemos una retribución muy competitiva dependiendo de la experiencia de cada candidato, disponemos de flexibilidad horaria y otros beneficios sociales y contamos con un equipo joven y dinámico. Nuestras oficinas se encuentran en Madrid, en el distrito financiero en la zona de Azca, rodeado de comercios como el Corte Ingles de Castellana y a 5 minutos de la estación de cercanías y metro de Nuevos Ministerios.

 

FUNCIONES CLAVE DEL PUESTO:

  • Responsabilizarse del desarrollo de programación encomendado y de la calidad del mismo
  • Debe gestionar su tiempo en cuanto a entregables, plazos y planificaciones.
  • Cumplimiento de compromisos adquiridos con el cliente, en plazos y en óptima calidad.
  • Elaboración de informes de estado, documentación, seguimiento del proyecto para su reporte y entrega al Cliente y al Jefe de Proyecto.
  • Detectar cualquier posible mejora de procesos, mejoras técnicas y proponer acciones de mejora y correctoras.

 

CUALIFICACIÓN Y REQUISITOS:

Requisitos mínimos:
  • Titulación técnico / superior en Ing. Informática
  • Conocimientos de Inglés (oral y escrito) a nivel conversación.
  • 1 año de experiencia en desarrollo JEE / J2EE, preferentemente bajo alguna de las siguientes plataformas: BEA Weblogic, IBM Websphere, JBoss, Sun / iPlanet
  • Conocimiento de programación orientada a objetos y componentización, sobre todo bajo la arquitectura Java 2 Enterprise Edition y Windows DNA
  • Alto compromiso, capacidad auto-formativa

 

Otros conocimientos que se valorarán:
  • Conocimientos Java en las siguientes tecnologías: EJB 2.x / 3.0, Hibernate, JMS, Struts / Portlets / JSF / XUL, J2ME.
  • Conocimientos .Net en las siguientes tecnologías: C# / C++/ ASP.NET, dotNet Framework 2.0, 3.0, UIPAB, WPF.
  • Conocimientos en tecnologías de servicios: SOA, WS, Axis, XML 

 

DETALLES DE LA OFERTA:

  • Contrato indefinido
  • Desarrollo de proyectos para grandes empresas
  • Jornada Completa: L a J: 9:00-14:00 y 15:00-19:00, Viernes: 9:00-15:00. En horario de Verano: Julio, Agosto y hasta 15 de septiembre, de 8:00 a 15:00. En todos los casos, con flexibilidad de una hora a la entrada y salida (opción entrar entre 8:00 am y 10:00 am y salir entre 18:00 pm y 20:00 pm)
  • Remuneración según conocimientos y experiencia; rangos mínimos y máximos aproximados: 21.000€ y 38.000€.
  • Periodo vacacional: 29 días laborables.
  • Puesto de trabajo en oficinas de Kynetia: Edificio Alfredo Mahou (Eje Paseo de la Castellana).

 

Si estás interesado en unirte a nosotros, envía tu CV a la siguiente dirección: recursos.humanos@kynetia.com , especificando en el asunto del mail: oferta de trabajo portal javahispano.

 

Gracias por tu tiempo e interés.

Logotipo de Kynetia

lunes
mar102008

Como Reconocer A Los Buenos Programadores

Hola a todos, soy un desarrollador JAVA con algunos años de experiencia y dentro lo que cabe, creo que he encontrado unos puntos a destacar dentro de este tema (quiero hacer notar que mi intenciòn no es causar controversia, si no mas bien conocer su opinion :-)).

Ante los ojos de los managers, un buen programador es el que resuleve problemas, punto y un excelente programador es que  los resuelve rapido, ante los ojos de un fiel amante de las tecnologias (me cuento dentro de ellos), un buen programador es el que muestra algoritmos refinados y algo "elegantes", que al igual de resolver el problema, funcionan bien, rapido y con muy poco margen de error humano (no muy comunes, puesto que requieren TIEMPO, valioso recurso que los managers valoran mas que la vida :-P) y ante los ojos de un neofito (igual no se si contarme entre ellos) todo aquel que hace sistemas que parescan o sean complejos.

http://infosoldier.com/como-reconocer-los-buenos-programadores

 

lunes
mar102008

XMF, Extensible Programming Languaje

XMF es un lenguaje de programación que pertenece a un paradigma que, según sus autores, es el siguiente paso lógico en la evolución de los lenguajes de programación: la "programación orientada a lenguajes". Según los autores, los lenguajes de programación desde el ensamblador han tratado de incrementar su nivel de abstracción respecto a la máquina pero (en la mayor parte de los casos, y ciertamente en el caso de aquellos lenguajes que han alcanzado más popularidad) manteniéndose todavía como lenguajes de propósito general. Esto es un hecho bastante aceptado en computación.

Lo que añaden estos autores es que el siguiente paso lógico la evolución de los lenguajes es que continúen incrementando su nivel de abstracción pero, ya que no es fácil seguir haciéndolo si se sigue siendo de propósito general, enfocándose a un determinado dominio de aplicación; es decir, crear los famosos DSL (Domain Specific Languajes).

XMF es un framework para crear DSL que además permite combinar distintos lenguajes en un mismo código fuente. Actualmente ya han creado soporte para Java, PHP, Lisp y XOCL. Aquí podéis ver un ejemplo de un programa construido combinando código en estos cuatro lenguajes.

¿Creéis que los DSL son el futuro de la programación? ¿Y qué os parece la aproximación de XMF?

domingo
mar092008

Sun prepara el soporte de Java para el iPhone

 Visto en Barrapunto:

Sun Microsystems ha dejado caer que, con los detalles aunciados por Apple de la SDK para el iPhone, pueden desarrollar una máquina virtual de Java para alrededor de junio, lo que permitirá ejecutar aplicaciones java en la plataforma móvil de Apple.

El iPhone era ya uno de los pocos dispositivos que no soportaban java ¡Ya era hora! 

 

Añadido por los editores del portal:

Steve Jobs hasta la fecha ha mostrado una actitud bastante hostil ante la posibilidad de incorporar Java en uno de los productos estrella de la compañía: el iPhone. Recientemente Apple presentó el kit de desarrollo de aplicaciones para este dispositivo, que hasta aquel momento no permitía instalar ninguna aplicación adicional a aquellas con las que venía de fábrica (excepto si el usuario estaba dispuesto ahackear el terminal, con el consecuente riesgo de perder la garantía).

Tras analizar las posibilidades del kit de desarrollo, así como toda las implicaciones legales derivadas de esta acción, Sun Microsystems ha decidido construir una máquina virtual Java para el iPhone. Estará basada en Java ME y dará acceso a toda aquella funcionalidad nativa del terminal móvil que sea posible. Además de permitir ejecutar la gran cantidad de juegos disponibles actualmente para Java ME en este terminal móvil, la máquina virtual abrirá las puertas al desarrollo de aplicaciones empresariales, punto que hasta la fecha sigue siendo la principal debilidad del producto de Apple.

Además, esta máquina virtual permitirá llevar al terminal móvil funcionalidad de la cual no dispone actualmente pero que sí está presente en Java como, por ejemplo, transmisión segura de datos a través de SSL. Sun espera tener una primera versión de su máquina virtual disponible en junio del presente año. Hasta la fecha, Apple se ha abstenido de realizar comentarios sobre este movimiento.