Aprendiendo .NET Tutorial PARTE 5

Escrito por George POLIOVEI el Viernes 05 de Diciembre de 2008 a las 15:00hs

Sube Tu Queja

Saludos amigos y bienvenidos a esta nueva entrega de aprendiendo .NET

Antes que nada me gustaría responder a una pregunta que formulara nuestro amigo Nacho en la tercera entrega de esta serie de notas

Nacho pregunta:

¿Qué es POO?

Me parece muy oportuno ahondar un poco sobre este tema ya que considero que es una muy buena pregunta, eso demuestra el interés que asume nuestro trabajo

Para no perder nuestra linea de de tratar de explicar todo lo concerniente a este tema de forma sencilla les propongo realizar un viaje al pasado, así que pónganse cómodos y suban a la maquina del tiempo.

Ok nos encontramos en la época donde el Sistema Operativo es Unix y acaba de nacer un lenguaje informático a quien lo nombraron “C”; con este lenguaje los programadores podían crear aplicaciones que fueran compatibles con los Sistemas Unix, y fue tal la aceptación de éste lenguaje por la comunidad que el propio Unix, fue rescrito en “C”.
Pasados unos años tímidamente comenzó a emerger un nuevo estandar de programación, la POO (Programación Orientada a Objetos), al principio no tuvo mucha importancia, pero poco a poco comenzó a ganar terreno en nuestra comunidad, algo que destacar de C, era que aunque su orientación era de tipo estructurado, se podía emular un ambiente orientado a la programación con objetos, pero no era relevante, si se creaba un sistema que emulara la POO, estaba bien y sino también estaba bien, a C, no le interesaba eso, cuando la POO, se volvió fuerte decidieron que “C”, necesitaba una mejora o como comúnmente se conoce como una depuración, fue ahí que entonces salió a la luz “C++”, que no era más que una depuración de “C”, si bien C++, tenías una cierta compatibilidad para trabajar con clases, no fue capaz de evitar todos los inconvenientes que presentaba su primo “C”, ya que por lógica todas las aplicaciones que se crearan en “C++” deberían ser si o si compatibles con “C”.

Ante esta situación la necesidad de un nuevo lenguaje que hiciera posible la fácil comprensión de aquellos colegas que acostumbraban C y C++, era necesario, naciendo en el verano del 2000 C#, todos aquellos programadores que acostumbraban C y C++, no les fue muy difícil manejar este nuevo lenguaje.

Aunque C#, es en definitiva familiar directo de los lenguajes que mencionamos anteriormente, no es ninguna depuración de éstos, sino que fue creado desde cero, puramente orientado a objetos y desterrando aquellas cosas complicadas que sus antiguos familiares no podían evitar, como el trabajo con Punteros, en C#, la gestion de memoria queda a cargo de script diseñados específicamente para tal fin, adiós a las preocupaciones de asignar manualmente espacio en memoria o habilitar dichos espacios cuando ya no estén en uso, los famosos MEMORY LEEK en C# pueden considerarse controlados en un 100%, pero una cosa también agradable de C#, es que no se olvido de aquellos que les gusta el trabajo a bajo nivel permitiendo el trabajo con punteros, para aquellos que todavía los deseen.

Muy bien devuelta en el presente, gracias por haber viajado en aerolíneas El Guru Programador

POO – Programación Orientada a Objetos

¿Pero que es realmente la POO?, en pocas palabras la POO, trata de llevar las cosas de la vida real a un sistema informático, la POO, maneja conceptos como OBJETO, HERENCIA, ENCAPSULAMIENTO, INTERFACES, CLASES, COMPORTAMIENTOS, ATRIBUTOS ETC…

¿Pero como es posible emular la vida real en un programa informático?

La programación estructurada se rige a través de axiomas como por Ej 2 = 2; en la POO quizás 2 no sea igual a 2, luego vamos a ver porque a medida que avancemos en las entregas así que no se adelanten.

Como la palabra lo dice todo nuestro código o el 90 % de él lo dirigiremos a los objetos, los objetos se crean a partir de sus clases y ahora que lo pienso quizás la siguiente analogía deje en claro a que se refiere el término “Vida Real”.

Atención: la siguiente explicación quizás de vueltas a l mundo y hasta por ahí reciba algún premio o galardón que de prestigio al Sitio

Analogía entre un objeto y una persona

Una persona es concebida y nace
Un objeto es definido se crea

Una persona cuando nace hereda de sus padres entre otras cosas el apellido
Un objeto cuando se crea hereda de su clase entre otras cosas sus atributos .

Una persona durante su tiempo de vida crece físicamente
Un objeto durante su tiempo de vida puede escalar en cuerpo

Una persona viaja por el país y se relaciona con otras formando su vida social
Un objeto viaja por la aplicación a través de su vida y se relaciona con otros objetos

Una persona es única en todo sentido y se identifica por algún registro DNI, Nombre etc…
Un objeto es único en todo sentido y se identifica por un atributo

Cuando 2 personas nacen en el mismo tiempo y del mismo vientre aunque se parezcan en todo en definitiva son diferentes.-
Cuando 2 objetos son creados de una misma clase con todos sus atributos iguales aunque se parezcan en todo en definitiva son distintos cada uno tiene su identidad

