C ++ sin armas de fuego, cuchillos y palos

C++Después de aproximadamente poco más de 30 años, C++ sigue siendo uno de los lenguajes de programación informáticos más populares, favorecido en gran parte por su velocidad, mas no por su simplicidad. Solo por citar algunos ejemplos, Apple Mac OS X, Adobe Illustrator, Facebook, Google Chrome, Apache MapReduce, Microsoft Windows 7 e Internet Explorer, Firefox y MySQL están escritos en parte o en su totalidad en C++. Y mientras, nuevos lenguajes han nacido desde entonces, quizá más adecuados para ciertas tareas, pero C++ sigue presente, soportando el paso del tiempo. Java es quizá el único que le ha superado en popularidad, según el Índice de TIOBE. ¿Y que con PHP, Ruby y JavaScript? Claro, algunos podrían decir que estos lenguajes más nuevos son el futuro, pero C++ es el pasado, el presente y el futuro.

 

Vienen cambios para el lenguaje C++. En el recientemente finalizado C++ ISO Standard, con el nombre de trabajo de C++ 0x, se le han dado los últimos retoques a las especificaciones ISO de este lenguaje, sobre las normas acordadas en el pasado mes de marzo.

Herb Sutter, quien preside los cambios de C++ en el Comité de normas ISO,  dice: «Esta es la primera gran revolución del estandar con las nuevas características desde 1998.» cuando ISO ratifico el primer estándar de C++.

La complejidad de trabajar en C++ es una de las cosas que James Gosling de Sun Microsystems intentó hacer frente a la hora de crear un lenguaje que tuviera un ambiente más amigable con el programador (programmer-friendly); de esta forma surge Java, con la reputación de ser denominado “C ++ sin armas de fuego, cuchillos y palos.».

En este sentido, podría decirse que los cambios más significativos que ayudan a C++ a ponerse al día en popularidad respecto a Java, es ahora mismo las aplicaciones en C++ se pueden construir y ejecutar con menos dolores de cabeza en el mundo de los procesadores multi-nucleo (cpu multi-core).

C++0x introduce un modelo de memoria estándar, algo que Sun presentó en su momento en Java Standard Edition (Java SE) ??5.0 en 2005. Sin un modelo de memoria, los desarrolladores han tenido que construir o localizar en algún sitio sus propias librerías para lograr la necesaria concurrencia. La concurrencia va de la mano con los procesadores multi-nucleo, ya que esto significa que los procesadores con más de un núcleo pueden ejecutar subprocesos diferentes de una aplicación a través de sus núcleos, o incluso en distintos servidores. Esto ayuda a controlar la manera en que los hilos de ejecución de la aplicación se comunican con  la memoria del procesador.

La necesidad de un modelo de memoria compatible está creciendo a medida que los procesadores multi-nucleo de Intel, AMD y otros fabricantes se convierten en el estándar de facto en los PC, servidores y smartphones.

 

Via:  The Register


 

 

Tambien le puede interesar...