programacion ii

15
XISTEN VARIAS CLASES DE PROGRAMACIÓN, DEPENDIENDO DE LOS MÉTODOS UTILIZADOS Y LAS TÉCNICAS EMPLEADAS. Los tipos o técnicas de programación son bastante variados, aunque los lectores sólo conozcan una metodología para realizar programas. casos, las técnicas se centran en programación modular y programaci existen otros tipos de programación. Los explicaremos a lo largo de Programación estructurada (PE) La programación estructurada esta compuesta por un conjunto de técn evolucionando aumentando considerablemente la productividad del pro tiempo de depuración y mantenimiento del mismo. Esta programación estructurada utiliza un nmero limitado de estruc reduciendo así considerablemente los errores. Esta técnica incorpora! "ise#o descendente $top%do&'! el problema se descompone en eta jer(rquicas. )ecursos abstractos $simplicidad'! consiste en descompones las en otras m(s simples capaces de ser resueltas con mayor *acili Estructuras b(sicas! existen tres tipos de estructuras b(sicas o Estructuras secuénciales! cada acción sigue a otra acción La salida de una acción es la entrada de otra. o Estructuras selectivas! en estas estructuras se evalan la *unción del resultado de las mismas se realizan unas accio utilizan expresiones lógicas. o Estructuras repetitivas! son secuencias de instrucciones q nmero determinado de veces. Las principales ventajas de la programación estructurada son! Los programas son mas *(ciles de entender +e reduce la complejidad de las pruebas umenta la productividad del programador

Upload: edgar-huayaney

Post on 03-Nov-2015

2 views

Category:

Documents


0 download

DESCRIPTION

ejemplo para programacion 2

TRANSCRIPT

XISTEN VARIAS CLASES DE PROGRAMACIN, DEPENDIENDO DE LOS MTODOS UTILIZADOS Y LAS TCNICAS EMPLEADAS.Los tipos o tcnicas de programacin son bastante variados, aunque puede que muchos de los lectores slo conozcan una metodologa para realizar programas. En la mayora de los casos, las tcnicas se centran en programacin modular y programacin estructurada, pero existen otros tipos de programacin. Los explicaremos a lo largo del artculo.

Programacin estructurada (PE)

La programacin estructurada esta compuesta por un conjunto de tcnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuracin y mantenimiento del mismo.

Esta programacin estructurada utiliza un nmero limitado de estructuras de control, reduciendo as considerablemente los errores.

Esta tcnica incorpora: Diseo descendente (top-dow): el problema se descompone en etapas o estructuras jerrquicas. Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras ms simples capaces de ser resueltas con mayor facilidad. Estructuras bsicas: existen tres tipos de estructuras bsicas: Estructuras secunciales: cada accin sigue a otra accin secuencialmente. La salida de una accin es la entrada de otra. Estructuras selectivas: en estas estructuras se evalan las condiciones y en funcin del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lgicas. Estructuras repetitivas: son secuencias de instrucciones que se repiten un nmero determinado de veces.

Las principales ventajas de la programacin estructurada son: Los programas son mas fciles de entender Se reduce la complejidad de las pruebas Aumenta la productividad del programador Los programas queden mejor documentados internamente.

Un programa esta estructurado si posee un nico punto de entrada y slo uno de salida, existen de "1 a n" caminos desde el principio hasta el fin del programa y por ltimo, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.

Programacin modular

En la programacin modular consta de varias secciones dividas de forma que interactan a travs de llamadas a procedimientos, que integran el programa en su totalidad.

En la programacin modular, el programa principal coordina las llamadas a los mdulos secundarios y pasa los datos necesarios en forma de parmetros.

A su vez cada modulo puede contener sus propios datos y llamar a otros mdulos o funciones.

Programacin orientada a objetos (POO)

Se trata de una tcnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilizacin de los objetos.

El elemento principal de la programacin orientada a objetos es el objeto. El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organizacin. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.

