Microsoft.Net Framework

desi_25_vcia

Hola, soy nueva en esto de la programación, y mi pregunta es:
Alguien me puede explicar para qué sirve y que es exactamente Microsoft.Net Framework.
Muchisimas gracias os estaré muy agradecida, tengo que hacer un trabajo y la verdad q cuanto más leo mas me lio y me gustaria que me pudierais ayudar, MUCHISIMAS GRACIAS!

cabron

Normalmente los programas, van sobre algo en concreto. Un programa para enviar y recibir el correo electronico, va de poder leer enviar correos electrónicos, un juego va de poder jugar, un programa para un banco va de administrar cuentas de clientes, etc.

Al hacer un programa, el desarrollador se ve obligado a tener que escribir código que no tiene nada que ver con el tema principal del programa, pero que es necesario que el programa funcione: acceso a disco para leer y escribir archivos, acceso a la red para enviar y recibir información, manejar la memoria del sistema, etc.

Para evitar que los programadores tengan que perder el tiempo con esto, se crean librerias que ofrecen funcionalidad ya hecha, de forma que el programador pueda centrarse en resolver el problema principal del que trata el programa, y el resto de cosas secundarias, las saque de otras librerias sin tener que preocuparse de hacerlo él mismo.

Una libreria, ayuda a los programadores evitando que tengan que escribir su propio código para ciertas tareas, pero el programador sigue teniendo que pensar de que forma va a usar esas librerias, como va a estructurar la aplicación.

Un framework va un paso más lejos con la intención de resolver este problema. Por un lado, un framework es un conjunto de librerías, tiene cantidad de funcionalidad ya hecha lista para ser usada, pero además, te da una estructura para el programa, para que no tengas que ponerte a pensar que diseño vas a usar para el programa.

Basicamente un framework intenta que el programador tenga que ocuparse solo y exclusivamente de resolver el problema principal del que trata el programa, y que todo lo demás venga ya hecho.

.Net es un framework de tantos otros que hay (MFC y J2EE por citar un par de ejemplos)

Espero que tu trabajo fuese algo más profundo que simplemente explicar que es el framework .net, por que como solo sea eso, y vayas a copiar y pegar todo lo que he puesto, me cortare las venas por haberte hecho los deberes...

desi_25_vcia

jajajaj, muchas gracias, por todo.
No me has hecho los deberes, jeje, simplemente has aclarado mis dudas por que me perdia bastante con todo lo que leia por ahi, con el clr codigo msil y todo eso.
Te agradezco mucho tu respuesta, necesitaba que alguien me lo explicase en cristiano!!, jajja para entendernos.
Y es más la respuestas a mi trabajo, que si que es bastante más profundo que eso, ya las estaba sacando de otras fuentes, pero como te he dicho antes, simplemente pretendia entender bien lo que hacia. MUCHAS MUCHAS GRACIAS!!

TaMy

Quiza tambien puntualizar que la diferencia entre "compilar" un código o crear codigo para un framework esta en que cuando compilas un código creas algo que se ejecuta en lenguaje máquina (ensamblador)... aunque utilizes librerias estas tb pueden estar compiladas para que te centres en el problema igual que te ha explicado #2 (por ejemplo tu puedes incluir en un programa C el "stdio.h" y no por eso usas un framework...

o las Microsoft Fundation clases son otro ejemplo o el OpenGL otro ejemplo o el DirectX otro ejemplo...

librerias para tener trabajo hecho son infinitas (cualquier dll es una libreria, cualquier .lib es una libreria...)

Framework va más allá...

Aparte de tener "o no" librerias, la principal baza del Framework es que el código que escribes no se compila... sino se pre-compila a un lenguaje de nivel intermedio que el framework "interpreta" en lugar de "ejecutarlo"...

Esto tiene ventajas e inconvenientes...

La velocidad es el máximo inconvenitente... el aumento de velocidad de los actuales ordenadores ha conseguido que utilizar un framework como j2ee o .net o mono o cualquiera de estos no sea horrible... pero el impacto en el rendimiento es notorio...

Otro gran problema es que el lenguaje a bajo nivel es bastatne más problemático... tratar directamente con direcciones de memoria, excepciones de procesador, eso es algo que en C, C++ y lenguajes de bajo nivel ayuda mucho, pero que aunque se puede hacer mediante framework no suele ser lo mismo y acaba por no hacerse... (para realizarlo en .net se llama: "Código no seguro"... asi que imagina)...

Pero tiene ventajas... muchas...

La posibilidad del multiplataforma es quiza la más importante de ellas... un software que utiliza un framework podria ser facilmente multiplataforma en tantas plataformas como ese framework funcione...

Las aplicaciones java o momo tienen frameworks tanto en mac como linux como windows y un software funciona facilmente en cualquier plataforma... te abstraes de la capa de sistema operativo volviendose indiferente en cual se ejecute...

Eso no quiere decir que todos los framework tengan esta ventaja... el .NET no la tiene... pq Microsoft no ha sacado su framework más que bajo su propia plataforma.

Otra de las ventajas son cosas como "control de errores", "seguridad de código", "abstracción de hardware", e incluso el hecho que una actualización del framework podria mejorar tu software sin necesidad de volverlo ni tan siquiera a pre-compilar.

Usuarios habituales

  • TaMy
  • desi_25_vcia
  • cabron