PDF de programación - El lenguaje C# - Introducción al lenguaje y características derivadas de su entorno de ejecución

Imágen de pdf El lenguaje C# - Introducción al lenguaje y características derivadas de su entorno de ejecución

El lenguaje C# - Introducción al lenguaje y características derivadas de su entorno de ejecucióngráfica de visualizaciones

Publicado el 20 de Agosto del 2018
1.718 visualizaciones desde el 20 de Agosto del 2018
810,2 KB
38 paginas
Creado hace 20a (14/05/2003)
Introducción al lenguaje y características
derivadas de su entorno de ejecución.

A lo largo de los últimos meses, hemos estado hablando de algunas características
del nuevo entorno .NET Framework que Microsoft está desarrollando y a medida
que pasaba el tiempo, aquí en Grupo EIDOS, nos hemos ido dividiendo los roles
de trabajo, para poder abarcar todo este nuevo paradigma de la programación con
la profundidad que se merece. Así pues, tras unos primeros devaneos con Visual
Studio, el nuevo Visual Basic .NET y su interfaz de usuario (ver artículo del mes de
Abril), cedo los trastos de Visual Basic a mi compañero Luis Miguel Blanco, de
sobra conocido por los lectores de Algoritmo y de La Librería Digital, para
dedicarme por entero al nuevo lenguaje de programación: C# (C-Sharp).

