Visual Basic
es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo que facilitó en cierta medida la programación misma.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también provee facilidades para el desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor de textos para edición del código fuente, un depurador, un compilador (y enlazador) y un editor de interfaces gráficas o GUI.
Características
Los compiladores de Visual Basic generan código que requiere una o más librerías de enlace dinámico para que funcione, conocidas comúnmente como DLL (sigla en inglés de dynamic-link library); en algunos casos reside en el archivo llamado MSVBVMxy.DLL (siglas de "Microsoft Visual Basic Virtual Machine x. y", donde x. y es la versión) y en otros en VBRUNXXX.DLL ("Visual Basic Runtime X.XX"). Estas bibliotecas DLL proveen las funciones básicas implementadas en el lenguaje, conteniendo rutinas en código ejecutable que son cargadas bajo demanda en tiempo de ejecución. Además de las esenciales, existe un gran número de bibliotecas del tipo DLL con variedad de funciones, tales como las que facilitan el acceso a la mayoría de las funciones del sistema operativo o las que proveen medios para la integración con otras aplicaciones.
Dentro del mismo Entorno de desarrollo integrado (IDE) de Visual Basic se puede ejecutar el programa que esté desarrollándose, es decir en modo intérprete (en realidad pseudo-compila el programa muy rápidamente y luego lo ejecuta, simulando la función de un intérprete puro). Desde ese entorno también se puede generar el archivo en código ejecutable (exe); ese programa así generado en disco puede luego ser ejecutado sin requerir del ambiente de programación (incluso en modo stand alone), aunque sí será necesario que las librerías DLL requeridas por la aplicación desarrollada se encuentren también instaladas en el sistema para posibilitar su ejecución.
El propio Visual Basic provee soporte para empaquetado y distribución; es decir, permite generar un módulo instalador que contiene al programa ejecutable y las bibliotecas DLL necesarias para su ejecución. Con ese módulo la aplicación desarrollada se distribuye y puede ser instalada en cualquier equipo (que tenga un sistema operativo compatible).
Así como bibliotecas DLL, hay numerosas aplicaciones desarrolladas por terceros que permiten disponer de variadas y múltiples funciones, incluso mejoras para el propio Visual Basic; las hay también para el empaquetado y distribución, y hasta para otorgar mayor funcionalidad al entorno de programación (IDE).
Entorno de desarrollo [editar]
Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft: Microsoft Visual Basic x.0, correspondientes a versiones desde la 2.0 hasta la 20.0, (con respectivas diferencias entre versiones del lenguaje).
El entorno de desarrollo es muy similar al de otros lenguajes. Realizando una instalación típica del producto, las características básicas se presentan de la siguiente forma:
En la parte superior aparecen tres elementos, en este orden: la barra de título donde figura el nombre del proyecto en curso y su estado (diseño o ejecución); la barra de menú con 13 opciones desplegables y una barra de herramientas; esta última se puede personalizar, posibilitando la inclusión de prácticamente la totalidad de los comandos del IDE.
En la parte central, cubriendo la franja de mayor área, se encuentra el espacio de trabajo. Éste incluye y muestra las ventanas del proyecto, las vistas del código fuente de los módulos, los objetos y los controles que contienen las ventanas de la aplicación y el panel de controles.
El panel de controles, que aunque es móvil normalmente está ubicado a la derecha, por defecto cuenta con los siguientes controles:
PictureBox: Caja de imágenes
Label: Etiqueta
TextBox: Caja de texto
Frame: Marco
CommandButton: Botón de comando
CheckBox: Casilla de verificación
OptionButton: Botón de opción
ComboBox: Lista desplegable
ListBox: Lista
HScrollBar: Barra de desplazamiento horizontal
VScrollBar: Barra de desplazamiento vertical
Timer: Temporizador
DriveListBox: Lista de unidades de disco
DirListBox: Lista de directorios
FileListBox: Lista de archivos
Shape: Figura
Line: Línea
Image: Imagen
Data: Conexión a origen de datos
OLE: Contenedor de documentos embebidos compatibles con Object Linking and Embedding
Además de los listados, se pueden agregar todo tipo de controles de terceros, y hay una gran cantidad de ellos que se proveen con el propio Visual Basic 6.0. Los controles vienen embebidos dentro de archivos con extensión OCX.
Las ventanas de proyecto, aunque móviles, se encuentran en el panel lateral derecho y contienen dos vistas principales:
El Explorador de proyectos, que muestra todos los elementos que componen el proyecto o grupos de proyectos (formularios, interfaz de controles, módulos de código, módulos de clase, etc.)
El Panel de propiedades, donde se muestran todos los atributos de los objetos, controles, formularios, información de módulos clase, entre muchos otros.
La Ventana inmediato, por defecto se encuentra en la parte inferior, aunque puede no estar visible (se presionan las teclas Ctrl+G, en ese caso, para mostrar la ventana). Esta ventana resulta una herramienta muy útil a la hora de depurar el programa o bien para realizar pruebas rápidas, ya que permite imprimir mensajes de texto desde el código y ejecutar sentencias y comandos simples inmediatamente (sólo sentencias que se puedan escribir en una sola línea). Por ejemplo, de la aplicación en curso, se puede consultar el valor de una variable o llamar a un método declarado en el módulo que se está depurando. Se puede ejecutar código "al vuelo", por ejemplo con sentencias como:
sqr (2)
siendo el signo ? un reemplazo natural del comando Print en Basic, al ejecutar la sentencia se mostraría por pantalla el valor de la raíz cuadrada de 2. También se pueden usar variables del propio programa, o sentencias de código tales como:
Msgbox "Prueba de cuadro de mensaje de error.", vbCritical, "Título del mensaje"
A la hora de la depuración puede ser útil para consultar el valor de variables del programa, o el código de error como:
? Err.Number
Objetos y eventos [editar]
JavaScript
(abreviado comúnmente JS) es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos,3 basado en prototipos, imperativo, débilmente tipado y dinámico.
Se utiliza principalmente en su forma del lado del cliente (client-side), implementado como parte de un navegador web permitiendo mejoras en la interfaz de usuario y páginas web dinámicas4 aunque existe una forma de JavaScript del lado del servidor (Server-side JavaScript o SSJS). Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio (mayoritariamente widgets) es también significativo.
JavaScript se diseñó con una sintaxis similar a C, aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo, Java y JavaScript tienen semánticas y propósitos diferentes.
Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del Document Object Model (DOM).
Tradicionalmente se venía utilizando en páginas web HTML para realizar operaciones y únicamente en el marco de la aplicación cliente, sin acceso a funciones del servidor. Actualmente es ampliamente utilizado para enviar y recibir información del servidor junto con ayuda de otras tecnologías como AJAX. JavaScript se interpreta en el agente de usuario al mismo tiempo que las sentencias van descargándose junto con el código HTML.
Desde el lanzamiento en junio de 1997 del estándar ECMAScript 1, han existido las versiones 2, 3 y 5, que es la más usada actualmente (la 4 se abandonó5). En junio de 2015 se cerró y publicó la versión ECMAScript 66.
Características
Las siguientes características son comunes a todas las implementaciones que se ajustan al estándar ECMAScript, a menos que especifique explícitamente en caso contrario.
Imperativo y estructurado[editar]
JavaScript es compatible con gran parte de la estructura de programación de C (por ejemplo, sentencias if, bucles for, sentencias switch, etc.). Con una salvedad, en parte: en C, el ámbito de las variables alcanza al bloque en el cual fueron definidas; sin embargo JavaScript no es compatible con esto, puesto que el ámbito de las variables es el de la función en la cual fueron declaradas. Esto cambia con la versión de JavaScript 1.7, ya que añade compatibilidad con block scoping por medio de la palabra clave let. Como en C, JavaScript hace distinción entre expresiones y sentencias. Una diferencia sintáctica con respecto a C es la inserción automática de punto y coma, es decir, en JavaScript los puntos y coma que finalizan una sentencia pueden ser omitidos.22
Dinámico[editar]
Tipado dinámico
Como en la mayoría de lenguajes de scripting, el tipo está asociado al valor, no a la variable. Por ejemplo, una variable x en un momento dado puede estar ligada a un número y más adelante, religada a una cadena. JavaScript es compatible con varias formas de comprobar el tipo de un objeto, incluyendo duck typing.23 Una forma de saberlo es por medio de la palabra clave typeof.
Objetual
JavaScript está formado casi en su totalidad por objetos. Los objetos en JavaScript son arrays asociativos, mejorados con la inclusión de prototipos (ver más adelante). Los nombres de las propiedades de los objetos son claves de tipo cadena: obj.x = 10 y obj['x'] = 10 son equivalentes, siendo la notación con punto azúcar sintáctico. Las propiedades y sus valores pueden ser creados, cambiados o eliminados en tiempo de ejecución. La mayoría de propiedades de un objeto (y aquellas que son incluidas por la cadena de la herencia prototípica) pueden ser enumeradas a por medio de la instrucción de bucle for... in. JavaScript tiene un pequeño número de objetos predefinidos como son Function y Date.
Evaluación en tiempo de ejecución
JavaScript incluye la función eval que permite evaluar expresiones como expresadas como cadenas en tiempo de ejecución. Por ello se recomienda que eval sea utilizado con precaución y que se opte por utilizar la función JSON.parse() en la medida de lo posible, pues resulta mucho más segura.
Funcional[editar]
Funciones de primera clase
A las funciones se les suele llamar ciudadanos de primera clase; son objetos en sí mismos. Como tal, poseen propiedades y métodos, como .call() y .bind().24 Una función anidada es una función definida dentro de otra. Esta es creada cada vez que la función externa es invocada. Además, cada función creada forma una clausura; es el resultado de evaluar un ámbito conteniendo en una o más variables dependientes de otro ámbito externo, incluyendo constantes, variables locales y argumentos de la función externa llamante. El resultado de la evaluación de dicha clausura forma parte del estado interno de cada objeto función, incluso después de que la función exterior concluya su evaluación.25
Prototípico
Prototipos
JavaScript usa prototipos en vez de clases para el uso de herencia.26 Es posible llegar a emular muchas de las características que proporcionan las clases en lenguajes orientados a objetos tradicionales por medio de prototipos en JavaScript.27
Funciones como constructores de objetos
Las funciones también se comportan como constructores. Prefijar una llamada a la función con la palabra clave new crear una nueva instancia de un prototipo, que heredan propiedades y métodos del constructor (incluidas las propiedades del prototipo de Object).28 ECMAScript 5 ofrece el método Object.create, permitiendo la creación explícita de una instancia sin tener que heredar automáticamente del prototipo de Object (en entornos antiguos puede aparecer el prototipo del objeto creado como null).29 La propiedad prototype del constructor determina el objeto usado para el prototipo interno de los nuevos objetos creados. Se pueden añadir nuevos métodos modificando el prototipo del objeto usado como constructor. Constructores predefinidos en JavaScript, como Array u Object, también tienen prototipos que pueden ser modificados. Aunque esto sea posible se considera una mala práctica modificar el prototipo de Object ya que la mayoría de los objetos en Javascript heredan los métodos y propiedades del objeto prototype, objetos los cuales pueden esperar que estos no hayan sido modificados.30
Otras características
Entorno de ejecución
JavaScript normalmente depende del entorno en el que se ejecute (por ejemplo, en un navegador web) para ofrecer objetos y métodos por los que los scripts pueden interactuar con el "mundo exterior". De hecho, depende del entorno para ser capaz de proporcionar la capacidad de incluir o importar scripts (por ejemplo, en HTML por medio del tag <script>). (Esto no es una característica del lenguaje, pero es común en la mayoría de las implementaciones de JavaScript.)
Funciones variádicas
Un número indefinido de parámetros pueden ser pasados a la función. La función puede acceder a ellos a través de los parámetros o también a través del objeto local arguments. Las funciones variádicas también pueden ser creadas usando el método .apply().
Funciones como métodos
A diferencia de muchos lenguajes orientados a objetos, no hay distinción entre la definición de función y la definición de método. Más bien, la distinción se produce durante la llamada a la función; una función puede ser llamada como un método. Cuando una función es llamada como un método de un objeto, la palabra clave this, que es una variable local a la función, representa al objeto que invocó dicha función.
Arrays y la definición literal de objetos
Al igual que muchos lenguajes de script, arrays y objetos (arrays asociativos en otros idiomas) pueden ser creados con una sintaxis abreviada. De hecho, estos literales forman la base del formato de datos JSON.
Expresiones regulares
JavaScript también es compatible con expresiones regulares de una manera similar a Perl, que proporcionan una sintaxis concisa y poderosa para la manipulación de texto que es más sofisticado que las funciones incorporadas a los objetos de tipo string.31
Extensiones específicas del fabricante[editar]
JavaScript se encuentra oficialmente bajo la organización de Mozilla Foundation, y periódicamente se añaden nuevas características del lenguaje. Sin embargo, sólo algunos motores JavaScript son compatibles con estas características:
Las propiedades get y set (también compatibles con WebKit, Opera,32 ActionScript y Rhino).33
Cláusulas catch condicionales.
Protocolo iterador adoptado de Python.
Corrutinas también adoptadas de Python.
Generación de listas y expresiones por comprensión también adoptado de Python.
Establecer el ámbito a bloque a través de la palabra clave let.
Desestructuración de arrays y objetos (forma limita de emparejamiento de patrones).
Expresiones concretas en funciones (function(args) expr).
ECMAScript para XML (E4X), una extensión que añade compatibilidad nativa XML a ECMAScript.

