Modulo 3 Introducci N A C
En este módulo
En este módulo se explicará el lenguaje C#, como lenguaje de programación para desarrollo de aplicaciones basados en la plataforma .Net.
Se expondrán las reglas sintácticas para especificar los conceptos de programación orientada a objetos, como las clases, mensajes, métodos, etc.
Cabe aclarar que éste es sólo una introducción al lenguaje, es decir, estamoshablando de un curso básico de C#. Solo se explicarán aquellos conceptos necesarios para continuar con el curso. Por lo que muchos aspectos del lenguaje quedarán relegados.
Introducción
Antes de introducir los conceptos de C# identificaremos dos tipos de tecnologías de programación orientados a objetos. Por un lado se tienen a los lenguajes de programación y plataformas orientadas a objetospuros, como Smalltalk, donde los conceptos del paradigma se ven implementados en su forma más pura, es decir todo es objetos mensaje. El ejemplo más claro de esto es la ausencia de estructuras de control como el if o el while, ya que son mensajes enviados a objetos que tiene la particularidad de evaluarse en verdadero o falso.
En contrapartida existen los lenguajes y tecnologías hibridas, quebrindan soporte para la programación orientada a objetos, pero su construcción no es paradigmática, es decir no todo es objeto y mensaje. Por ejemplo, los tipos denominados primitivos (enteros, string, bolean, etc) no son objetos. Tampoco las estructuras de control son mensaje, sino primitivas del lenguaje. Dentro de estas tecnologías podemos encontrar Java, C++, C#, entre otros.
Un poco de historiaLos 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 dedesarrollo 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++".
Lenguaje hibrido orientado a objetos
Para poder soportar laprogramación orientada a objetos, C# implementa conceptos como herencia, encapsulamiento, polimorfismo y programación basada en protocolos o interfaces. Además soporta las construcciones típicas de C++ y Java, como clases, estructuras, interfaces y enumeraciones, así como algunas construcciones nuevas, como los delegados, que son parecidos a los punteros a funciones de C++, o los atributos, lo cualpermite añadir meta-información sobre el código.
C# trata de brindar una cualidad que aquellas tecnologías de objetos puras no consiguen: algunos lenguajes, como Smalltalk, se basan en que "todo es un objeto" lo cual trae sus consecuencias. Este enfoque tiene la ventaja de una completa orientación a objetos, pero tiene la desventaja de ser muy ineficiente por varias razones como puede ser laproliferación de objetos y su impacto en los recursos de computación disponibles. Para mejorar el rendimiento, otros lenguajes, como Java, separan el sistema de tipos en tipos primitivos y todo el resto, dando lugar a mejor rendimiento en los tipos primitivos, pero en una separación a veces molesta entre tipos primitivos y tipos definidos por el usuario. En C# se han integrado ambas aproximacionespresentando lo que se llama un sistema unificado de tipos, en el que todos los tipos, incluso los primitivos, derivan de un tipo objeto común, a la vez que permite el uso de optimizaciones para tipos primitivos y tipos sencillos.
Lenguaje tipado
Los tipos son la base de cualquier programa. Un tipo no es más que un espacio en el que se almacena una información, ya sean números, palabras, etc. El...
Regístrate para leer el documento completo.