Your SlideShare is downloading. ×
Reporte_de_microsoft_visual_c#
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Reporte_de_microsoft_visual_c#

95
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
95
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ¿Qué es Microsoft Visual C#? C# es un lenguaje de programación que se ha diseñado para compilar diversas aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C. C# (pronunciado si Sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común. Visual C# es una implementación del lenguaje C# de Microsoft. Visual Studio admite Visual C# con un editor de código con características más completas, compilador, plantillas de proyecto, diseñadores, asistentes de código, un depurador eficaz y fácil de usar, y otras herramientas. La biblioteca de clases de .NET Framework ofrece acceso a numerosos servicios de sistema operativo y a otras clases útiles y adecuadamente diseñadas que aceleran el ciclo de desarrollo de manera significativa. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes. El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido, en inglés Sharp) indica que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el signo '#' se compone de cuatro signos '+' pegados. ¿Características de Microsoft Visual C#? Sencillez: elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET. Por ejemplo: El código escrito en C# es auto contenido, lo que significa que no necesita de ficheros adicionales al propio fuente tales como ficheros de cabecera o ficheros IDL No se incluyen elementos poco útiles de lenguajes como C++ tales como macros, herencia múltiple o la necesidad de un operador diferente del punto (.) acceder a miembros de espacios de nombres (::) Modernidad: incorpora en el propio lenguaje elementos que son muy útiles para el desarrollo de aplicaciones y que Java o C++ tienen algo simular, como un tipo básico decimal que permita realizar operaciones de alta precisión con reales de 128 bits (muy útil en el mundo financiero), la inclusión de una instrucción foreach que permita
  • 2. recorrer colecciones con facilidad y es ampliable a tipos definidos por el usuario, la inclusión de un tipo básico string para representar cadenas o la distinción de un tipo bool específico para representar valores lógicos. Orientación a objetos: es un lenguaje orientado a objetos. Una diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es más puro en tanto que no admiten ni funciones ni variables globales sino que todo el código y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del código. C# soporta todas las características propias del paradigma de programación orientada a objetos: encapsulación, herencia y polimorfismo. Orientación a componentes: La propia sintaxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen mediante construcciones más o menos complejas. Es decir, la sintaxis de C# permite definir cómodamente propiedades (similares a campos de acceso controlado), eventos (asociación controlada de funciones de respuesta a notificaciones) o atributos (información sobre un tipo o sus miembros) Gestión automática de memoria: Todo lenguaje de .NET tiene a su disposición el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destrucción de objetos. Sin embargo, dado que la destrucción de los objetos a través del recolector de basura es indeterminista y sólo se realiza cuando éste se active –ya sea por falta de memoria, finalización de la aplicación o solicitud explícita en el fuente-. C# también proporciona un mecanismo de liberación de recursos determinista a través de la instrucción using. Seguridad de tipos: incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente, lo que permite evita que se produzcan errores difíciles de detectar. Para ello se toman ciertas medidas como:  Sólo se admiten conversiones entre tipos compatibles.  No se pueden usar variables no inicializadas.  Se comprueba que todo acceso a los elementos de una tabla se realice con índices que se encuentren dentro del rango de la misma.  Se puede controlar la producción de desbordamientos en operaciones aritméticas, informándose de ello con una excepción cuando ocurra.  A diferencia de Java, C# incluye delegados, que son similares a los punteros a funciones de C++ pero siguen un enfoque orientado a objetos,
  • 3.  Pueden definirse métodos que admitan un número indefinido de parámetros de un cierto tipo, y a diferencia lenguajes como C/C++, en C# siempre se comprueba que los valores que se les pasen en cada llamada sean de los tipos apropiados. Instrucciones seguras: Para evitar errores muy comunes, en C# se han impuesto una serie de restricciones en el uso de las instrucciones de control más comunes. Por ejemplo, la guarda de toda condición ha de ser una expresión condicional y no aritmética, con lo que se evitan errores por confusión del operador de igualdad (==) con el de asignación (=); y todo caso de un switch ha de terminar en un break o goto que indique cuál es la siguiente acción a realizar, lo que evita la ejecución accidental de casos y facilita su reordenación. Sistema de tipos unificado: A diferencia de C++, en C# todos los tipos de datos que se definan siempre derivarán, aunque sea de manera implícita, de una clase base común llamada System.Object, por lo que dispondrán de todos los miembros definidos en ésta clase (es decir, serán “objetos”) Extensibilidad de tipos básicos: permite definir, a través de estructuras, tipos de datos para los que se apliquen las mismas optimizaciones que para los tipos de datos básicos. Es decir, que se puedan almacenar directamente en pila (luego su creación, destrucción y acceso serán más rápidos) y se asignen por valor y no por referencia. Extensibilidad de operadores: Las redefiniciones de operadores se hacen de manera inteligente, de modo que a partir de una única definición de los operadores ++ y - el compilador puede deducir automáticamente como ejecutarlos de manera prefijas y postfija; y definiendo operadores simples (como +), el compilador deduce cómo aplicar su versión de asignación compuesta (+=) Además, para asegurar la consistencia, el compilador vigila que los operadores con opuesto siempre se redefinan por parejas Extensibilidad de modificadores: ofrece, a través del concepto de atributos, la posibilidad de añadir a los metadatos del módulo resultante de la compilación de cualquier fuente información adicional a la generada por el compilador que luego podrá ser consultada en tiempo ejecución a través de la librería de reflexión de .NET . Esto, que más bien es una característica propia de la plataforma .NET y no de C#, puede usarse como un mecanismo para definir nuevos modificadores. Versionable: incluye una política de versionado que permite crear nuevas versiones de tipos sin temor a que la introducción de nuevos miembros provoquen errores difíciles de detectar en tipos hijos previamente desarrollados y ya extendidos con miembros de igual nombre a los recién introducidos.
  • 4. Eficiente: En C# todo código incluye numerosas restricciones para asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java, en C# es posible saltarse dichas restricciones manipulando objetos a través de punteros. Para ello basta marcar regiones de código como inseguras (modificador unsafe) y podrán usarse en ellas punteros de forma similar a cómo se hace en C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad procesamiento muy grandes. Compatible: Para facilitar la migración de programadores, C# no sólo mantiene una sintaxis muy similar a C, C++ o Java que permite incluir directamente en código escrito en C# fragmentos de código escrito en estos lenguajes, sino que el CLR también ofrece, a través de los llamados PlatformInvocationServices (PInvoke) También es posible acceder desde código escrito en C# a objetos COM. Para facilitar esto, el .NET Framework SDK incluye una herramientas llamadas tlbimp yregasm mediante las que es posible generar automáticamente clases proxy que permitan, respectivamente, usar objetos COM desde .NET como si de objetos .NET se tratase y registrar objetos .NET para su uso desde COM. Finalmente, también se da la posibilidad de usar controles ActiveX desde código .NET y viceversa. Para lo primero se utiliza la utilidad aximp, mientras que para lo segundo se usa la ya mencionada regasm. Desarrolladores de Microsoft Visual C# Anders Hejlsberg nació en 1960 (algunas fuentes señalan que fue en 1961, pero durante el TechEd 2006 en Barcelona, el propio Hejlsberg confirmó que nació en Diciembre de 1960). Es un destacado ingeniero de software danés que co-diseñó varios lenguajes de programación e instrumentos de desarrollo populares y comercialmente acertados. Actualmente trabaja para Microsoft, donde es el arquitecto jefe del lenguaje de programación C#.
  • 5. Hejlsbergs nació en Copenhague, Dinamarca, y estudió ingeniería en la Universidad Técnica de Dinamarca, pero nunca se graduó. Mientras estaba en la universidad, en 1981, comenzó a escribir programas para el microordenador Nascom, incluyendo un compilador de Pascal que se llamaba Blue Label Pascal compiler (el compilador de Pascal para el Nascom-2). Sin embargo, pronto lo reescribió para CP/M y MS-DOS. El compilador fue conocido inicialmente como Compas Pascal y más tarde como PolyPASCAL. Más adelante el producto fue concedido bajo licencia a Borland, y, combinado con otras herramientas de programación, se convirtió en el sistema Turbo Pascal. Dicho compilador se inspiró en gran medida en el compilador Tiny Pascal, descrito en el libro "Algorithms + Data Structures = Programs" de Niklaus Wirth, uno de los libros más influyentes en el área de ciencias computacionales de aquel tiempo. Anders y sus colegas fundaron una tienda de informática en Copenhague donde vendían aplicaciones de contabilidad. Su compañía, PolyData, distribuía productos de Microsoft en Dinamarca, lo que les supuso algunos conflictos con Borland. Hejlsberg se convirtió en uno de los objetivos principales de Microsoft y, tras una sucesión de ofertas, Borland no pudo igualar la oferta hecha por Microsoft. En 1996 Hejlsberg abandonó Borland y se unió a Microsoft. Uno de sus primeros logros fue el lenguaje de programación J++. También se convirtió en un Ingeniero distinguido y Técnico de Microsoft. Desde 2000, ha sido el arquitecto principal del equipo que desarrolla el lenguaje de programación C#. En 2012 Hejsberg anunció su nuevo proyecto TypeScript.
  • 6. Versiones de Microsoft Visual C#. Visual F# Es un lenguaje de programación multiparadigma de código abierto, para la plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y orientada a objetos. Es una variante del lenguaje de programación ML y es compatible con la implementación Objective Caml. F# fue inicialmente desarrollado por Don Syme de Microsoft Research, pero actualmente está siendo desarrollado por la División de Desarrolladores de Microsoft y es distribuido como un lenguaje totalmente soportado en la plataforma .NET y Visual Studio Visual Studio 6.0 Se lanzó en 1998 y fue la última versión en ejecutarse en la plataforma Win9x. Los números de versión de todas las partes constituyentes pasaron a 6.0, incluyendo Visual J++ y Visual InterDev, que se encontraban en las versiones 1.1 y 1.0 respectivamente. Esta versión fue la base para el sistema de desarrollo de Microsoft para los siguientes 4 años, en los que Microsoft migró su estrategia de desarrollo al .NET Framework. Visual Studio 6.0 fue la última versión en que Visual Basic se incluía de la forma en que se conocía hasta entonces; versiones posteriores incorporarían una versión muy diferente del lenguaje con muchas mejoras, fruto de la plataforma .NET. También supuso la última versión en incluir Visual J++, que proporcionaba extensiones de la plataforma Java, lo que lo hacía incompatible con la versión de Sun Microsystems. Esto acarreó problemas legales a Microsoft, y se llegó a un acuerdo en el que Microsoft dejaba de comercializar herramientas de programación que utilizaran la máquina virtual de Java. Aunque el objetivo a largo plazo de Microsoft era unificar todas las herramientas en un único entorno, esta versión en realidad añadía un entorno más a Visual Studio 5.0: Visual J++ y Visual Interdev se separaban del entorno de Visual C++, al tiempo que Visual FoxPro y Visual Basic seguían manteniendo su entorno específico. Visual C++ Visual C++ (también conocido como Mvs}C, Microsoft Visual C++) es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI. Visual C++ engloba el desarrollo de aplicaciones hechas en C, C++ y C++/CLI en el entorno Windows. Visual C++ incluye además las bibliotecas de Windows (WinApi), las bibliotecas
  • 7. MFC y el entorno de desarrollo para .NET Framework. Visual C++ cuenta con su propio compilador (de igual nombre) y otras herramientas como IntelliSense, TeamFoundation Server, Debug,... Además provee de bibliotecas propias de cada versión del sistema operativo y sockets. Como otros compiladores, se le pueden añadir nuevas bibliotecas como DirectX, wxWidgets o SDL. Visual FoxPro Visual FoxPro es un lenguaje de programación procedural, orientado a objetos que posee un Sistema Gestor de Bases de datos o Database Management System (DBMS) y Sistema administrador de bases de datos relacionales, producido por Microsoft. Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC o para la Web. Visual InterDev Microsoft Visual InterDev, parte de Microsoft Visual Studio 97 y 6.0, es un entorno de desarrollo integrado (IDE) usado para crear aplicaciones web usando las tecnologías de Microsoft Active Server Pages (Páginas de Servidor Activo o ASP). Puede completar código, tiene herramientas de administración de servidor de base de datos y un compilador integrado. El IDE extenso de InterDev está compartido con Microsoft Visual J++ y es el precursor del IDE de Microsoft Visual Studio .Net. Posteriormente, Visual Web Developer reemplazó a InterDev en la suite de herramientas de Visual Studio. Entre sus características se pueden enumerar:       Capacidades para el manejar datos nativos y remotos. Flexibilidad para crear soluciones de bases de datos. Lenguaje de Programación Orientado a objetos. Utilización de Sentencias SQL en forma nativa. Manejo de vistas, cursores y control completo de estructuras relacionales. Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
  • 8.   Cuenta con un motor de generación de informes renovado y flexible para soluciones más robustas. Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XML. Microsoft Visual J++ Visual J++ es la ahora descontinuada implementación de Microsoft de un IDE para el lenguaje de programación Java. Creado para la plataforma Windows, los programas escritos en J++ pueden correr sólo en la MSJVM (Microsoft Virtual Machine for Java, Máquina Virtual Java de Microsoft), que era el intento propietario de Microsoft de un intérprete Java. La sintaxis, palabras clave y convenciones gramáticas de Java eran respetadas. Visual J++ ha sido reemplazado por J#, que es capaz de compilar código Java/J++ al lenguaje intermedio MSIL de la plataforma .NET. Visual C# C# es un lenguaje de programación que se ha diseñado para compilar diversas aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C# permiten desarrollar aplicaciones rápidamente y mantener la expresividad y elegancia de los lenguajes de estilo de C. Visual C# es una implementación del lenguaje C# de Microsoft. Visual Studio admite Visual C# con un editor de código con características más completas, compilador, plantillas de proyecto, diseñadores, asistentes de código, un depurador eficaz y fácil de usar, y otras herramientas. La biblioteca de clases de .NET Framework ofrece acceso a numerosos servicios de sistema operativo y a otras clases útiles y adecuadamente diseñadas que aceleran el ciclo de desarrollo. Algunos de los desarrolladores de los distintos lenguajes de programación son:
  • 9. 1- Java (James Gosling) 2- C (Ken Thompson Left & Dennis Ritchie Right)
  • 10. 3- C++ (Bjarne Stroustrup) 4- Python (Guido van Rossum)
  • 11. 5- Fortran (John W. Backus) 6- Linux Kernel (Linus Benedict Torvalds) 7- Perl (Larry Wall)
  • 12. 8- C# (equipo de desarrollo liderado por Anders Hejlsberg) 9- Ruby (Yukihiro Matsumoto)
  • 13. 10- Ruby on Rails (RoR) (David Heinemeier Hansson) 11- JavaScript (Brendan Eich) 12- PHP (Rasmus Lerdorf)

×