Una persona tiene comportamientos come, duerme, camina, corre, etc…
Un objeto tiene comportamientos (métodos), se comunica con otros objetos, hace cálculos, informa de situaciones etc…
Una persona debe hacer algo, por lo menos comer de lo contrario muere
Un objeto debe realizar alguna acción de lo contrario muere

Una persona cuando muere es mantenida en algún lugar hasta que es reducida o cremada
Un objeto cuando muere o ya no se utiliza es mantenido en memoria hasta que pasa el Garbage Collector y lo destruye por completo.

Perdón por los 2 últimos ejemplos pero creo que analogía anterior debería evacuar las posibles dudas en cuanto a que es la POO. Este es una forma relacionar la POO que se me ocurrió, no es palabra santa, pero creo que es una buena analogía y espero que los demás colegas del sitio puedan concordar.

Bueno Nacho esperamos que te haya servido la presente entrega y haber evacuado tu pregunta.

Siguiendo con la Entrega antes de comenzar con la primera aplicación merece la pena tocar el tema NET FRAMEWORK

Si todos ya leyeron la estrella 0 de la Microsoft entonces ya sabrán que es esto del NET FRAMEWORK, sus palabras lo dicen todo Marco de Trabajo éste será el ambiente o los límites que se establecerán para las creaciones de nuestras aplicaciones, pero eso no quiere decir que podamos interoperar con otras DLL fuera de estos límites.-

El NET FRAMEWORK se compone de cuatro partes principales

• CLR – Common Lenguage Runtime
• BCL – Biblioteca de clases
• Lenguajes de Programación – Entre ellos C#
• ASP NET

CLR
Entorno común de ejecución, como mencionamos antes para que una porción de código pueda ser ejecutada deberá primero compilarse, el resultado implica un archivo de tipo EXE que puede ser ejecutado por los usuarios, ahora bien este entorno en particular (CLR), proporciona a nuestro resultante de la compilación un conjunto de servicios de SO, permitiendo entre otras cosas hacernos la vida realmente fácil. Un ejemplo de un servicio agregado a nuestro código es la gestión automática de memoria.-

BCL
A medida que avancen en esta profesión, se irán dando cuenta que a los integrantes de la comunidad les gusta trabajar en ocasiones con códigos existentes y probados, pues bien aquí .NET toma la delantera permitiendo la REUTILIZACION DE CODIGO, todas las bibliotecas (DLLs) disponibles en .NET pueden ser reutilizadas en nuestras aplicaciones y gracias al CLR, también es posible reutilizarlas desde cualquier lenguaje de programación que compatibilice con .NET

LENGUAJES DE PROGRAMACION .NET

El marco de trabajo (NET FRAMEWORK), proporciona un conjunto de herramientas para la creación de nuestros aplicativos, un ejemplo de ellos son los lenguajes de programación creados para generar aplicaciones compatible con .NET, entre ellos se encuentran nuestro querido C#, Visual Basic .NET, VISUAL C++, JAVA NET, y muchos más en camino, por ejemplo no sé, si ya está disponible pero una versión de Phyton, se estaba creando para ser compatible con .NET, también COBOL

ASP NET

Este es un entorno orientado a la creación de aplicaciones Web, pero con muchas sorpresas como por ejemplo ASP NET permite separar el codigo fuente de la interfaz de usuario a esto se lo conoce como CODIGO DETRÁS, su componente principal es el WEB FORM, mas adelante cuando tratemos con Visual Studio verán que simple es crear una interfaz de usuario arrastrando controles al formulario y codificándolos como si de una aplicación Windows se tratare, y lo mejor de todo es que como el entorno ASP NET utiliza el marco de trabajo .NET FRAMEWORK también usa el compilador (JIT) esto lo vimos antes.

Bueno muchas gracias por apoyar al Sitio yo como lo haría y lo hacen muchos miembros de la comunidad colaboro desde mi humilde posición escribiendo estas notas y ustedes ya expertos algunos y aquellos que se están iniciando colaboran leyendo y preguntando, y porque no cuando sean profesionales escribiendo también como forma de apoyar a la comunidad, un abrazo a todos y nos vemos en la siguiente entrega donde vamos a comenzar creando nuestra primera aplicación con C#.


comentarios



  1. De las pocas lecturas amenas sobre programación que he tenido oportunidad de encontrar...

    Excelente trabajo y gracias por tomarte el tiempo y la molestia de compartir con todos nosotros lo que has aprendido. Saludos y te esperamos pronto con la siguiente entrega.



  2. Excelente explicación acerca de la analogía POO.. perfectamente entendido.. Felicitaciones!!.. y no te preocupes.. que si son fuertes los ejemplos es porque se ameritan.. jejej.. continúo leyendo.. y continúen con este trabajo.. :D



  3. Amigos, no voy a decir que lo entendi a la primera, pero me sacó de muchas dudas luego que lo leyera en un par de ocaciones, muchas gracias espero el siguiente capitulo no se demoren por favor

agregar comentario


Se permiten las etiquetas HTML <b>, <i> y <p>. Si ingresa alguna dirección web o dirección de email serán convertidos en enlaces automáticamente.





publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API