El polimorfismo y la herencia son unas de sus principales caractersticas y por ello dedicaremos ms adelante un artculo exclusivamente a tratar estos dos trminos.

En DesarrolloWeb.com hemos publicado anteriormente una explicacin de lo que es la programacin orientada a objetos.

Programacin concurrente

Este tipo de programacin se utiliza cuando tenemos que realizar varias acciones a la vez.

Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultanea.

Se trata de una programacin ms lenta y laboriosa, obteniendo unos resultados lentos en las acciones.

Programacin funcional

Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.

Programacin lgica

Se suele utilizar en la inteligencia artificial y pequeos programas infantiles. Se trata de una programacin basada en el clculo de predicados (una teora matemtica que permite lograr que un ordenador basndose en hecho y reglas lgicas, pueda dar soluciones inteligentes).ProgramacinSaltar a: navegacin, bsqueda Para otros usos de la palabra, vase Programacin (msica).La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente de programas computacionales. El cdigo fuente es escrito en un lenguaje de programacin. El propsito de la programacin es crear programas que exhiban un comportamiento deseado. El proceso de escribir cdigo requiere frecuentemente conocimientos en varias reas distintas, adems del dominio del lenguaje a utilizar, algoritmos especializados y lgica formal. Programar no involucra necesariamente otras tareas tales como el anlisis y diseo de la aplicacin (pero s el diseo del cdigo), aunque s suelen estar fusionadas en el desarrollo de pequeas aplicaciones.HistoriaPara crear un programa, y que la computadora lo interprete y ejecute las instrucciones escritas en l, debe usarse un lenguaje de programacin. En sus inicios las computadoras interpretaban slo instrucciones en un lenguaje especfico, del ms bajo nivel, conocido como cdigo mquina, siendo ste excesivamente complicado para programar. De hecho slo consiste en cadenas de nmeros 1 y 0 (sistema binario). Para facilitar el trabajo de programacin, los primeros cientficos que trabajaban en el rea decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del ingls; las codificaron y crearon as un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es bsicamente lo mismo que hacerlo en lenguaje mquina, pero las letras y palabras son bastante ms fciles de recordar y entender que secuencias de nmeros binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un mtodo sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos nmeros puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar con solo una. Una vez que se termina de escribir un programa, sea en ensamblador o en un lenguaje de alto nivel, es necesario compilarlo, es decir, traducirlo a lenguaje mquina.1Lxico y programacinLa programacin se rige por reglas y un conjunto ms o menos reducido de rdenes, expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural acotada (en ingls); y que adems tienen la particularidad de una reducida ambigedad. Cuanto menos ambiguo es un lenguaje de programacin, se dice, es ms potente. Bajo esta premisa, y en el extremo, el lenguaje ms potente existente es el binario, con ambigedad nula (lo cual lleva a pensar as del lenguaje ensamblador).En los lenguajes de programacin de alto nivel se distinguen diversos elementos entre los que se incluyen el lxico propio del lenguaje y las reglas semnticas y sintcticas.Programas y algoritmosUn algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programacin concreto) uno o ms algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma grfica, como un diagrama de flujo, en forma de cdigo como en pseudocdigo o un lenguaje de programacin, en forma explicativa, etc.Los programas suelen subdividirse en partes menores, llamadas mdulos, de modo que la complejidad algortmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una prctica muy utilizada y se conoce como "refino progresivo".Segn Niklaus Wirth, un programa est formado por los algoritmos y la estructura de datos.Se han propuesto diversas tcnicas de programacin cuyo objetivo es mejorar tanto el proceso de creacin de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes: programacin declarativa programacin estructurada programacin modular programacin orientada a objetosCompilacinEl programa escrito en un lenguaje de programacin (fcilmente comprensible por el programador) es llamado programa fuente y no se puede ejecutar directamente en una computadora. La opcin ms comn es compilar el programa obteniendo un mdulo objeto, aunque tambin puede ejecutarse en forma ms directa a travs de un intrprete informtico.El cdigo fuente del programa se debe someter a un proceso de traduccin para convertirlo en lenguaje mquina, cdigo est directamente ejecutable por el procesador. A este proceso se le llama compilacin.Habitualmente la creacin de un programa ejecutable (un tpico.exe para Microsoft Windows o DOS) conlleva dos pasos. El primer paso se llama compilacin (propiamente dicho) y traduce el cdigo fuente escrito en un lenguaje de programacin almacenado en un archivo a cdigo en bajo nivel (normalmente en cdigo objeto, no directamente a lenguaje mquina). El segundo paso se llama enlazado en el cual se enlaza el cdigo de bajo nivel generado de todos los ficheros y subprogramas que se han mandado compilar y se aade el cdigo de las funciones que hay en las bibliotecas del compilador para que el ejecutable pueda comunicarse directamente con el sistema operativo, traduciendo as finalmente el cdigo objeto a cdigo mquina, y generando un mdulo ejecutable.Estos dos pasos se pueden hacer por separado, almacenando el resultado de la fase de compilacin en archivos objetos (un tpico.obj para Microsoft Windows, DOS o para Unix); para enlazarlos en fases posteriores, o crear directamente el ejecutable; con lo que la fase de compilacin se almacena slo temporalmente. Un programa podra tener partes escritas en varios lenguajes (por ejemplo C, C++ y ensamblador), que se podran compilar de forma independiente y luego enlazar juntas para formar un nico mdulo ejecutable.Programacin e ingeniera del softwareExiste una tendencia a identificar el proceso de creacin de un programa informtico con la programacin, que es cierta cuando se trata de programas pequeos para uso personal, y que dista de la realidad cuando se trata de grandes proyectos.El proceso de creacin de software, desde el punto de vista de la ingeniera, incluye los siguientes pasos:1. Reconocer la necesidad de un programa para solucionar un problema o identificar la posibilidad de automatizacin de una tarea.2. Recoger los requisitos del programa. Debe quedar claro qu es lo que debe hacer el programa y para qu se necesita.3. Realizar el anlisis de los requisitos del programa. Debe quedar claro cmo debe realizar el programa las cosas que debe hacer. Las pruebas que comprueben la validez del programa se pueden especificar en esta fase.4. Disear la arquitectura del programa. Se debe descomponer el programa en partes de complejidad abordable.5. Implementar el programa. Consiste en realizar un diseo detallado, especificando completamente todo el funcionamiento del programa, tras lo cual la codificacin (programacin propiamente dicha) debera resultar inmediata.6. Implantar (instalar) el programa. Consiste en poner el programa en funcionamiento junto con los componentes que pueda necesitar (bases de datos, redes de comunicaciones, etc.).La ingeniera del software se centra en los pasos de planificacin y diseo del programa, mientras que antiguamente (programacin artesanal) la realizacin de un programa consista casi nicamente en escribir el cdigo, bajo slo el conocimiento de los requisitos y con una modesta fase de anlisis y diseo.Referencias histricasLa primera programadora de computadoras conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemticas a Ada quien, despus de conocer a Charles Babbage, tradujo y ampli una descripcin de su mquina analtica. Incluso, aunque Babbage nunca complet la construccin de cualquiera de sus mquinas, el trabajo que Ada realiz con stas le hizo ganarse el ttulo de primera programadora de computadoras del mundo. El nombre del lenguaje de programacin Ada fue escogido como homenaje a esta programadora.Este proceso est aplicado a todos los mtodos cientficos que actualmente se practican.Objetivos de la programacinLa programacin debe perseguir la obtencin de programas de calidad. Para ello se establece una serie de factores que determinan la calidad de un programa. Algunos de los factores de calidad ms importantes son los siguientes: Correccin. Un programa es correcto si hace lo que debe hacer tal y como se estableci en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qu debe hacer el programa antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace. Claridad. Es muy importante que el programa sea lo ms claro y legible posible, para facilitar as su desarrollo y posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, as como cuidar el estilo en la edicin; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de creacin como en las fases posteriores de correccin de errores, ampliaciones, modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador, con lo cual la claridad es an ms necesaria para que otros programadores puedan continuar el trabajo fcilmente. Algunos programadores llegan incluso a utilizar Arte ASCII para delimitar secciones de cdigo. Otros, por diversin o para impedir un anlisis cmodo a otros programadores, recurren al uso de cdigo ofuscado. Eficiencia. Se trata de que el programa, adems de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a la cantidad de memoria que necesita, pero hay otros recursos que tambin pueden ser de consideracin al obtener la eficiencia de un programa, dependiendo de su naturaleza (espacio en disco que utiliza, trfico de red que genera, etc.). Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aqulla en la que se elabor. La portabilidad es una caracterstica muy deseable para un programa, ya que permite, por ejemplo, a un programa que se ha desarrollado para sistemas GNU/Linux ejecutarse tambin en la familia de sistemas operativos Windows. Esto permite que el programa pueda llegar a ms usuarios ms fcilmente.Ciclo de vida del softwareArtculo principal: Proceso para el desarrollo de software.El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propsito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicacin, es decir, para garantizar que el software cumpla los requisitos para la aplicacin y verificacin de los procedimientos de desarrollo: se asegura de que los mtodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementacin. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementacin y en los costos asociados. El ciclo de vida bsico de un software consta de los siguientes procedimientos: Definicin de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Anlisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restriccin que se pueda aplicar. Diseo general: requisitos generales de la arquitectura de la aplicacin. Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin. Programacin (programacin e implementacin): es la implementacin de un lenguaje de programacin para crear las funciones definidas durante la etapa de diseo. Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se implementaron de acuerdo con las especificaciones. Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito de la prueba de integracin que est cuidadosamente documentada. Prueba beta (o validacin), para garantizar que el software cumple con las especificaciones originales. Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para desarrollos futuros. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicacin dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