Java es un lenguaje de programación de propósito
general, concurrente, orientado a objetos que fue diseñado específicamente para
tener tan pocas dependencias de implementación como fuera posible. Su intención
es permitir que los des arrolladores de aplicaciones escriban el programa una vez
y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o
"write once, run anywhere"), lo que quiere decir que el código que es
ejecutado en una plataforma no tiene que ser recompilado para correr en otra.
Java es, a partir de 2012, uno de los lenguajes de programación más populares
en uso, particularmente para aplicaciones de cliente-servidor de web, con unos
10 millones de usuarios reportados.1 2
El lenguaje de programación Java fue originalmente
desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por
la compañía Oracle) y publicado en 1995 como un componente fundamental de la
plataforma Java de Sun Microsystems. Su sintaxis deriva en gran medida de C y
C++, pero tiene menos utilidades de bajo nivel que cualquiera de ellos. Las
aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que
puede ejecutarse en cualquier máquina virtual Java (JVM) sin importar la
arquitectura de la computadora subyacente.
La compañía Sun desarrolló la implementación de referencia
original para los compiladores de Java, máquinas virtuales, y librerías de
clases en 1991 y las publicó por primera vez en 1995. A partir de mayo de 2007,
en cumplimiento con las especificaciones del Proceso de la Comunidad Java, Sun
volvió a licenciar la mayoría de sus tecnologías de Java bajo la Licencia
Pública General de GNU. Otros también han desarrollado implementaciones
alternas a estas tecnologías de Sun, tales como el Compilador de Java de GNU y
el GNU Classpath.
Característica de java.
Las características principalesque nos ofrece Java son:
1.- Lenguaje
Simple:
Se lo conoce como lenguaje simpleporque viene de la
misma estructura de c y c++; ya que c++ fue un referentepara la creación de
java por eso utiliza determinadas características de c++ yse han eliminado
otras.
2.- Orientado a Objeto:
Toda la programación en java ensu mayoría está
orientada a objeto, ya que al estar agrupados en estructurasenestructuras
encapsuladas es más fácil su manipulación.
3.- Distribuido:
Permite abrir sockets, establecery aceptar conexiones
con los servidores o clientes remotos; facilita lacreación de aplicaciones
distribuidas ya que proporciona una colección declases para aplicaciones en
red.
4.- Robusto:
Es altamente fiable encomparación con c, se han eliminadomuchas características con la
aritmética de punteros, proporciona numerosascomprobaciones en compilación y en
tiempo de ejecución.
5.- Seguro:
La seguridad es unacaracterística muy importante en
java ya que se han implementado barreras deseguridad en el lenguaje y en el
sistema de ejecución de tiempo real.
6.- Indiferente a laarquitectura:
Java es compatible con los másvariados entornos de red,
cualquiera sean estos desde Windows 95, Unix aWindows Nt y Mac, para poder trabajarcon diferentes
sistemas operativos.
Java es muy versátil ya queutiliza byte-codes que es un
formato intermedio que sirve para transportar elcódigo eficientemente o de
diferentes plataformas (Hardware -
Software).
7.- Portable:
Por ser indiferente a laarquitectura sobre la cual está
trabajando, esto hace que su portabilidad seamuy eficiente, sus programas son
iguales en cualquiera de las plataformas, yaque java especifica tamaños
básicos, esto se conoce como la máquina virtual dejava.
8.- Interpretado y compilado a lavez:
Java puede ser compilado einterpretado en tiempo
real, ya que cuando se construye el código fuente este
setransforma en una especie de código de máquina.
9.- Multihebra o Multihilos:
Java tiene una facilidad decumplir varias funciones al
mismo tiempo, gracias a su función de
multahilos ya que por cada hilo que elprograma tenga se ejecutaran en tiempo
real muchas funciones al mismo tiempo.
10.- Dinámico:
El lenguaje java es muy dinámicoen la fase de enlazado,
sus clases solamente actuaran en medida en que
sean requeridas o necesitadas con estopermitirá que los enlaces se
puedan incluir incluso desde fuentes muy variadaso desde la red.
11.- Produce Applets:
En java se pueden crearaplicaciones independientes y
applets.
Independientes porque se puedencomportar como cualquier
programa escrito en cualquier lenguaje.
Por otra parte los appletsconsiderados pequeños
programas, tienen la capacidad de ejecutar funciones muycomplejas.
12.- Alto rendimiento
Java es considerado de altorendimiento por ser tan veloz en elmomento de correr los programas y
por ahorrase muchas líneas de código.
Visual C++ (también conocido como MSVC++, 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 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.
Cuenta con una versión Express, llamada Microsoft
Visual C++ Express Edition, la cual es gratuita y se puede descargar desde el
sitio de Microsoft.
El lenguaje de programación utilizado por esta
herramienta, de igual nombre, está basado en C++ y es compatible en la mayor
parte de su código con este lenguaje, a la vez que su sintaxis es exactamente
igual. En algunas ocasiones esta incompatibilidad impide que otros
compiladores, sobre todo en otros sistemas operativos, funcionen bien con
código desarrollado en este lenguaje.
Una de las nuevas implementaciones es que el llamado
código administrado (managed code) hace uso de una de las mejores herramientas
dentro de .NET, el recolector de basura (garbage collector).
Características
Visual C++ hace uso extensivo del framework Microsoft
Foundation Classes (o simplemente MFC), el cual es un conjunto de clases C++
para el desarrollo de aplicaciones en Windows.
El IDE cuenta con herramientas como el IntelliSense, RemoteDebuging,
Editar y Continuar, y Texto Resaltado.
Cuenta con una versión Express, llamada Microsoft
Visual C++ Express Edition, la cual es gratuita y se puede descargar desde el
sitio de Microsoft.
El lenguaje de programación utilizado por esta herramienta,
de igual nombre, está basado en C++ y es compatible en la mayor parte de su
código con este lenguaje, a la vez que su sintaxis es exactamente igual. En
algunas ocasiones esta incompatibilidad impide que otros compiladores, sobre
todo en otros sistemas operativos, funcionen bien con código desarrollado en
este lenguaje.
Algunas de las nuevas implementaciones es que el
llamado código administrado (managed code), hace uso de una de las mejores
herramientas dentro de .NET, el recolector de basura (garbage collector).