jueves, 29 de marzo de 2012

Framework .NET



En este artículo se hablará brevemente del framework de C#. Antes que nada, un framework es una estructura conceptual que sirve como soporte para que un proyecto de software pueda ser organizado y desarrollado con más facilidad. Suele incluir soporte de programas, bibliotecas y un lenguaje interpretado.

La meta del framework .NET es hacer énfasis en la transparencia de redes, con independencia de plataforma de hardware para así hacer un rápido desarrollo de aplicaciones. Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la programación de aplicaciones, y administra la ejecución de los programas escritos específicamente con la plataforma. Los principales componentes de .NET son el conjunto de lenguajes de programación (C++, C#, Visual Basic, entre otros), la biblioteca de clases base (BCL) y el entorno común de ejecución para lenguajes. Este último se considera el núcleo del framework, pues es el entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes.

¿Qué depara el futuro para el framework .NET? Microsoft planea sustituir el API (interfaz de programación de aplicaciones) Win32 con la plataforma .NET. Esto se debe a que Win32 no fue desarrollado con suficiente tiempo y dedicación como lo está siendo .NET, y esto ha llevado al desarrollo de aplicaciones defectuosas para el sistema operativo Windows.

C# vs Java


Java y C# están entre los lenguajes de programación más utilizados.  Aquí mencionaremos algunas de sus similitudes y diferencias, con el fin de establecer una comparación.

Ambos lenguajes son orientados a objetos, es decir, entidades que tienen atributos y comportamientos definidos por el programador. La sintaxis de ambos lenguajes es similar, ya que ambos lenguajes se basan en el primitivo C. Asimismo los tipos de datos son muy parecidos, con sólo algunas diferencias.  Ambos son multiplataforma, aunque Java tiene soporte de más plataformas.

Las diferencias son realmente mínimas, siendo cosas como que al compilar una clase se obtiene un archivo binario .class en java mientras que en C# se obtiene un archivo .exe. La gran diferencia radica en el framework, en donde el .NET tiene una ligera ventaja sobre la máquina virtual de java. A pesar de esto, hay que tener en cuenta que Java es gratis (en su mayor parte) mientras que C# no lo es, salvo algunas excepciones (estudiantes).

Podemos concluir, aunque hayan faltado un sinnúmero de semejanzas y diferencias, que ambos lenguajes son bastante parecidos. Un programador de Java no tendrá inconveniente en adaptarse a C# y viceversa.

Un poco de historia sobre C#


En enero de 1999, Anders Hejlsberg, quien participó en el desarrollo de lenguajes como Turbo Pascal, J++ y Embarcadero Delphi, formó un equipo para desarrollar un lenguaje de programación que complementara la plataforma .NET, que estaba siendo desarrollada por Microsoft en esos momentos.  Este lenguaje originalmente se iba a llamar Cool (C-like object oriented language) pero por problemas de marca pasó a llamarse C#. El nombre C# fue inspirado por la música, ya que C es la nota “do” en inglés y # significa sostenido, que indica que la nota es un semitono más alta de lo normal. Con esto, Microsoft sugiere que C# es un lenguaje superior a C y C++.

La primera versión de C# (1.0), salió al mercado en el 2002. C# 2.0 salió en el 2006, mientras que la 3.0 salió tan sólo un año después. La versión actual es la 4.0, cuya fecha de lanzamiento fue 2010. La 5.0 actualmente está la fase beta.