viernes, 19 de agosto de 2011

Estándar C++. Reunión de Bloomington


Hoy hemos terminado la reunión del JTC1/SC22/WG21 (comité de C++ para los amigos). La reunión comenzó con la noticia de que el nuevo estándar ha sido oficialmente aprobado de forma unánime por los países con derecho a voto, como adelantaba en mi anterior post. De hecho, hemos tenido confirmación de ISO de que se van a acelerar los trámites de la publicación oficial del documento, por lo que con casi toda seguridad podemos hablar de C++11 (ISO/IEC 14882:2011) y no de C++ 2012.

Una buena parte de la reunión ha estado dedicada a la resolución de issues tanto de la biblioteca como del propio lenguaje. Si. El estándar se acaba de publicar, pero el comité es consciente de que el documento tiene algunos errores e inconsistencias menores que habrá que resolver. En la resolución de estos defectos se ha avanzado bastante, pero no se ha votado ninguno de ellos. Esto hace prever que la próxima reunión en Marzo de 2012 tendremos una buena lista que aprobar.

Además de esto, dentro del grupo de trabajo de biblioteca hemos visto versiones preliminares de algunas propuestas que podrían añadirse:

  • Sistema de ficheros. Es biblioteca te permitirá olvidarte del API C/POSIX para navegar por directorios, entro otras cosas.
  • Cerrojos compartidos. Básicamente son algunos tipos más de mutex, que no se añadieron al estándar para no retrasarlo más. Estos cerrojos (con nombres tentativos de shared_mutex y upgrade_mutex) son especialmente apropiados para soportar problemas del tipo múltiples lectores/único escritor.
  • Nuevos algoritmos para la generación de distintos tipos de permutaciones y combinaciones que generalizan el existente next_permutation.
  • Entrada salida para tipos que representan duraciones de tiempo (espacio de nombres chrono). De esta manera se podrán imprimir mensajes que en el caso de duraciones se incluya de forma automática la unidad en la que se expresa la duración.
  • Un nuevo tipo para representar fechas (también  a incluir en el espacio de nombres chrono).
Otro aspecto bastante relevante ha sido la discusión sobre el futuro del lenguaje. Aunque el comité no ha cerrado decisiones al respecto, parece que los más probable será que se trabaje por una parte un modificaciones al lenguaje y por otra parte en la extensión de la biblioteca estándar. Estos trabajos se podrán realizar de forma independiente de forma que se hagan públicos con ritmos de trabajo diferentes.

En el caso de la biblioteca, el comité hará publica una petición de propuestas de nuevas bibliotecas en breve. Así que si tienes una buena idea para alguna biblioteca que te gustaría ver en el futuro como parte del estándar, este parece un buen momento.

Nuestra próxima reunión será en Kona, Hawaii en febrero de 2012. Probablemente, en esa reunión dediquemos una parte del tiempo a definir la evolución del lenguaje. En cualquier caso y con toda seguridad dedicaremos tiempo a estudiar propuestas de modificaciones y adiciones a la biblioteca (entre mis favoritos estarán propuestas para mejorar la concurrencia y las comunicaciones a través de red).

Y eso es todo por ahora.

viernes, 12 de agosto de 2011

FDIS de C++ aprobado

Por fin ha finalizado el periodo de voto del FDIS del nuevo estándar de C++ (C++0x para los amigos).

El estándar ha sido aprobado con los votos favorables de: Canadá, China, República Checa, Dinamarca, Finlandia, Francia, Alemania, Irlanda, Italia, Japón, Kenya, Corea, Holanda, Nigeria, Noruega, Pakistán, Federación Rusa, España, Suiza, Ucrania, Reino Unido y Estados Unidos.

No ha habido ningún voto en contra.

Ciertamente para la comunidad de C++ es una gran noticia. Después de más de una década por fin tenemos una nueva norma del lenguaje. Sin duda, esto va a revitalizar mucho el lenguaje con nuevas características largamente esperadas y una biblioteca más completa.

Y desde hoy, empezamos a trabajar en el nuevo estándar. Bueno, realmente desde este próximo lunes 15 de agosto que es cuando nos reuniremos en Bloomington, Indiana.

Evidentemente, la norma es perfecta y seguro que encontraremos defectos y posibles mejoras. Si encuentras algo, no dudes en hacérmelo llegar por correo electrónico.

Pero por ahora disfrutemos de la nueva versión del lenguaje...

martes, 12 de julio de 2011

La informática en Educación Secundaria

