|
La tecnología de .NET ya tiene algo de tiempo, sin embargo hoy quiero empezar a postear un poco sobre las bondades de CSharp. Por lo pronto empiezo con un poco de historía y después pondré algo de código y cosillas que he hecho |
![]() |
Sobre el lenguaje
Los primeros rumores de que Microsoft estaba desarrollando un nuevo lenguaje de programación surgieron en 1998, haciendo referencia a un lenguaje que entonces llamaban COOL y que decían era muy similar a Java.En junio de 2000, Microsoft despejó todas las dudas liberando la especificación de un nuevo lenguaje llamado C#. A esto le siguió rápidamente la primera versión de prueba del entorno de desarrollo estándar (SDK) .Net, que incluía un compilador de C#. El nuevo lenguaje estaba diseñado por Anders Hejlsberg ( creador de Turbo Pascal y arquitecto de Delphi ), Scott Wiltamuth y Peter Golde. Entonces describieron el lenguaje como "...simple, moderno, orientado a objetos, de tipado seguro y con una fuerte herencia de C/C++". [1]
Algo de historía
Miguel de Icaza se interesó en la tecnología .NET tan pronto como aparecieron documentos de .NET en diciembre de 2000. Parte del trabajo fue realizado tempranamente en cooperación con Rhys Weatherley y Jay Freeman. En GUADEC 2001, Miguel de Icaza mostró una demostración para unas pocas personas del compilador de C# y cómo éste puede compilarse a sí mismo.
Internamente, en Ximian, había una fuerte discusión acerca de cómo crear una herramienta que permitiera aumentar la productividad, haciendo que fuera posible crear más aplicaciones en menos tiempo y así reducir el tiempo y coste para el departamento. Después de un estudio de factibilidad, Ximian decidió finalmente trasladar un grupo a otro proyecto y crear el Equipo Mono. Este equipo no tuvo la fuerza suficiente para crear una sustitución completa de la tecnología .NET hasta el 19 de junio de 2001, cuando el Mono open source project fue anunciado en la conferencia de O'Reilly.
Pasaron 3 años hasta que el 30 de junio de 2004 Mono 1.0 finalmente fue lanzado.[2]
¿Que es mono?
Mono es una implementación de varias tecnologías:
- Un compilador para el lenguaje C#, Visual Basic.Net y JScript
- Un entorno de ejecución virtual: Un compilador JIT ( Just-In-Time = justo-a-tiempo, esto es, que compila el código justo antes de ser ejecutado), un compilador AOT ( AOT=ahead-of-time, antes-de-tiempo , esto es, que compila a código nativo un archivo y de esta forma no necesita la compilación JIT cada vez que se ejecute el programa), gestión automática de memoria, un interprete ( mint ) y un motor multiproceso.
- Una máquina virtual para los bytecodes del Lenguaje Intermedio Común (CLI)
- Una implementación de la librería de clases de .NET: manipulación XML, Entrada/Salida, funciones matemáticas, criptografía, xslt, etc.
- Librería de clases multiplataforma para el acceso a bases de datos: Postgress, MySQL, DB2, TDS, Sybase, Oracle, ODBC y Gnome-GDA
- Librería de clases UNIX: Mono.Posix
- Librería de clases GNOME: la familia Gtk#
En el mundo Microsoft, a este conjunto se le suele llamar la plataforma .NET en contraposición a .NET, que es un término comercial no muy concreto. Cuando me refiero a la plataforma .NET me estoy refiriendo a estas tecnologias.
Existe gente a la que le puede parecer que todo esto es muy parecido a Java y la máquina virtual de Java. Tienen razón, esto es muy parecido a Java, pero el CLI ( Lenguaje Intermedio Común, el equivalente de los bytecodes de Java ) tiene una característica que no se encuentra en Java: la representación de éste es independiente del lenguaje. Esto es, puedes generar CLI a partir C++, C, Fortran, Eiffel, Lisp, Java, C#,Visual Basic y posiblemente otros lenguajes. [3]
Fuentes
[1] http://es.wikibooks.org/wiki/Programaci%C3%B3n:C_sharp_NET
[2] http://en.wikipedia.org/wiki/Mono_(Ximian)#History
[3] http://www.monohispano.org/varios/queesmono/index.html#AEN7
Enlaces de Interes
http://mono-project.com/Main_Page
http://www.monohispano.org/
http://www.monohispano.org/ejemplos.php
http://www.go-mono.com/docs/

#1 RE: Que mono esta CSharp
Te falto :
porque java fracaso en el desktop ?
porque fracaso Quattro Pro?
porque fracaso WordPerfect ?
porque Fracaso netscape ?
el que no conoce la historia esta condenado a repetirla