Seguimos con los lenguajes de programación en la actualidad. En el día de hoy, os vamos a hablar de C# y C++ como dos de los lenguajes que entran en el TOP 5 de los más utilizados.
Por si no habéis leído las entradas anteriores, la tenéis aquí:
Los lenguajes de programación actuales. Volumen I
Los lenguajes de programación actuales. Volumen II
C#
C# es relativamente un lenguaje nuevo. Microsoft ha estudiado los lenguajes anteriores como Java y Object Pascal y ha cambiado algunos aspectos del lenguaje y del entorno de ejecución para mejorar y solucionar los inconvenientes que presentaban.
Pero C# basa su diseño en lenguajes como C++, Delphi, es decir, que mucha de la sintaxis y diseño orientado a objetos se tomó de este lenguaje; y, en sus últimas versiones, toma prestado características de Ruby o de Python, por ejemplo. La comunidad en español de C# lo presenta como:
“Muchos dicen que si Java se puede considerar un C++ mejorado en cuestiones de seguridad y portabilidad, C# debe entenderse como un Java mejorado en todos los sentidos: desde la eficiencia hasta la facilidad de integración con aplicaciones tan habituales como Microsoft Office o Corel Draw.”
La mayoría de desarrolladores, especialmente aquellos que provienen de C ó C++, les encantan las características de C#. De forma análoga, aquellos que conocían Java, al aprender C# ven las carencias de Java. A pesar de esto, sí es cierto que algunas como la portabilidad actual de Java hace que no sea todavía una elección clara la elección de C#. Sin embargo, existe un proyecto de código abierto llamado Mono que consigue esta portabilidad en sistemas operativos distintos de Windows consiguiendo cada día más seguidores este lenguaje.
El ánimo por mejorar este lenguaje, y en general la plataforma .NET, por parte de Microsoft, obtiene un resultado en algunos campos muy favorable. Es el caso de las aplicaciones ricas multimedia, donde la tecnología WPF presentada por la compañía de Redmond es el ganador indiscutible.
C++, el hijo que heredó de forma prematura
A pesar de su continua decadencia (ver foto a continuación), el lenguaje C++ sigue siendo uno de los más utilizados para desarrollar aplicaciones. Si bien es cierto que existen otras alternativas más populares (Java o C#), cuando se requiere de aplicaciones rápidas y robustas, C++ es el elegido. C++ marcó en su momento un punto de inflexión con el paradigma de la programación orientada a objetos (POO a partir de ahora) y en este campo sigue siendo una referencia.
En la actualidad muchos programadores han aprendido la POO con lenguajes que nacieron después que C++.
Estos lenguajes presentan una gran variedad de ventajas, pero hay una que destaca sobre el resto, y es que el programador ignora la reserva y la liberación de memoria, pues suele hacerse de forma automática. Pero esta ventaja puede volverse en nuestra contra, ya que dependemos de la capacidad del lenguaje para gestionar la memoria de forma rápida y eficaz. Y es ahí donde C++ gana terreno, en aplicaciones que requieran esta especificación, como en el caso de los videojuegos por ejemplo.
Con C++, el programador tiene la responsabilidad de la gestión de la memoria, y por tanto, se gana en flexibilidad y eficacia, en contra partida de la sencillez del programa.
Hasta aquí hemos llegado, en el próximo y último volumen os hablaremos de Objetive – C y de las conclusiones