jueves, 25 de marzo de 2010

ISO/IEC DTR 24772

El subcomité ISO/IEC SC22 ha dado otro paso hacia la aprobación de un Technical Report relevante para los desarrolladores software. Se trata del ISO/IEC DTR 24772 (Guidance to Avoiding Vulnerabilities in Programming Languages through Language Selection and Use).

Este documento será muy relevante para todos aquellos interesados en las vulnerabilidades que se pueden introducir en el software al utilizar ciertas características de un lenguaje de programación.

El estado actual del document ha sido el de aprobación con comentarios, por lo que ahora el comité deberá estudiar estos comentarios y generar una nueva versión.

miércoles, 24 de marzo de 2010

Máster en Ingeniería Informática verficado por ANECA

Ayer recibimos la verificación positiva por parte de ANECA del Máster Universitario en Ingeniería Informática de la Universidad Carlos III de Madrid. En la práctica, esto permite que la implantación de este título comience en el próximo curso 2010/2011.

Este título tiene algunas señas de identidad que considero relevantes:

Por una parte, se trata de un título totalmente adaptado a las recomendaciones publicadas en el BOE de 4 de agosto de 2009 para títulos de Ingeniería Informática. Por tanto, si en un futuro se definen atribuciones profesionales para los Ingenieros Informáticos este Máster habilitaría para ejercer dicha profesión.

Además, se trata de un programa de posgrado con orientación claramente profesional que combina aspectos técnicos con otra formación necesaria para el adecuado ejercicio de la profesión de Ingeniero. Como ejemplo, señalaré que incluye una asignatura específica de "Aspectos Legales y Éticos de la Ingeniería Informática".

Por último, también resaltaré que el perfil de ingreso para este Máster está constituido exclusivamente por titulados universitarios en Informática.

En los próximos días seguiré aportando información.

domingo, 14 de marzo de 2010

Un paso más hacia el nuevo C++

Ayer terminamos la reunión del comité de estandarización ISO C++. La reunión la hemos celebrado en Pittsburgh en CERT Software Engineering Institute de la Universidad de Carnegie-Mellon.

Dentro de un par de semanas escribiré un informe más detallado, pero me parece que hay algunas cosas relevantes que resaltar.

Por una parte hemos aprobado la emisión de un FCD (Final Committee Draft). Esto significa que se abrirá un periodo para que las entidades de normalización nacional puedan emitir comentarios y un voto afirmativo o negativo. En el caso de España, este proceso se llevará a cabo a través de AENOR y del comité CTN71/GT21, que es el que se encarga de seguir la normalización de C++ a nivel nacional. Cualquier persona interesada en el comité puede contactarme en la dirección josedaniel.garcia en uc3m.es. Está previsto que el documento FCD esté disponible a primeros de abril y a partir de ahí se abrirá un plazo de cuatro meses para emitir comentarios.

Además se ha aprobado de forma final el estándar ISO/IEC 29123 (C++ Special Math Functions). Este estándar defina una extensión opcional al estándar ISO/IEC 14882 (C++), que ofrece funciones matemáticas avanzadas en C++. ¿Que se entiende por funciones matemáticas avanzadas? Son funciones que uno no usa todos los días (polinomios de Leguerre, integrales elípticas, funciones de Bessel, ...). Está bien que esto sea una extensión y no parte del estándar C++, porque digamos que no son cosas que use todo el mundo :-).

Por último, desde la última reunión en Santa Cruz (California), hemos aprobado diversos cambios:
  • Se ha ampliado el uso de decltype().
  • Se ha mejorado el uso de los atributos C++ como mecanismo de anotación de código. Este permitirá limitar mucho el uso de las pragmas. Por ejmplo, se espera que OpenMP deje de usar pragmas y pase a usar atributos.
  • Se permite la conversión automática de lambdas a punteros a función. Esto permitirá pasar un lambda a una función que espera un puntero a función.
  • Las funciones constexpr pueden ahora tomar parámetros de tipo referencia.
  • Se ha mejorado las reglas que gobiernan la generación de operaciones de movimiento.
  • Se ha eliminado el uso de export. Esta era una característica de C++ 2003 que casi ningún compilador había conseguido implementar.
  • Se ha actualizado la biblioteca de generación de números aleatorios después de la eliminación de los conceptos.
  • Se han despreciado (deprecated) las especificaciones de excepciones. Es decir, no se eliminan pero es algo que en el futuro podría eliminarse. Las especificaciones de excepciones tenían varios problemas, entre otros algunos relacionados con el rendimiento. En su lugar se ha incluido la nueva especificación noexcept.
  • Se ha añadido la especificación noexcept para funciones. Una función noexcept garantiza que no va a lanzar una excepción. Si viola esta promesa el programa termina de forma abrupta invocando a terminate().
  • Se han incorporado operadores de comparación de igualdad a los contenedores no ordenados.
  • Se ha simplificado notablemente la interfaz de la clase pair.
  • Se ha añadido un mecanismo de iniciación explícita de variables atómicas (concurrencia de bajo nivel).
  • Se han mejorado notablemente los futuros como mecanismo de concurrencia de alto nivel.
  • Se han solucionado problemas derivados de la gestión de objetos thread_local.
  • Se ha mejorado la especificaciones de los iteradores.
  • Se han corregido muchos problemas menores en el documento del estándar.
Con todo esto el estándar empieza a tomar forma. Las previsiones más optimistas indican que el estándar podría cerrarse en la reunión que tendrá lugar en Madrid en marzo de 2011.

Como se puede ver. Esto es un pequeño resumen de una semana de seis días de trabajo (Si, el comité también se reune los sábados).

--
  J. Daniel García
  Presidente del comité español de normalización de C++

martes, 2 de marzo de 2010

El sueldo en nuestra profesión (en USA)

Leo en la Web de IEEE Computer Society una noticia nada sorprendente.

Salaries for CS and Engineering Grads to Rise

By BYC Newsfeed, On 2/12/10 5:36 PM
 
Graduates in the Class of 2010 with computer-related or engineering degrees can expect to see slightly higher starting salary offers when compared with last year's class, according to the National Association of Colleges and Employers winter salary survey. What's more, the association’s entire list of the 10 top-paid bachelor’s degrees is comprised of only majors in these specific disciplines.


The average salary for 2010 graduates with bachelor's degrees in either computer programming, computer science, computer systems analysis or information sciences/systems is $59,570, up 6.1 percent when compared with last year. Engineering graduates’ median salary is $59,245, 1.2 percent more than in 2009.

The association ranked a computer science degree as the fourth-highest-paying bachelor’s degree at an average salary of $61,205. Computer engineering immediately followed at $60,879, while electrical/electronics and communications engineering took the No. 6 spot at $59,074. Information sciences and systems rounded out the list at $54,038.

Meanwhile, other students completing their undergraduate studies won’t fare as well. The overall average salary for 2010 graduates with a bachelor's is down 2 percent to $48,351.

http://www.computer.org/portal/web/buildyourcareer/news/-/blogs/trackback/salaries-for-cs-and-engineering-grads-to-rise