La elección de un lenguaje de programación depende de sus conocimientos del lenguaje y del ámbito de la aplicación que está generando. Las aplicaciones de pequeño tamaño se suelen crear utilizando un único lenguaje, y es frecuente implementar aplicaciones grandes utilizando varios lenguajes.
Por ejemplo, si está ampliando una aplicación con servicios Web de XML existentes, podría utilizar un lenguaje de secuencias que no requiera apenas tareas de programación. Para aplicaciones cliente-servidor, utilizaría probablemente el lenguaje del que tiene más conocimientos para toda la aplicación. Para nuevas aplicaciones empresariales, donde un equipo grande de programadores crea componentes y servicios para implementarlos en varios sitios remotos, la mejor opción sería utilizar varios lenguajes dependiendo de los conocimientos de los programadores y de las expectativas de mantenimiento a largo plazo.
Los lenguajes de programación de la plataforma .NET, incluidos Visual Basic .NET, Visual C# y las Extensiones administradas de C++, y otros lenguajes de distintos fabricantes, utilizan los servicios y características de .NET Framework a través de un conjunto común de clases unificadas. Las clases unificadas de .NET proporcionan un método coherente de acceso a la funcionalidad de la plataforma. Si aprende a utilizar la biblioteca de clases, observará que todas las tareas siguen la misma arquitectura uniforme. Ya no necesitará aprender ni administrar distintas arquitecturas API para escribir las aplicaciones.
En la mayoría de las situaciones, puede utilizar de manera eficiente todos los lenguajes de programación de Microsoft. Sin embargo, cada lenguaje de programación tiene sus puntos fuertes, y es recomendable comprender las características únicas para cada uno de ellos. Las secciones siguientes le ayudarán a seleccionar el lenguaje de programación que mejor se ajuste a su aplicación.
Visual Basic .NET
Visual Basic .NET es la nueva generación del lenguaje Visual Basic de Microsoft. Con Visual Basic puede generar aplicaciones .NET, incluyendo servicios Web y aplicaciones Web de ASP.NET, rápida y fácilmente. Las aplicaciones construidas con Visual Basic se generan con los servicios de Common Language Runtime y se benefician de .NET Framework.
Visual Basic tiene una gran cantidad de características nuevas y mejoradas como la herencia, las interfaces y la sobrecarga que la convierten en un lenguaje eficaz de programación orientado a objetos. Otras características nuevas del lenguaje son el subprocesamiento libre y el control de excepciones estructurado. Visual Basic integra .NET Framework y Common Language Runtime completamente, que conjuntamente proporcionan interoperabilidad del lenguaje, recolección de elementos no utilizados, seguridad ampliada y compatibilidad de versiones mejorada. Visual Basic admite herencia única y crea lenguaje intermedio de Microsoft (MSIL) como entrada de compiladores de código nativo.
Visual Basic es, comparativamente, fácil de aprender y utilizar, y se ha convertido en el lenguaje de programación elegido por cientos de programadores durante la pasada década. El conocimiento de Visual Basic se puede aprovechar de distintas maneras, por ejemplo, escribiendo macros en Visual Studio o programando en aplicaciones como Microsoft Excel, Access y Word.
Visual Basic proporciona prototipos de algunos de los tipos de proyectos más comunes, incluyendo:
- Aplicación para Windows.
- Biblioteca de clases.
- Biblioteca de control de Windows.
- Aplicación Web ASP.NET.
- Servicio Web ASP.NET.
- Biblioteca de control Web.
- Aplicación de consola.
- Servicio de Windows.
Para obtener más información, vea Lenguaje Visual Basic y Automatizar acciones repetitivas mediante macros.
Visual C# .NET
Visual C# (pronunciado «C sharp») está diseñado para crear de manera rápida y fácil aplicaciones .NET, incluyendo servicios Web y aplicaciones Web ASP.NET. Las aplicaciones escritas en Visual C# se generan con los servicios de Common Language Runtime y se benefician de .NET Framework.
C# es un lenguaje orientado a objetos simple, elegante y con seguridad en el tratamiento de tipos que acaba de implementar Microsoft para generar una gran variedad de aplicaciones. Cualquiera que esté familiarizado con C y lenguajes similares, encontrará pocos problemas para adaptarse a C#. C# está diseñado para que el programador de C++ haga desarrollos rápidos, sin sacrificar la potencia y el control que constituyen el sello de C y C++. Gracias a esta herencia, C# tiene un alto grado de fidelidad con C y C++, y los programadores familiarizados con estos lenguajes pueden ser rápidamente productivos en C#. C# proporciona mecanismos intrínsecos de código de confianza para obtener un nivel alto de seguridad, la recolección de elementos no utilizados y la seguridad de tipos. C# admite herencia única y crea lenguaje intermedio de Microsoft (MSIL) como entrada de compiladores de código nativo.
C# está completamente integrado con .NET Framework y Common Language Runtime, que conjuntamente proporcionan interoperabilidad del lenguaje, recolección de elementos no utilizados, seguridad ampliada y compatibilidad de versiones mejorada. C# simplifica y moderniza algunos de los aspectos más complejos de C y C++, como los espacios de nombres, las clases, las enumeraciones, la sobrecarga y el control estructurado de excepciones. C# también elimina ciertas características de C y C++ como macros, herencia múltiple y clases base virtuales. Para los programadores de C++ actuales, C# proporciona un lenguaje alternativo de gran potencia y productividad.
Visual C# proporciona prototipos de algunos de los tipos de proyectos más comunes, incluyendo:
- Aplicación para Windows.
- Biblioteca de clases.
- Biblioteca de control de Windows.
- Aplicación Web ASP.NET.
- Servicio Web ASP.NET.
- Biblioteca de control Web.
- Aplicación de consola.
- Servicio de Windows.
Para obtener más información, vea Características de Visual C# Standard y Un paseo por el lenguaje C#.
Visual C++ .NET
Visual C++ .NET es la nueva generación del lenguaje Visual C++ de Microsoft. Visual C++ siempre se ha considerado el mejor lenguaje para crear aplicaciones de alto rendimiento para Microsoft Windows y World Wide Web.
Visual C++ proporciona un número importante de bibliotecas que le ayudan a escribir código para las aplicaciones, incluyendo la biblioteca ATL (Active Template Library, un conjunto de clases de C++ basadas en plantillas para objetos COM), Servidor Active Template Library (un conjunto de clases de C++ nativo para crear aplicaciones Web, servicios Web y otras aplicaciones de servidor) y Microsoft Foundation Classes (un conjunto de clases compatibles con aplicaciones escritas para la API de Windows).
Visual C++ proporciona prototipos de algunos de los tipos de proyectos más comunes, incluyendo:
- Proyecto de biblioteca ATL (Active Template Library).
- Proyecto de servidor ATL.
- Servicio Web de servidor ATL.
- Asistente personalizado para aplicaciones.
- Archivo DLL para procedimientos almacenados extendidos.
- Proyecto de archivos MAKE.
- Servicio Web ASP.NET
- Biblioteca de clases (.NET)
- Aplicación de consola (.NET)
- Biblioteca de controles de Windows (.NET)
- Aplicación de formularios Windows Forms (.NET)
- Servicio de Windows (.NET)
- Control ActiveX de biblioteca MFC (Microsoft Foundation Classes).
- Aplicación MFC.
- Archivo DLL de MFC.
- Archivo DLL de extensión ISAPI MFC.
- Proyecto Win32.
Para obtener más información, vea Visual C++ y Visual C++ .NET Standard.
Extensiones administradas de C++
Si está creando una nueva aplicación o componente, puede utilizar sus conocimientos actuales de C++ para escribir código administrado con las extensiones administradas de C++. Cuando utiliza las extensiones administradas, obtiene los beneficios de la compatibilidad y de los servicios que proporciona Common Language Runtime (como la administración de memoria, integración entre lenguajes, seguridad de acceso a código y control automático de la vida de los objetos).
Las extensiones administradas de C++ también permiten integrar aplicaciones existentes en .NET Framework de una manera sencilla. Por ejemplo, es posible que necesite portar código no administrado a .NET. Como ya ha compilado previamente bibliotecas estáticas y vinculadas, archivos DLL y distintas clases de C++ no administradas, sólo necesita compilar el código Win32 existente como una aplicación .NET. Después, si dispone de tiempo, puede rediseñar los componentes para beneficiarse de las características del código administrado.
Para obtener más información, vea Extensiones administradas de la programación en C++.
Transact-SQL
Transact-SQL es el lenguaje nativo para almacenar, modificar y recuperar información de bases de datos relacionales de Microsoft SQL Server. También puede utilizar Transact-SQL para crear bases de datos y cualquiera de los objetos que se almacenan en una base de datos, como tablas, columnas, disparadores, claves, índices, vistas, procedimientos almacenados y funciones. Transact-SQL es totalmente compatible con el editor de Visual Studio y con los diseñadores suministrados con Visual Database Tools.
Nota Visual Database Tools también se puede conectar a una base de datos Oracle. Cuando se utiliza una base de datos Oracle, Visual Database Tools controla correctamente la sintaxis SQL específica de Oracle. Para obtener información detallada, vea Bases de datos Oracle.
Para obtener más información, vea SQL Server 2000 y Visual Database Tools.
Lenguajes de secuencias
Ya que las aplicaciones para Internet están en el punto de mira tecnológico, se van a seguir desarrollando soluciones para problemas de programación asociados al cálculo distribuido. Los lenguajes de secuencia, en general, no son nuevos, pero algunos de los más útiles acaban de salir al mercado. Con los nuevos lenguajes de secuencia, puede ejecutar las secuencias de comandos fácilmente desde un escritorio local o desde una consola remota para controlar tareas administrativas y eventos de programas.
Windows Scripting Host
Windows Scripting Host (WSH) es un entorno de secuencias independiente del lenguaje para plataformas Windows de 32 bits. Con WSH, Microsoft ofrece los motores de secuencias VBScript, JScript y JScript .NET. Estos lenguajes de secuencias se pueden utilizar en las páginas ASP de un servidor Web, en las páginas HTML que se ejecutan en Internet Explorer y en los motores de secuencias de Windows Scripting Host en Windows 98 y Windows 2000.
WSH puede automatizar tareas administrativas en el servidor utilizando cualquier lenguaje de secuencias. Por ejemplo, un administrador puede escribir código VBScript para crear un directorio virtual nuevo y, después, con WSH ejecutándose en segundo plano, ejecutar el archivo de secuencias desde la línea de comandos para crear el nuevo directorio virtual en el sitio Web. Además, los administradores pueden escribir una única secuencia de comandos para múltiples sitios Web o servidores físicos.
Organizaciones de terceros proporcionan motores de secuencias ActiveX para otros lenguajes como Perl, TCL, REXX y Python.
Para obtener más información, vea Windows Scripting Host.
VBScript
Microsoft Visual Basic Scripting (VBScript) es un subconjunto de Microsoft Visual Basic, y le resultará familiar si ya ha utilizado Visual Basic. Sin embargo, no son idénticos. Como VBScript está diseñado específicamente para trabajar en exploradores de Internet Explorer (IE), no incluye características que se encuentran normalmente fuera del ámbito de las secuencias de comandos, como el acceso e impresión de archivos. No obstante, es muy frecuente utilizar el objeto FileSystem con VBScript para manipular archivos.
VBScript le proporciona secuencias de comandos activas para una gran variedad de entornos, incluyendo secuencias de cliente Web en IE y secuencias de servidor Web en Microsoft Internet Information Services (IIS), Microsoft Internet Security and Acceleration Server (ISA) y Sun Solaris. VBScript es un lenguaje de secuencias orientado a objetos, rápido, portátil e interpretado que procesa código fuente incrustado directamente en páginas HTML. Puede utilizar VBScript para agregar inteligencia e interactividad a páginas WSH, ASP y HTML.
Al igual que JSCript, VBScript se comunica con las aplicaciones principales mediante Windows Scripting. Con Windows Scripting, los exploradores y otras aplicaciones principales no necesitan ningún código de integración especial para cada componente de ejecución de secuencias de comandos. Windows Scripting permite que un host compile secuencias de comandos, obtenga y llame a puntos de entrada y administre el espacio de nombres disponible para el programador.
VBScript es un lenguaje en el que no se necesita declarar los tipos de datos. Esto significa que no es necesario declarar explícitamente los tipos de datos de las variables. De hecho, no se pueden declarar explícitamente los tipos de datos en VBScript. Además, en muchos casos VBScript realiza conversiones de forma automática cuando es necesario. Por ejemplo, si agrega un número a un elemento que contiene texto (una cadena), el número se convierte en texto.
Para obtener más información, vea Guía de usuario de VBScript. VBScript se incluye con IE, IIS e ISA, o puede descargarlo del sitio Web de tecnologías Microsoft Windows Scripting ((http://www.microsoft.com/latam/windows2000/datacenter/default.asp).
JScript
Microsoft JScript se ha diseñado para programar secuencias de comandos en páginas Web. JScript cumple la especificación de lenguaje ECMA 262. JScript es un eficaz lenguaje de secuencias de comandos especialmente orientado a Internet. Al igual que VBScript, JScript es un lenguaje de secuencias orientado a objetos e interpretado, que procesa código fuente incrustado directamente en páginas HTML. JScript se ejecuta tanto en exploradores de Internet Explorer como de Netscape.
Como VBSCript, JScript se comunica con las aplicaciones principales mediante Windows Scripting Host. Con Windows Scripting Host, los exploradores y otras aplicaciones principales no necesitan ningún código de integración especial para cada componente de ejecución de secuencias de comandos. Windows Scripting Host permite que un host compile secuencias de comandos, obtenga y llame a puntos de entrada y administre el espacio de nombres disponible para el programador.
JScript es un lenguaje en el que no se necesita declarar los tipos de datos. Esto significa que no es necesario declarar explícitamente los tipos de datos de las variables. De hecho, no se pueden declarar explícitamente los tipos de datos en JScript. Además, en muchos casos JScript realiza conversiones de forma automática cuando es necesario. Por ejemplo, si agrega un número a un elemento que contiene texto (una cadena), el número se convierte en texto.
Para obtener más información, vea JScript.
JScript .NET
JScript .NET es la siguiente generación de la implementación por parte de Microsoft del lenguaje ECMA 262, desarrollado junto con ECMAScript Edition 4. Está diseñado para ejecutarse en Common Language Runtime con el fin de administrar la ejecución de código y ofrecer servicios que faciliten el proceso de desarrollo. JScript .NET proporciona integración entre lenguajes, control de excepciones entre lenguajes, seguridad ampliada, compatibilidad de versiones e implementaciones, un modelo simplificado para la interacción de componentes y servicios de depuración y de perfiles.
Combinando el conjunto de características que proporciona el lenguaje JScript clásico (completamente compatible) con Common Language Runtime y las mejores características de lenguajes basados en clases, JScript .NET le ofrece la mejor de las opciones. Entre las mejoras de JScript .NET, cabe destacar: código compilado, variables con tipos y sin tipos, clases (con herencia, sobrecarga de funciones, descriptores de acceso de propiedades, etc.), paquetes, compatibilidad entre lenguajes y acceso a .NET Framework.
Para obtener más información, vea Lo nuevo en JScript .NET.
Lenguaje de marcado extensible (XML)
XML proporciona un formato para describir datos estructurados que permite precisar declaraciones de contenido y resultados de búsqueda útiles entre múltiples plataformas. XML define información y datos de acuerdo a una finalidad más que por motivos de presentación, por lo que varias aplicaciones pueden utilizar la información y los datos de distintas formas y conseguir reutilizaciones diversas de la aplicación y extensibilidad. XML es un lenguaje de metamarcado cada vez más importante, cuyo uso es muy útil en Internet.
Tenga en cuenta que los distintos Servidores empresariales de Windows Server 2003 Enterprise Edition admiten XML como formato de intercambio de datos. Por ejemplo, la característica XML SQL de SQL Server 2000 hace posible que las aplicaciones .NET obtengan los resultados de consultas a la base de datos como documentos XML en lugar de como conjuntos de resultados relacionales. Como tecnología importante de la plataforma .NET, XML está creando una nueva generación de servicios basados en Web para clientes y proveedores.
XML no reemplaza a HTML. Aunque ambos son lenguajes de marcado, funcionan de manera complementaria. La potencia de HTML se basa en la presentación de la información, mientras que XML es excelente para describir la información. La potencia de XML radica parcialmente en su habilidad para separar la interfaz de usuario de los datos mostrados, permitiendo así el rendimiento entre plataformas.
En arquitecturas de aplicaciones distribuidas, la mensajería XML permite que los datos se muevan fácilmente a través de servidores de seguridad y entre sistemas heterogéneos utilizando mecanismos de transporte estándar. Para cualquier cosa que requiera la aplicación, como importar, exportar, intercambiar datos, interoperar con otras aplicaciones (como Office 2000 o Exchange 2000), analizar, modificar, tener acceso a datos, almacenar datos, etc., XML es un formato de intercambio de datos muy fácil de utilizar. Visual Studio .NET incluye algunas herramientas excelentes para trabajar con XML y su lenguaje de programación favorito.
Para obtener más información, vea XML en Visual Studio.
Visual J++
Microsoft proporciona Java User Migration Path para Microsoft .NET (JUMP para .NET) como un conjunto de tecnologías y servicios que permite a los programadores mantener, ampliar y migrar proyectos en lenguaje Java en la plataforma Microsoft .NET. Con JUMP para .NET puede aprovechar los conocimientos en Visual J++ y el código fuente existente mientras extiende la aplicación y los componentes en la plataforma .NET. Si está familiarizado con el lenguaje Visual J++, puede utilizarlo para crear nuevas aplicaciones .NET o para migrar fácilmente código existente al nuevo lenguaje C# mediante herramientas de migración automatizadas.
Para obtener más información, vea el sitio Web de Microsoft Visual J++ (http://www.microsoft.com/windows2000/server/default.asp).
Lenguajes alternativos
Microsoft está asociado con muchas organizaciones para incorporar sus lenguajes en la plataforma .NET. Además de los lenguajes proporcionados por Microsoft, existen varios lenguajes alternativos que se admiten en la plataforma .NET, incluyendo:
- COBOL para Microsoft .NET.
- Perl para Microsoft .NET.
- Eiffel para Microsoft .NET.
- Python para Microsoft .NET.
- Pascal para Microsoft .NET.
- Mercury para Microsoft .NET.
- Mondrian para Microsoft .NET.
- Oberon para Microsoft .NET.
- Salford FTN95 (Fortran) para Microsoft .NET.
- SmallTalk para Microsoft .NET.
- ML estándar para Microsoft .NET.
- Dyalog APL para Microsoft .NET.