Esta mañana he leído un interesante artículo en IEEE Computer con el título "Transforming Computer Science Education in High Schools" (http://dx.doi.org/10.1109/MC.2011.191). La verdad es que el debate sobre la necesidad de formación en IT (a.k.a Tecnologías Informáticas) me parece pertinente. Especialmente teniendo en cuenta las previsibles necesidades en profesionales del sector en todas partes.

Hace unos días leía un informe que constata que en Europa las necesidades de profesionales altamente cualificados en Tecnologías Informáticas no son cubiertas ni de lejos por la oferta. Según el mencionado informe, en 2015 Europa tendrá un déficit de entre 384,000 y 669,000 profesionales que las universidades europeas no habrán sido capaces de haber formado. El informe enfatiza que la conclusión es que la industria necesita de forma desesperada profesionales altamente cualificados en IT y Europa necesita que más jóvenes se conviertan en profesionales de IT para satisfacer los futuros incrementos de la demanda"

La situación en USA no es distinta. Las proyecciones a día de hoy son que el incremento de puestos de trabajo en IT es tan fuerte que supera al resto de disciplinas STEM (Science, Technology, Engineering and Mathematics) de forma conjunta. Sin embargo, el porcentaje de estudiantes norteamericanos que siguen un curso de informática en secundaria ha descendido un 8% entre 2007 y 2009.

La pregunta del millón es ¿Qué está pasando? y ¿Es trasladable a la situación de España?

Lo primero que se identifica es que mientras que disciplinas clásicas como la matemática o la física son enseñadas de forma rigurosa y por profesionales altamente cualificados. La situación de la informática, cuando se enseña es radicalmente distinta.

Veamos el diagnóstico en USA y los posibles paralelismos en España.

En 41 estados la informática es una materia accesoria que no está clasificada como las matemáticas o la física y que no tiene impacto en los criterios de graduación de la educación secundaria. Curiosamente esta situación es equivalente a la situación española, donde la informática es una asignatura optativa que muchos estudiantes no escogen porque no pueden examinarse de ella en las pruebas de acceso a la selectividad.

La materia de informática suele incluir el uso básico del computador y la utilización de paquetes básicos de software. En España la asignatura de Tecnología de la Información (optativa de bachillerato) se limite también al uso básico del computador y al uso de paquetes ofimáticos.

Otro problema de la enseñanza preuniversitaria de la informática en España es la cualificación de los docentes. Si bien existen unas oposiciones específicas para ser profesor de matemáticas o de física, esto no es así para informática.

En un momento en el que recurrentemente se habla la necesidad de cambiar el modelo productivo de España se está olvidando la formación en una de las disciplinas que puede ser motor de ese cambio. Para alcanzar ese cambio de formación sería interesante seguir muy de cerca iniciativas de reformulación del currículum de informática, como por ejemplo la iniciativa Computer Science Principles, que está definiendo un nuevo curso orientado tanto a estudiantes con intereses en la Ingeniería Informática como a aquellos que tienen intereses más generales en ciencia, ingeniería y humanidades.

Si hiciésemos con la Física de Bachillerato lo que estamos haciendo con la Informática, deberíamos dejar de enseñar las ecuaciones de Newton y en su lugar enseñar a conducir coches. Esto es lo que estamos haciendo hoy día con la informática.

miércoles, 6 de julio de 2011

Los 6 trabajos con más potencial en Tecnología Informática (IT)

Leo la siguiente noticia en cio.com:

http://www.cio.com/article/684344/The_6_Hottest_New_Jobs_in_IT?source=CIONLE_nlt_careers_2011-06-21

Parece que los 6 trabajos con más potencial en TI (Tecnología Informática):

  • Business Architect.
  • Data Scientist.
  • Social Media Architect.
  • Mobile Tecnology Expert.
  • Enterprise Mobile Developer.
  • Cloud Architect
Interesante.

Por otra parte el 65% de los ejecutivos encuestados dicen que contratará más personal en el segundo semestre de 2011 que en el primero.

domingo, 27 de marzo de 2011

Tenemos nuevo estándar de C++

Si os digo que esta semana se ha celebrado en Madrid la reunión del comité ISO/IEC JTC1/SC22/WG21 y que se a aprobado el FDIS de la norma ISO/IEC 14882:2011, probablemente me diréis que lo que quiero es que no entendáis nada de lo que digo. Y tendríais razón. Así que lo diremos de otra forma.

Esta semana se ha reunido en Madrid el comité internacional de normalización del lenguaje C++. Algunos sabéis que represento a España en este comité. Y bueno la gran noticia es que hemos acordado una nueva norma para el lenguaje y su biblioteca estándar. Realmente los procedimientos de ISO harán que la nueva norma no sea oficial hasta el verano (más o menos).

Estoy muy contento por varias razones.

Por una parte, el estándar se a aprobado en Madrid, así que permitidme una ligera dosis de chovinismo. Además, la norma incluyen algunas propuesta menores que yo hice, así que permitidme otra dosis de egolatría.

Siendo un poco más serios, creo que el lenguaje se va a ver sensiblemente reforzado. Ha pasado demasiado tiempo desde la anterior norma (la ISO 14882:1998) que tuvo posteriormente una revisión menor en el año 2003.

Cada vez que doy una charla o conferencia sobre esta renovación siempre que hay alguien que me pregunta sobre su aspecto más destacable. He ido dando una respuesta distinta a lo largo de los últimos años, al tiempo que las características aparecían y desaparecían del lenguaje. A día de hoy, creo que el lenguaje se ha renovado de forma sustancial y que ahora se disponer de una biblioteca mejor y más completa.

Es difícil hacer una enumeración de las distintas novedades en el lenguaje y en la biblioteca. Y además esto está bien hecho en algunas páginas Web. Por ejemplo se puede encontrar una buena explicación de la mayoría de los cambios en la página Web de Bjarne Stroustrup (http://www2.research.att.com/~bs/C++0xFAQ.html).

Desde mi punto de vista, y posiblemente esto sea una visión sesgada, una de las novedades más relevantes es la incorporación de un modelo de hilos como parte del lenguaje. Esto afecta, tanto a las reglas del lenguaje como a la biblioteca, pero permitirá que se puedan escribir aplicaciones multi-hilo de forma portable e independiente de la plataforma (hw y sistema operativo).

A partir de ahora surgirán dos retos importantes:

  • En primer lugar, va a ser necesario realizar un importante esfuerzo de diseminación de la información. Ya están varios libros en marcha. Serán necesarios nuevos materiales de formación y la adaptación de cursos.
  • Por otra parte, será necesario seguir trabajando en la siguiente renovación del lenguajes que debería concluirse con mayor celeridad que la actual. Las estrategias para esta nueva versión la discutiremos en la siguiente reunión del comité que tendrá lugar este verano en Bloomington, Indiana.
Como siempre las posiciones de España se fijarán en el comité español de C++. Este es el comité CTN71/GT21 en el que siempre estamos deseosos de incorporar a nuevas empresas y organismos.

Para más información, me podéis encontrar en josedaniel.garcia@uc3m.es.

jueves, 3 de febrero de 2011

Lo que significa la Universidad Pública en España

Cursé mis estudios universitarios entre los años 87 y 93. Fui la primera persona de mi familia en ir a la Universidad. Mi padre era empleado de banca. Mis abuelos fueron cantero y conductor de autobuses, respectivamente. Si yo pude ir a la Universidad fue gracias a la generalización de la Universidad pública que se produjo en los 80.

Por eso, me entristece ver cómo con cierta frecuencia aparecen mentes clarividentes que enarbolando la bandera de la liberalización proponen medidas que me repugnan.

Leo hoy en la edición digital de El País que Mas-Collell quiere liberalizar los costes de los estudios de postgrado. Leyendo la noticia, descubro que lo que realmente quiere es liberalizar el precio que el estudiante deba pagar por los estudios de postgrado. Lo siento, pero no puedo estar de acuerdo ni de lejos. No tengo ningún problema con que una institución privada defina la política de precios que considere adecuada. Ahora bien, las Universidades públicas son financiadas por todos para cumplir varias funciones que redundan en beneficio de la sociedad en su conjunto. Una de estas funciones, es garantizar, en la medida de lo posible, que cualquier español tenga acceso a los estudios universitarios independientemente de su nivel de renta.

Si los fondos públicos son insufucientes deberíamos pensar en formar a menos estudiantes, pero siguiendo el criterio de formar a los más capaces y no a los que tienen más recursos económico.

La reciente reestructuración de los estudios universitarios en Grado y Máster ya ha supuesto un cambio en las cantidades que un estudiante tiene que abonar. Tradicionalmente un estudiante de una licenciatura o una ingeniería tenía que abonar un precio anual que rondaba los 1000 euros anuales. Con la reorganización que trajo Bolonia esto se mantiene para los primeros años. Sin embargo, Bolonia hace mucho más importante que un estudiante complete sus estudios con un postgrado. Y los precios públicos para cursar un Máster (de entre 1 y 2 años) rondan los 1800 euros por año. Subir más (o dejar barra libre) en los precios de que debe pagar un estudiante es una manera de formar mejor solamente a los que más tienen.

Otro día, hablaré de la otra propuesta del Sr. Mas-Collell, la del control político de las Universidades sustituyendo la elección del rector por un nombramiento a dedo.

miércoles, 19 de enero de 2011

La Clasificación Nacional de Ocupaciones, CNO-11 ignora a la Ingeniería Informática

Si como lo oyes. En un alucinante comportamiento del INE no clasifican mi profesión con nombre y apellidos. Es decir, en la clasificación de ocupaciones aparecen ocupaciones como Ingeniero de Telecomunicación, Físico, o Estadístico, pero no Ingeniero Informático.

¿Puedes hacer algo? Si que puedes. Presenta una queja por escrito.

¿Cómo? En el siguiente enlace tienes el texto para hacer copy/paste y los lugares donde puedes hacerlo. No te llevará más de cinco minutos.

http://blog.conciti.org/2011/01/19/plan-de-actuacion-del-conciti-por-la-no-aparicion-en-la-clasificacion-nacional-de-ocupaciones-cno-11/

¿Puedes hacer algo más? Si, pasa esta información a todos los compañeros de profesión.