Pretendemos, a lo largo de los próximos meses, ir publicando un curso completo del
lenguaje que sirva de introducción a nivel básico-intermedio para los lectores, de
forma que, cuando hacia el mes de Noviembre aparezca el producto, ya dispongan
de una buena base para poder trabajar y continuar la producción con este lenguaje
(como quizá sepa ya el lector, el pasado día 21 de Junio, coincidiendo con el primer
evento Tech-Ed del año, celebrado en Atlanta (Georgia), se hizo, por fin pública la
beta 2 de Microsoft .NET Framework, así como -para usuarios del MSDN y otros- la
beta 2 de Visual Studio .NET. A título personal, tengo fundadas razones para dudar
de la demora hasta Febrero/2002, como se ha comentado en algunos foros, y por si
esto fuera poco, el Dr.GUI, mentor ficticio del MSDN de Microsoft afirmaba en su
6ª entrega de sus cursos sobre .NET que "a partir del próximo número, todo el
código será compatible con la Beta 2 de .NET Framework, puesto que Microsoft no
planea ya ningún cambio significativo al API entre la Beta 2 y el producto
final, solamente ajustes, optimización y algún cambio de mínima
importancia", lo que da idea de lo avanzado del proyecto).

Introducción a C#

El lenguaje C# se presenta como el último invento en materia de lenguajes de
programación, y constituye también la más reciente y ambiciosa apuesta en este
sentido por parte de Microsoft. Quizás, lo primero que habría que aclarar, es que,
de todo el .NET Framework, es la única parte que puede considerarse
terminada, hasta el punto de que el propio Visual Studio .NET ha sido construido
al 90% en C# y el 10% restante en C++. Por otro lado, el lenguaje merece el
calificativo de estándar, en el sentido de que –al igual que algunos otros aspectos
del entorno- está siendo sometido a estandarización por parte de ECMA, la misma
entidad de normalización que llevó a cabo la estandarización de Javascript.

Nota: En una reciente visita Madrid por parte de dos de los promotores y
desarrolladores de .NET (Ari Bixhorn y Drew Fletcher), a la que tuvimos
ocasión de asistir, se respondía a una pregunta del amigo Francisco Charte
en ese sentido, afirmando que ellos eran conscientes de que ECMA estaba
manteniendo reuniones mensuales con los equipos de estudio de la
normalización (los Working Teams), y que esperaban que dicha labor
estuviera completada, sino antes, sí para el momento de la aparición del
producto.

Rumores sobre el impacto de C# en el mundo de la
programación



Es natural que, ante la creciente comunidad mundial de profesionales de las TI, la
aparición de un nuevo lenguaje tenga más impacto hoy que en etapas anteriores,
más arcaicas. Los medios lo favorecen, y la difusión de Internet, también. Por eso,
nos hemos paseado por algunas revistas en la Web donde los gurús mas conocidos
dan sus opiniones.



Anders Hejlsberg, arquitecto

principal del lenguaje C#



La impresión de estos autores podríamos resumirla así:
C# supone una mejora respecto a otros lenguajes
existentes por dos razones básicas: primero, por que es
el último, y por lo tanto, el más adaptado a las
necesidades actuales del programador y el que más ha
aprendido de los demás, heredando lo mejor de cada
entorno, y añadiendo las cosas que los programadores
solicitaban. En segundo término, por que su creador
principal (el jefe del equipo de desarrollo, el danés
Anders Hejlsberg, de quien Bixhorn y Fletcher
hablaban maravillas), ha podido hacer un excelente
trabajo basado su experiencia personal (es el diseñador
de Turbo Pascal 5.5 y Delphi), con tiempo suficiente,
y un pequeño pero impresionante equipo de
colaboradores entre los que figuran Peter Kukol, Jeffrey
Richter, etc.

De hecho, el propio nombre del lenguaje (se pronuncia CSharp) fue una decisión
posterior, como se ha sabido, en el sentido de que era una extensión de C++:
C++++ (con 4 +), para indicar su origen principal. Si bien esto es cierto, no lo es
menos que en un famoso e-mail que se hizo público a raíz del contencioso Sun-
Microsoft, dirigido por Hejlsberg a Bill Gates, se habla del proyecto de desarrollo del
nuevo lenguaje con frases esclarecedoras sobre la intención con que se construía...



Así, podemos leer (la traducción es mía) “Peter Kukol y yo hemos estado
trabajando en un conjunto de extensiones de Java que yo definiría como
“un cuidadoso maridaje entre Java y C” (Original: “Peter Kukol and I have
been working on a set of Java language extensions that I would
characterize as "A careful marriage of Java and C."). Y más adelante, en una
significativa referencia al nombre del nuevo engendro, afirma “A falta de un
nombre mejor, estamos llamando al lenguaje J++” (Original: For lack of a
better name we're calling the language J++), en una clara alusión a sus
fundamentos basados también en el lenguaje Java. Finalmente, otra frase
entresacada de este e-mail, explica claramente el propósito del diseño al afirmar
que “lo que muchos programadores quieren es una versión “limpia” de C++
que aporte los beneficios de productividad de Java combinados con las
características de bajo nivel de C” (Original: what a lot of programmers
want is a "cleaned up: version of C++ which gives them the productivity
benefits of Java coupled with the lower level features of C”).



Naturalmente, las reacciones han sido muy variadas: desde aquellos que –por el
mero hecho de que el producto sea de Microsoft- lo desdeñan, hasta (una
mayoría), que aprecian sus nuevas características en lo que valen y promueven su
utilización. Quizá por eso, sean de especial valor las opiniones de algunos gurús
(Ben Albahari de Genamics, Christopher P. Calisi de SD Times, e incluso Jim Farley de
O’Really), que estando dedicados a la programación en Java no les importa
reconocer en sus comparativas (el lector tiene las referencias bibliográficas al final
de este articulo), que “si eres un seguidor acérrimo de Java... (el utiliza la
palabra evangelist, que tiene otras connotaciones en inglés) no te fíes de que C#
sea simplemente otro marketing de Microsoft. Mejor, prepárate.”



Bien, pues vamos a prepararnos. Sobre todo teniendo en cuenta que, como se
repite con más frecuencia cada vez, éste cambio a .NET va a afectar a la forma de
programar al menos por los próximos 10 años...



El lenguaje C# y el Entorno Común de
Ejecución (CLR)

Una de las características principales de C# es que se trata de un lenguaje que
compila (por defecto) a un formato intermedio, al estilo de Java, denominado
Intermediate Language (IL), que posteriormente, debe de ser interpretado por
un entorno de ejecución, una máquina JIT (just-in-time), también al estilo de Java.
La gran diferencia respecto a Java es que, ése intérprete será común a todos los
lenguaje soportados por el entorno de ejecución (veintitantos ya...) y mediante
este mecanismo permitirá que los componentes realizados en cualquier lenguaje
puedan comunicarse entre sí.



Se trata pues, de una extensión del concepto inicial que dio origen a Java:
en lugar de un único lenguaje para muchas plataformas, se pretende un
entorno común multiplataforma, que soporte muchos lenguajes, basándose
en que todos ellos compilen a un mismo código intermedio. Para hacer viable
esta idea, se ha optimizado considerablemente la velocidad, respecto a Java y ya se
están anunciando los primeros .NET Framework para otras plataformas: El pasado
mes de Marzo, Steve Ballmer anunciaba la disponibilidad para Linux, y están en
marcha las implementaciones para Unix, McIntosh System-8 y BEos.



Este lenguaje intermedio, es gestionado por un mecanismo llamado Entorno Común
de Ejecución (Common Language Runtime), encargado, además, de la gestión
de memoria, y en general, de las tareas más importantes, relacionadas con la
ejecución de programas.

Programación en C#

Para una primera toma de contacto con el lenguaje, nada mejor que ponernos
manos a la obra e ir analizando algunos casos prácticos, empezando por el ya
clásico “Hola Mundo”.

Principios básicos de la construcción de programas en C#

Pero antes, recordemos las bases sobre las que se asienta la construcción de un
programa escrito en C#:



1) Todo programa compilado para el entorno común de ejecución (CLR) comparte
un mismo código intermedio (Intermediate Language ó IL) que debe ser ejecutado
por un intérprete JIT que resida en la plataforma de ejecución. Aunque pueden
distinguirse entre componentes y ejecutables, en éste último caso, el formato
resultante es independiente del lenguaje que se utilizó en su escritura. El formato
de los ejecutables independientes se denomina PE (Portable Executable).



2) El entorno común de ejecución (CLR) es invocado por cualquier programa
escrito en el formato PE, y es quien se hace cargo del mantener la zona de
memoria en la que se ejecuta el programa y suministra un sistema de tipos de
datos común (Common Type System), que describe los tipos soportados por el
intérprete y cómo estos tipos pueden interactuar unos con otros y cómo
  • Links de descarga
http://lwp-l.com/pdf13092

Comentarios de: El lenguaje C# - Introducción al lenguaje y características derivadas de su entorno de ejecución (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad