PDF de programación - Curso de C# - El lenguaje C# ha evolucionado de nuevo: programar en el lenguaje de moda no es tan difícil

Imágen de pdf Curso de C# - El lenguaje C# ha evolucionado de nuevo: programar en el lenguaje de moda no es tan difícil

Curso de C# - El lenguaje C# ha evolucionado de nuevo: programar en el lenguaje de moda no es tan difícilgráfica de visualizaciones

Publicado el 7 de Agosto del 2018
1.041 visualizaciones desde el 7 de Agosto del 2018
449,1 KB
7 paginas
Creado hace 17a (26/12/2006)
El lenguaje C ha evolucionado de nuevo: programar en el lenguaje de moda no es tan difícil.

Curso de C#

Empezamos una serie de artículos sobre C#, lenguaje de evidente actualidad tanto por su popularidad (estamos
hablando de C) como por tratarse de un lenguaje ".Net Compatible".

Vamos a empezar una serie de artículos sobre C# (pronunciado "C sharp") para daros a conocer, estimados lectores, este
lenguaje de programación que seguro habéis oído nombrar y que, de un tiempo a esta parte, se ha puesto de moda debido,
entre otras muchas cosas, a las soluciones que el software libre está desarrollando para él.
Como todos sabemos, el lenguaje C es uno de los más populares entre los programadores de cualquier sistema operativo. Si a
esto le añadimos que Microsoft ha "promocionado" la plataforma .NET y que Linux también dispone de esa tecnología
gracias al proyecto Mono, nos encontramos ante una solución para desarrollo de programas de alta portabilidad y probada
potencia.
Para los que empezáis a programar, os puedo decir que aprender C# es más sencillo que aprender C++. Ciertamente C++ nos
puede ofrecer en muchos casos más potencia, pero también nos deja una “libertad” para hacer cosas que no deberíamos hacer,
y que con seguridad las haremos sin darnos cuenta. C# se denomina lenguaje de “tipado-seguro”, es decir, que el propio
lenguaje nos asegura que una variable que definamos de un tipo determinado (por ejemplo un entero) siempre contendrá un
valor de ese tipo, no dejándonos compilar el código en cuanto se detecte una situación de este tipo. C++ simplemente nos
dejará compilar y provocará un error en ejecución.

Este pretende ser un curso "original". Me explico: Seguro que hay muchos cursos y tutoriales sobre este lenguaje, pero
nosotros lo vamos a desarrollar desde el punto de vista del lector. Sí, desde vuestro punto de vista. Y ¿por qué?. Pues porque
todos hemos sido alguna vez aprendices de un lenguaje de programación y todos hemos deseado que nos explicaran con
detalle esas cosas que muchos pasan por alto y que, muchas veces, suponen parte de la base del lenguaje que estamos
aprendiendo. Veremos ejemplos y los revisaremos de cabo a rabo para que entendamos perfectamente el sentido de cada
instrucción, bloque de código, etc... De esta forma, iremos aprendiendo conceptos a medida que vayamos necesitándolos para
comprender lo que estemos explicando. Claro que en algún momento tendremos que explicar bastante teoría, pero la
aderezaremos con ejemplos para que todos podáis experimentar en el ordenador. Espero que os guste.

Primero un poco de historia y un poco de teoría
El origen de C# está en Microsoft y las malas lenguas (también llamadas “leyendas”) dicen que los desarrolladores de .Net
Framework lo diseñaron a partir de sus conocimientos de C++ y de J++. Es más: se dice que quisieron llamarlo C++++ y que,
al reorganizar los “+”, les salió “#” ;-)
Fuera de habladurías, uno de los “padres” de C# fue Anders Hejlsberg, que tiene en su currículum a nuestro amado Turbo
Pascal, a Delphi y a Visual J++ (ya en Microsoft). Podéis ver una entrevista con él y traducida al castellano en
http://www.elavefenix.net/Panorama/a069mpm3.htm y su entrada en la wikipedia en
http://en.wikipedia.org/wiki/Anders_Hejlsberg

Lo cierto es que de C se tomó su sintaxis, sus operadores.... y de C++ los objetos aunque muy mejorados. Con Java
observamos también similitudes, empezando por la independencia de la plataforma ya que ambos se basan en código
intermedio: Java traduce el código fuente a código de bytes que es el que será interpretado por la máquina virtual Java, C#
traduce el código fuente a IL (Intermediate Language).
Las demás similitudes son evidentes ya que tanto la sintaxis y la filosofía de Java derivaron de C++ aunque Java tenga su
propia “personalidad”.

Vale, pero... ¿qué es eso de .Net Framework?. Pues se trata de una plataforma software diseñada para obsequiar a los
programadores con un entorno compatible con el desarrollo de aplicaciones en distintos lenguajes y que puedan interoperar
entre sí, ofreciendo además seguridad. Algo fundamental de .Net Framework es que no está “ligado” a Windows como cabría
esperar de un producto desarrollado por Microsoft, obteniéndose así la portabilidad. Actualmente disponemos de la
implementación para Windows que, evidentemente, fue la primera, y de la solución para Linux (también funciona bajo
Windows) llamada “proyecto Mono” (http://www.go-mono.com).

Todos los lenguajes que deban "correr" en .Net deben cumplir la Common Language Specification (Especificación

de Lenguaje Común) y en eso Microsoft ha sido bastante transparente.Es por ello que ya existen bastantes lenguajes
acomodados al CLS. Por ejemplo podemos usar Python para .Net
(http://www.zope.org/Members/Brian/PythonNet/index_html), Perl (http://www.activestate.com/Products/Perl_Dev_Kit/) y
los ya indicados C++ en su versión "administrada" (ahora veremos lo que significa este término) y Visual Basic .Net.

Con C# (como todos los lenguajes que cumplen la CLS) nos encontramos ante un lenguaje “administrado” y para entender
cómo se ejecuta el código administrado tenemos que hablar del Common Language Runtime (CLR) y de la biblioteca de
clases de .Net Framework.

El CLR es el que administra la ejecución del programa. Una vez hemos convertido el código fuente a Intermediate Language
(de ahora en adelante IL) mediante un compilador, el CLR lo transforma a código nativo ejecutable de la plataforma en la que
estemos. Esto se hace, a medida que se va necesitando, con un compilador JIT (just-in-time), por lo que el programa se
ejecuta en código nativo y no interpretado como algunos creen equivocadamente. Es así como se consigue la portabilidad ya
que podemos ejecutar un programa compilado previamente a IL en cualquier plataforma que implemente el CLR. Además
controla el manejo de la memoria mediante un recolector de basura (Garbage Collector), es decir, podemos crear un objeto y
olvidarnos de liberar la memoria que ocupa, ya que el recolector de basura lo hará por nosotros (también podremos, faltaría
más, forzar - y lo haremos - una llamada al Garbage Collector para que empiece a trabajar cuando nosotros queramos). El
CLR también maneja los hilos de ejecución y garantiza la "seguridad" del código. Y entendemos "seguridad" como la
imposibilidad del código para hacer cosas "no permitidas" o "no recomendables". Por ejemplo, los punteros ya no se utilizan
en C# (realmente podemos usarlos pero no es recomendable, aunque veremos cómo hacerlo) ya que es el propio lenguaje el
que los manejará internamente mientras nosotros trabajamos con variables. La interoperabilidad entre lenguajes se logra
mediante los denominados metadatos.
Los metadatos se generan al compilar el código fuente a IL y están en el mismo archivo. Informan sobre los datos usados por
el programa y forman parte de lo que se llama el "ensamblado".

Figura: Ensamblado

Como se ve en la figura, contiene toda la información sobre la versión e implantación de un programa. Incluyen cuatro
apartados: La primera es el manifiesto. En él se incluye la versión, el nombre y datos de interés en aras de una buena
documentación. La segunda son los metadatos que contienen la información sobre los tipos de datos usados y que ayudarán a
conseguir la interacción con otros lenguajes. La tercera parte es el código IL en sí mismo y la cuarta son los recursos usados
por el programa.

Tranquilos. El ensamblado se genera automáticamente al compilar ya que el exe que generamos (veremos también que la
extensión exe se mantiene por "tradición") es, por sí mismo, un ensamblado que contiene el código IL.

La biblioteca de clases: la columna vertebral
La biblioteca de clases es la que nos va a proporcionar una inmensa variedad de objetos con sus respectivos métodos que nos
van a permitir realizar innumerables tareas gracias a todas las funcionalidades que implementan. Podríamos definir
“oficiosamente” una clase como una plantilla para crear objetos. Es donde se definen las características del objeto
describiendo los datos y métodos que lo componen. Un objeto es, sencillamente, la instancia de una clase. Otros lo definen
como un compendio de datos y métodos con los cuales podremos manipular esos datos, sus propios datos. A mí me gusta
definirlos como una parte encapsulada de lógica y datos, que representa una entidad. Y, finalmente, podemos considerar que
un programa en C# es un conjunto de objetos que se relacionan entre sí mediante sus métodos. Los métodos son como las
funciones que conocemos de cualquier lenguaje de programación, pero éstos pueden acceder totalmente a los campos
definidos dentro de la clase a la que pertenece el método y tienen características de visibilidad. Los métodos constructor y
destructor son los básicos para instanciar un objeto y destruir la citada instancia. Los campos almacenan datos (estados) de
los objetos y son variables declaradas dentro de la clase. Estos campos tienen características de visibilidad (public, private,
internal, etc...) y, normalmente, no deberían ser públicos. Dentro de una clase podemos definir propiedades y métodos
estáticos, obteniendo así lo más parecido a las funciones tradicionales, ya que no hace falta crear ningún objeto para
utilizarlas. Volveremos a hablar de los campos y métodos en profundidad cuando veamos "de cerca" los objetos.

Como hemos dicho al principio, C# es un lenguaje orientado a objetos. No sólo eso. Todo el código que escribamos en C# se
trata de un objeto, ya que la función Main() de todo programa C# debe estar dentro de una clase. Para los nuevos en C, decir
que la función Main() es la que define el punto de entrada a un programa y es la que se ejecuta cuando llamamos al
ejecutable. Así pues, un programa en C# debe tener al menos una función dentro de la clase principal y además debe llamarse
Main(). Es importante recalcar que la M es mayúscula. Y es imp
  • Links de descarga
http://lwp-l.com/pdf12904

Comentarios de: Curso de C# - El lenguaje C# ha evolucionado de nuevo: programar en el lenguaje de moda no es tan difícil (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