Tcnicas de codificacin y prcticas de programacinVisual Studio .NET 2003 Personas que lo han encontrado til: 1 de 2 - Valorar este tema Los rasgos distintivos de un programador profesional son su alto dominio de las tcnicas y las prcticas de programacin. El fundamento de la programacin radica en tomar muchas pequeas decisiones que sirvan para resolver colectivamente una gran cantidad de problemas. La habilidad y experiencia del programador son las que determinarn en mayor medida lo acertado de estas decisiones.En esta seccinRevisiones de cdigo y estndares de codificacinExplica cmo las revisiones de cdigo y los estndares de codificacin ayudan a reforzar la tcnica de programacin apropiada.Tcnicas de codificacinProporciona una lista de tcnicas de codificacin habituales.Secciones relacionadasConvenciones de cdigo y estructura de programasReproduce una lista de las convenciones de programacin relacionadas especficamente con Visual Basic.Convenciones de cdigo de VBScriptReproduce una lista de las convenciones de programacin relacionadas especficamente con Visual Basic Scripting Edition.Resolver problemas debidos a tcnicas de codificacin de CExplica tcnicas de programacin relacionadas con la portabilidad del cdigo.Editar Cdigo, HTML y TextoEditar cdigo con el editor de cdigo de Visual Studio.Documentacin XMLUsar XML para crear comentarios de documentacin entre lneas en C#.

Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en ingls) para sistemas operativos Windows. Soporta varios lenguajes de programacin tales como Visual C++, Visual C#, Visual J#, y Visual Basic .NET, al igual que entornos de desarrollo web como ASP.NET. aunque actualmente se han desarrollado las extensiones necesarias para muchos otros.Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, as como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versin .NET 2002). As se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, pginas web y dispositivos mviles.A partir de la versin 2005 Microsoft ofrece gratuitamente las Express Editions, que son varias ediciones bsicas separadas por lenguajes de programacin o plataforma enfocadas para novatos y entusiastas. Estas ediciones son iguales al entorno de desarrollo comercial pero sin caractersticas avanzadas. Dichas ediciones son: Visual Basic Express Edition Visual C# Express Edition Visual C++ Express Edition Visual J# Express Edition (Desapareci en Visual Studio 2008) Visual Web Developer Express Edition (para programar en ASP.NET) Visual F# (Apareci en Visual Studio 2010, es parecido al J#)*Adicionalmente, Microsoft ha puesto gratuitamente a disposicin de todo el mundo una versin reducida de MS SQL Server llamada SQL Server Express Edition cuyas principales limitaciones son que no soporta bases de datos superiores a 4 GB de tamao, nicamente se ejecuta en un procesador y emplea 1 GB de RAM como mximo, y no cuenta con el Agente de SQL Server.En el pasado se incluyeron los siguientes productos: Visual InterDev Visual J++ Visual FoxPro Visual SourceSafeHistoriaVisual Studio 6.0Artculo principal: Microsoft Visual Studio 6.Se lanz en 1998 y fue la ltima versin en ejecutarse en la plataforma Win9x.1 Los nmeros de versin 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 versin fue la base para el sistema de desarrollo de Microsoft para los siguientes 4 aos, en los que Microsoft migr su estrategia de desarrollo al .NET Framework.Visual Studio 6.0 fue la ltima versin en que Visual Basic se inclua de la forma en que se conoca hasta entonces; versiones posteriores incorporaran una versin muy diferente del lenguaje con muchas mejoras, fruto de la plataforma .NET. Tambin supuso la ltima versin en incluir Visual J++, que proporcionaba extensiones de la plataforma Java, lo que lo haca incompatible con la versin de Sun Microsystems. Esto acarre problemas legales a Microsoft, y se lleg a un acuerdo en el que Microsoft dejaba de comercializar herramientas de programacin que utilizaran la mquina virtual de Java.Aunque el objetivo a largo plazo de Microsoft era unificar todas las herramientas en un nico entorno, esta versin en realidad aada un entorno ms 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 seguan manteniendo su entorno especfico.Visual Studio .NET (2002)En esta versin se produjo un cambio sustancial, puesto que supuso la introduccin de la plataforma .NET de microsoft. .NET es una plataforma de ejecucin intermedia multilenguaje, de forma que los programas desarrollados en .NET no se compilan en lenguaje mquina, sino en un lenguaje intermedio (CIL - Common Intermediate Language) denominado Microsoft Intermediate Language (MSIL). En una aplicacin MSIL, el cdigo no se convierte a lenguaje mquina hasta que sta se ejecuta, de manera que el cdigo puede ser independiente de plataforma (al menos de las soportadas actualmente por .NET). Las plataformas han de tener una implementacin de Infraestructura de Lenguaje Comn (CLI) para poder ejecutar programas MSIL. Actualmente se pueden ejecutar programas MSIL en Linux y Mac OS X usando implementaciones de .NET que no son de Microsoft, tales cmo Mono y DotGNU.Visual Studio .NET 2002 supuso tambin la introduccin del lenguaje C#, un lenguaje nuevo diseado especficamente para la plataforma .NET, basado en C++ y Java. Se present tambin el lenguaje J# (sucesor de J++), el cual, en lugar de ejecutarse en una mquina virtual de Java, se ejecuta nicamente en el framework .NET. El lenguaje Visual Basic fue remodelado completamente y evolucion para adaptarse a las nuevas caractersticas de la plataforma .NET, hacindolo mucho ms verstil y dotndolo con muchas caractersticas de las que careca. Algo similar se llev a cabo con C++, aadiendo extensiones al lenguaje llamadas Managed Extensions for C++ con el fin de que los programadores pudieran crear programas en .NET. Por otra parte, Visual FoxPro pasa a comercializarse por separado.Todos los lenguajes se unifican en un nico entorno. La interfaz se mejora notablemente en esta versin, siendo ms limpia y personalizable.Visual Studio .NET puede usarse para crear programas basados en Windows (usando Windows Forms en vez de COM), aplicaciones y sitios web (ASP.NET y servicios web), y dispositivos mviles (usando el .NET Compact Framework).Esta versin requiere un sistema operativo basado en NT. La versin interna de Visual Studio .NET es la 7.0.Visual Studio .NET 2003Visual Studio .NET 2003 supone una actualizacin menor de Visual Studio .NET. Se actualiza el .NET Framework a la versin 1.1. Tambin se aade soporte con el fin de escribir aplicaciones para determinados dispositivos mviles, ya sea con ASP.NET o con el .NET Compact Framework. Adems, el compilador de Visual C++ se mejora para cumplir con ms estndares: el Visual C++ Toolkit 2003.Visual Studio 2003 se lanza en 4 ediciones: Academic, Professional, Enterprise Developer y Enterprise Architect. La edicin Enterprise Architect inclua una implementacin de la tecnologa de modelado Microsoft Visio, que se centraba en la creacin de representaciones visuales de la arquitectura de la aplicacin basadas en UML. Tambin se introdujo "Enterprise Templates", para ayudar a grandes equipos de trabajo a estandarizar estilos de programacin e impulsar polticas de uso de componentes y asignacin de propiedades.Microsoft lanz el Service Pack 1 para Visual Studio 2003 el 13 de septiembre de 2006.La versin interna de Visual Studio .NET 2003 es la 7.1 aunque el formato del archivo que emplea es el 8.0.Es compatible solo con Windows XP, Windows Server 2003 o anterioresVisual Studio 2005Visual Studio 2005 se empez a comercializar a travs de Internet a partir del 4 de octubre de 2005 y lleg a los comercios a finales del mes de octubre en ingls. En castellano no sali hasta el 4 de febrero de 2006. Microsoft elimin la coletilla .NET de su nombre, pero eso no indica que se alejara de la plataforma .NET, de la cual se incluy la versin 2.0.La actualizacin ms importante que recibieron los lenguajes de programacin fue la inclusin de tipos genricos, similares en muchos aspectos a las plantillas de C++. Con esto se consigue encontrar muchos ms errores en la compilacin en vez de en tiempo de ejecucin, incitando a usar comprobaciones estrictas en reas donde antes no era posible. C++ tiene una actualizacin similar con la adicin de C++/CLI como sustituto de C# manejado.Se incluye un diseador de implantacin, que permite que el diseo de la aplicacin sea validado antes de su implantacin. Tambin se incluye un entorno para publicacin web y pruebas de carga para comprobar el rendimiento de los programas bajo varias condiciones de carga.Visual Studio 2005 tambin aade soporte para arquitecturas de 64 bits. Aunque el entorno de desarrollo sigue siendo una aplicacin de 32 bits, Visual C++ 2005 soporta compilacin para x86-64 (AMD64, Intel 64) e IA-64 (Itanium). El SDK incluye compiladores de 64 bits as como versiones de 64 bits de las libreras.Visual Studio 2005 tiene varias ediciones radicalmente distintas entre s: Express, Standard, Professional, Tools for Office y 5 ediciones Visual Studio Team System. stas ltimas se proporcionaban conjuntamente con suscripciones a MSDN cubriendo los 4 principales roles de la programacin: Architects, Software Developers, Testers y Database Professionals. La funcionalidad combinada de las 4 ediciones Team System se ofreca como la edicin Team Suite. Por otra parte, Tools for the Microsoft Office System est diseada para extender la funcionalidad a Microsoft Office.Las ediciones Express se han diseado para principiantes, aficionados y pequeos negocios, todas disponibles gratuitamente a travs de la pgina de Microsoft.2 Se incluye una edicin independiente para cada lenguaje: Visual Basic, Visual C++, Visual C#, Visual J# para programacin .NET en Windows y Visual Web Developer para la creacin de sitios web ASP.NET. Las ediciones Express carecen de algunas herramientas avanzadas de programacin as como de opciones de extensibilidad.Se lanz el Service Pack 1 para Visual Studio 2005 el 14 de diciembre de 2006.La versin interna de Visual Studio 2005 es la 8.0, mientras que el formato del archivo que emplea es la 9.0.Visual Studio 2008Visual Studio 2008 fue publicado (RTM) el 17 de noviembre de 2007 en ingls, mientras que la versin en castellano no fue publicada hasta el 2 de febrero de 2008.3El nuevo framework (.NET 3.5) est diseado para aprovechar las ventajas que ofrece el nuevo sistema operativo Windows Vista a travs de sus subsistemas Windows Communication Foundation (WCF) y Windows Presentation Foundation (WPF). El primero tiene como objetivo la construccin de aplicaciones orientadas a servicios, mientras que el ltimo apunta a la creacin de interfaces de usuario ms dinmicas que las conocidas hasta el momento.4A las mejoras de desempeo, escalabilidad y seguridad con respecto a la versin anterior, se agregan, entre otras, las siguientes novedades: La mejora en las capacidades de pruebas unitarias permiten ejecutarlas ms rpido independientemente de si lo hacen en el entorno IDE o desde la lnea de comandos. Se incluye adems un nuevo soporte para diagnosticar y optimizar el sistema a travs de las herramientas de pruebas de Visual Studio. Con ellas se podrn ejecutar perfiles durante las pruebas para que ejecuten cargas, prueben procedimientos contra un sistema y registren su comportamiento, y utilizar herramientas integradas para depurar y optimizar. Con Visual Studio Tools for Office (VSTO) integrado con Visual Studio 2008 es posible desarrollar rpidamente aplicaciones de alta calidad basadas en la interfaz de usuario (UI) de Office que personalicen la experiencia del usuario y mejoren su productividad en el uso de Word, Excel, PowerPoint, Outlook, Visio, InfoPath y Project. Una completa compatibilidad para implementacin con ClickOnce garantiza el entorno ideal para una fcil instalacin y mantenimiento de las soluciones Office. Visual Studio 2008 permite incorporar caractersticas del nuevo Windows Presentation Foundation sin dificultad tanto en los formularios de Windows existentes como en los nuevos. Ahora es posible actualizar el estilo visual de las aplicaciones al de Windows Vista debido a las mejoras en Microsoft Foundation Class Library (MFC) y Visual C++. Visual Studio 2008 permite mejorar la interoperabilidad entre cdigo nativo y cdigo manejado por .NET. Esta integracin ms profunda simplificar el trabajo de diseo y codificacin. LINQ (Language Integrated Query) es un nuevo conjunto de herramientas diseado para reducir la complejidad del acceso a bases de datos a travs de extensiones para C++ y Visual Basic, as como para Microsoft .NET Framework. Permite filtrar, enumerar, y crear proyecciones de muchos tipos y colecciones de datos utilizando todos la misma sintaxis, prescindiendo del uso de lenguajes especializados. Visual Studio 2008 ahora permite la creacin de soluciones multiplataforma adaptadas para funcionar con las diferentes versiones de .NET Framework: 2.0 (incluido con Visual Studio 2005), 3.0 (incluido en Windows Vista) y 3.5 (incluido con Visual Studio 2008). .NET Framework 3.5 incluye la biblioteca ASP.NET AJAX para desarrollar aplicaciones web ms eficientes, interactivas y altamente personalizadas que funcionen para todos los navegadores ms populares y utilicen las ltimas tecnologas y herramientas Web, incluyendo Silverlight y Popfly.Visual Studio 2010Visual Studio 2010 es la versin ms reciente de esta herramienta, acompaada por .NET Framework 4.0. La fecha del lanzamiento de la versin final fue el 12 de abril de 2010.5Hasta ahora, uno de los mayores logros de la versin 2010 de Visual Studio ha sido el de incluir las herramientas para desarrollo de aplicaciones para Windows 7, tales como herramientas para el desarrollo de las caractersticas de Windows 7 (System.Windows.Shell) y la Ribbon Preview para WPF.Entre sus ms destacables caractersticas, se encuentran la capacidad para utilizar mltiples monitores, as como la posibilidad de desacoplar las ventanas de su sitio original y acoplarlas en otros sitios de la interfaz de trabajo.Adems ofrece la posibilidad de crear aplicaciones para muchas plataformas de Microsoft, como Windows, Azure, Windows Phone 7 o Sharepoint. Microsoft ha sido sensible a la nueva tendencia de las pantallas tctiles y con este Visual Studio 2010 tambin es posible desarrollar aplicativos para pantallas multitctiles.Entre las ediciones disponibles de Visual Studio 2010 que podemos adquirir se encuentran:Visual Studio 2010 Ultimate: Conjunto completo de herramientas de gestin del ciclo de vida de una aplicacin para los equipos que garantizan unos resultados de calidad, desde el diseo hasta la implementacin. Ya sea creando nuevas soluciones o mejorando las aplicaciones existentes, Visual Studio 2010 Ultimate le permite llevar sus ideas a la vida en un nmero creciente de plataformas y tecnologas - incluyendo la nube y la computacin paralela.Visual Studio 2010 Premium: Un conjunto de herramientas completo que simplifica el desarrollo de aplicaciones para personas o equipos que entregan aplicaciones escalables de alta calidad. Que este escribiendo codigo de aplicaciones o de bases de datos, creando bases de datos, o quitando los errores, puede aumentar su productividad usando herramientas poderosas que funcionan de la manera que usted trabaja.Visual Studio 2010 Professional: La herramienta esencial para las personas que realizan tareas de desarrollo bsico. Visual Studio 2010 Professional simplifica la compilacin, la depuracin y el despliegue de las aplicaciones en una variedad de plataformas incluyendo SharePoint y la Nube. Tambin viene con el soporte integrado para el desarrollo con pruebas y con las herramientas de depuracin que ayudan a garantizar unas soluciones de alta calidad.Visual Studio Team Foundation Server 2010: Una plataforma de colaboracin en el centro de la solucin de gestin del ciclo de vida de una aplicacin (ALM) de Microsoft. Team Foundation Server 2010 automatiza el proceso de entrega del software y le da las herramientas que necesita para gestionar eficazmente los proyectos de desarrollo de software a travs del ciclo de vida de IT.Visual Studio Test Professional 2010: Visual Studio Test Professional 2010 es un conjunto de herramientas integrado que entrega un flujo de trabajo completo planificar-probar-seguir para una colaboracin en contexto entre los probadores y los desarrolladores, aumentando considerablemente la visibilidad de los probadores en la globalidad del proyecto.Visual Studio Team Explorer Everywhere 2010: Permite a los equipos de desarrollo colaborar fcilmente entre las plataformas. Team Explorer Everywhere 2010 contiene las herramientas y los plug-ins necesarios para acceder a Visual Studio Team Foundation Server 2010 desde dentro de los entornos basados en Eclipse, de manera que todo el mundo puede trabajar juntos y lograr los objetivos del negocio.Visual Studio 2012Esta informacin hace referencia al 24 de mayo 2012, en esta fecha fue dado a conocer la Release Candidate del nuevo entorno de programacin de "Windows", cual integra completo soporte para el actual y en fase de desarrollo Windows 8, Microsoft Visual Studio 2012 RC tiene como caractersticas el desarrollo completo e integro en el estilo Modern UI de Windows 8, adems soporte para antiguas versiones de Windows al estilo clsico. Visual Studio 2012 ya se encuentra disponible en su ltima versin que sera la Ultimate puede ser descargado y probado desde la pagina de Microsoft.