Issuu on Google+

Revista cientifica Francisco Pérez Pérez Josué darinel Pérez Hernández José Alberto días Hernández

LENGUAJES DE PROGRAMACIN


INTRODUCCION lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.

Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.

HISTORIA Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina, el cual la máquina comprende fácilmente, pero que lo hace excesivamente complicado para las personas. De hecho sólo consiste en cadenas extensas de números 0 y 1.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos. El lenguaje de programación nos sirva para solucionar problemas en la maquina utilizando el lenguaje de programación.

Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras provenientes del inglés; éste se conoce como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). El lenguaje ensamblador sigue la misma estructura del lenguaje máquina, pero las letras y palabras son más fáciles de recordar y entender que los números.

Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).

La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos, denominados también lenguajes de alto nivel.

Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los

2


La primera programadora de computadora conocida fue Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemáticas a Ada quien, después de conocer a Charles Babbage, tradujo y amplió una descripción de su máquina analítica. Incluso aunque Babbage nunca completó la construcción de cualquiera de sus máquinas, el trabajo que Ada realizó con éstas le hizo ganarse el título de primera programadora de computadoras del mundo. El nombre del lenguaje de programación Ada fue escogido como homenaje a esta programadora.

En 1960, se creó COBOL, uno de los lenguajes usados aún en 2010 en informática de gestión. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una.

El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje ensamblador.

El lenguaje c

El lenguaje de programación C no es uno de los más utilizados, si no el que más se utiliza en la programación de sistemas software. Es

En 1960, se creó COBOL, uno de los lenguajes usados aún en 2010 en informática de gestión.

similar a Python en muchos aspectos fundamentales: estructuras

A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método más eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la década de 1980. Mientras que una tarea tan sencilla como sumar dos números puede necesitar varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con solo una.

presenta de

las

control

mismas (selección

condicional, iteración), permite trabajar con algunos tipos de datos similares (enteros, flotantes, secuencias), hace posible definir y usar funciones, etc. No obstante, en muchas otras

cuestiones

es

un

lenguaje

muy

características

que

diferente. C

presenta

ciertas

permiten ejercer un elevado control sobre la eficiencia de los programas, tanto en la velocidad de ejecución como en el consumo de memoria.

Orígenes del lenguaje “C”

El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar código cuyo desempeño fuera comparable al de un código hecho a mano en lenguaje ensamblador.

El nacimiento de C está estrechamente vinculado al del sistema operativo Unix. El investigador Ken Thompson, de AT&T, la compañía

telefónica

estadounidense,

se

propuso diseñar un nuevo sistema operativo

3


a principios de los setenta. Disponía de un

anterioridad,

PDP-7 en el que codificó una primera versión

demuestra que cuando el uso de un

de Unix en lenguaje ensamblador. Pronto se

lenguaje se extiende es muy probable

impuso la conveniencia de desarrollar el

que proliferen variedades dialectales y

sistema en un lenguaje de programación de

extensiones

alto nivel, pero la escasa memoria del PDP-7

como

para

Lisp

o

Pascal,

aplicaciones

muy

concretas, lo que dificulta enormemente

(8K de 18 bits) hizo que ideara el lenguaje de

el intercambio de programas entre

programación B, una versión reducida de un

diferentes grupos de programadores.

lenguaje ya existente: BCPL. El lenguaje C apareció como un B mejorado, fruto de las

Para evitar este problema se suele

demandas impuestas por el desarrollo de

recurrir a la creación de un comité de

Unix.

expertos que define la versión oficial del lenguaje. El comité ANSI X3J9 (ANSI son

Dennis Ritchie fue el encargado del diseño

las siglas de Instituto Americano de

del lenguaje C y de la implementación de un

Estándares Nacionales), creado en 1983,

compilador para un PDP-11. C ha sufrido

considera

numerosos cambios a lo largo de su historia.

la

inclusión

de

aquellas

extensiones y mejoras que juzga de

La primera versión estable del lenguaje data

suficiente interés para la comunidad de

de 1978 y se conoce como (K&R C), es decir,

programadores. El 14 de diciembre de

(C de Kernighan y Ritchie). Esta versión fue

1989 se acordó qué era el C estándar y

descrita por sus autores en la primera edición del libro (The C Programming

se

Language), un auténtico best-seller de la

especificación en la primavera de 1990.

informática. La adopción de Unix como

El

sistema operativo de referencia en las

edición

universidades en los años 80 popularizó

Language), de Brian Kernighan y Dennis

enormemente el lenguaje de programación C.

Ritchie. Un comité de la International

No obstante, C era atractivo por sí mismo y

Standards

parecía satisfacer una demanda real de los

publicó

el

documento

con

la

stándar se divulgó con la segunda de

(The

Office

C

(ISO)

Programming

ratificó

el

documento del comité ANSI en 1992,

programadores: disponer de un lenguaje de

convirtiéndolo

alto nivel con ciertas características propias

así

en

un

estándar

internacional. Durante mucho tiempo se

de los lenguajes de bajo nivel (de ahí que a

conoció a esta versión del lenguaje como

veces se diga que C es un lenguaje de nivel

ANSI-C para distinguirla así del K&R C.

intermedio).

Ahora se prefiere denominar a esta variante C89 (o C90) para distinguirla de La

experiencia

programación

con

lenguajes

diseñados

de

la revisión que se publicó en 1999, la que

con

4


se conoce por C99 y que es la versión

fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C.

estándar de C que estudiaremos. C ha tenido un gran impacto en el diseño de otros muchos lenguajes. Ha sido, por

Un ejemplo de programa en C++, el clásico Hola mundo

ejemplo, la base para definir la sintaxis y ciertos aspectos de la semántica de

A continuación se cita un programa de ejemplo Hola mundo escrito en C++: # include <iostream> // Este header permite usar los objetos que encapsulan los descriptores stdout y stdin: cout(<<) y cin(>>)

lenguajes tan populares como Java y C++.

Lenguaje C++ C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.

using namespace std; int main() { cout << "Hola mundo" << endl; return 0; } Al usar la directiva # include estamos diciéndole al compilador que busque determinadas cosas en un archivo que se llama iostream. Para evitar redefinir cosas ya hechas al ponerles igual nombre, se creó algo llamado espacios de nombres o namespace en el singular del inglés. En este caso hay un espacio de nombres llamado std, que es donde se incluyen las definiciones de todas las funciones y clases que conforman la libreria estándar de C++, entre muchas otras cosas del objeto cout, que representa el flujo de salida estándar (típicamente la pantalla o una ventana de texto), y todo esto es exactamente lo que

Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT.

decimos al añadir namespace std.

Una particularidad del C++ es la posibilidad de redefinir los operadores (sobrecarga de operadores), y de poder crear nuevos tipos que se comporten como tipos fundamentales.

la

sentencia

using

La definición de funciones es igual que en C, salvo por la característica de que si main no va a recoger argumentos, no tenemos por qué ponérselos, a diferencia de C, donde había que ponerlos explícitamente, aunque no se fueran a usar. Queda solo comentar que el símbolo << se conoce como operador de inserción, y a grosso modo está enviando a cout lo que queremos mostrar por pantalla

El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez

5


para que lo pinte, en este caso la cadena "¡Hola mundo!" . El mismo operador << se puede usar varias veces en la misma sentencia, de forma que gracias a esta característica podemos poner un carácter endl al final, que es el equivalente del \n en C o \n\r, según el sistema en que se esté programando.

mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora. Normalmente los compiladores están divididos en dos partes: Front End: es la parte que analiza el código fuente, comprueba su validez, genera el árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser independiente de la plataforma o sistema para el cual se vaya a compilar.

Tipos de datos C++ tiene los siguientes tipos fundamentales: • Caracteres: char (también es un entero), wchar_t • Enteros: short int, int, long int, long long int

Back End: es la parte que genera el código máquina, específico de una plataforma, a partir de los resultados de la fase de análisis, realizada por el Front End.

Números en coma flotante: float, double, long double • Booleanos: bool • Vacío: void El modificador unsigned se puede aplicar a enteros para obtener números sin signo (por omisión los enteros contienen signo), con lo que se consigue un rango mayor de números naturales. •

Esta división permite que el mismo Back End se utilice para generar el código máquina de varios lenguajes de programación distintos y que el mismo Front End que sirve para analizar el código fuente de un lenguaje de programación concreto sirva para la generación de código máquina en varias plataformas distintas.

Esta es la vista principal de IDE de Turbo C++ El código que genera el Back End normalmente

no

directamente,

sino

se

puede

que

ejecutar

necesita

ser

enlazado por un programa enlazador (linker). Diagrama a bloques de la operación de un buen compilador.

El compilador

Los programas se pueden clasificar por el paradigma del lenguaje que se use para producirlos. Los principales paradigmas son: imperativos, declarativos y orientación a objetos.

Un compilador es un programa (o un conjunto de programas) que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente. Usualmente el segundo lenguaje es código de máquina, pero también puede ser simplemente texto. Este proceso de traducción se conoce como compilación. La razón principal para querer usar un compilador es querer traducir un programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje

Los programas que usan un lenguaje imperativo especifican un algoritmo, usan declaraciones, expresiones y sentencias. Una declaración asocia un nombre de variable con un tipo de dato, por ejemplo: var x: integer;. Una expresión contiene un valor, por ejemplo: 2 + 2 contiene el valor 4. Finalmente, una sentencia debe asignar

6


una expresión a una variable o usar el valor de una variable para alterar el flujo de un programa, por ejemplo: x := 2 + 2; if x == 4 then haz_algo();. Una crítica común en los lenguajes imperativos es el efecto de las sentencias de asignación sobre una clase de variables llamadas "no locales".

se descarta y sistemáticamente se prueba otra ruta.

C Sharp El título de este artículo se muestra incorrectamente debido a limitaciones técnicas. El título correcto es C#. C# o 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 e ISO. 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 (entre ellos Delphi). La creación del nombre del lenguaje, C♯, proviene de dibujar dos signos positivos encima de los dos signos positivos de "C++", queriendo dar una imagen de salto evolutivo, del mismo modo que ocurrió con el paso de C a C++. C#, como parte de la plataforma.NET, está normalizado por ECMA desde diciembre de 2001 (C# Language Specification "Especificación del lenguaje C♯"). El 7 de noviembre de 2005 salió la versión 2.0 del lenguaje, que incluía mejoras tales como tipos genéricos, métodos anónimos, iteradores, tipos parciales y tipos anulables. El 19 de noviembre de 2007 salió la versión 3.0 de C#, destacando entre las mejoras los tipos implícitos, tipos anónimos y LINQ (Language Integrated Query -consulta integrada en el lenguaje). Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones (API), mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco de DotGNU - Mono que genera programas para distintas

Los programas que usan un lenguaje declarativo especifican las propiedades que la salida debe conocer y no especifica cualquier detalle de implementación. Dos amplias categorías de lenguajes declarativos son los lenguajes funcionales y los lenguajes lógicos. Los lenguajes funcionales no permiten

asignaciones de variables no locales, así, se hacen más fácil, por ejemplo, programas como funciones 4 matemáticas. El principio detrás de los lenguajes lógicos es definir el problema que se quiere resolver (el objetivo) y dejar los detalles de la solución al sistema. El objetivo es definido dando una lista de sub-objetivos. Cada subobjetivo también se define dando una lista de sus sub-objetivos, etc. Si al tratar de buscar una solución, una ruta de subobjetivos falla, entonces tal sub-objetivo

7


plataformas como Win32, UNIX y Linux.

Tipos de datos C# contiene dos categorías generales de tipos de datos integrados: tipos de valor y tipos de referencia. El término tipo de valor indica que esos tipos contienen directamente sus valores. C# define ocho tipos de enteros, a saber: Los tipos de punto flotante pueden representar números con componentes fraccionales. Existen dos clases de tipos de punto flotante; float y double. El tipo double es el más utilizado porque muchas funciones matemáticas de la biblioteca de clases de C♯ usan valores double. Quizá, el tipo flotante más interesante de C♯ es decimal, dirigido al uso de cálculos monetarios. La aritmética de punto flotante normal está sujeta a una variedad de errores de redondeo cuando se aplica a valores decimales. El tipo decimal elimina estos errores y puede representar hasta 28 lugares decimales.

Historia Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas originalmente en el lenguaje compilador Simple Managed C. En 1999, Anders Hejlsberg formó un equipo con la misión de desarrollar un nuevo lenguaje de programación llamado Cool (C Orientado a Objetos). Este nombre tuvo que ser cambiado debido a problemas de marca, pasando a llamarse C♯, aunque habitualmente se escribe C#.1 La biblioteca de clases de la plataforma .NET fue migrada entonces al nuevo lenguaje.

Los caracteres en C♯ no son cantidades de 8 bits como en otros muchos lenguajes de programación. Por el contrario, C♯ usa un tipo de caracteres de 16 bits llamado Unicode al cual se le llama char. No existen conversiones automáticas de tipo entero a char.

Hejlsberg lideró el proyecto de desarrollo de C♯. Anteriormente, ya participó en el desarrollo de otros lenguajes como Turbo Pascal, J++ y Borland Delphi.

Tipo de dato

Ejemplo

L

long

12L

UL

ulong

68687UL

F

float

10,19F

M

decimal

9,95M

No existe una conversión definida entre bool y los valores enteros (1 no se convierte a verdadero ni 0 se convierte a falso).

Constantes Las constantes en C se denominan literales. Todas las constantes tienen un tipo de dato, en caso de ser una constante que pueda alojarla, empezando por int. En caso de punto flotante se considera como un double. Sin embargo se puede especificar explícitamente el tipo de dato que una constante deberá usar, por medio de los sufijos:

8


C♯, al igual que C++, es compatible con el tipo de constante cadena de caracteres. Dentro de la cadena de caracteres se pueden usar secuencias de escape. Una cadena de caracteres puede iniciarse con el símbolo @ seguido por una cadena entre comillas, en tal caso, las secuencias de escape no tienen efecto y además la cadena puede ocupar dos o más líneas.

C♯ tiene caracteres denominados secuencias de escape para facilitar la escritura con el teclado de símbolos que carecen de representación visual. Estos son:

Operadores Secuencia de escape

C♯ tiene cuatro clases generales de operadores: aritméticos, a nivel de bit, relacionales y lógicos.

Descripción

\a

Alerta (timbre)

\b

Retroceso

\f

Avance de página

\n

Nueva línea

\r

Retorno de carro

\t

Operadores

Operador

Significado

Tipo

+

Suma

Aritmético

-

Resta

Aritmético

*

Producto

Aritmético

Tabulador horizontal

/

División

Aritmético

\v

Tabulador vertical

%

Módulo (residuo Aritmético entero)

\0

Nulo

++

Incremento

Aritmético

\'

Comilla sencilla

--

Decremento

Aritmético

\"

Comilla doble

==

Igual que

Relacional

\\

Diagonal invertida

!=

Distinto que

Relacional

9


>

Mayor que

Los operadores aritméticos funcionan igual que en C y C++.

Relacional

<

Menor que

>=

Mayor o igual que Relacional

<=

Menor o igual que Relacional

El resultado de los operadores relacionales y lógicos es un valor bool.

Relacional

&

AND

Lógico y a nivel de bits

|

OR

Lógico y a nivel de bits

^

XOR y de nivel de Lógico bits

||

OR de cortocircuito

Lógico

&&

AND de cortocircuito

Lógico

!

NOT

Lógico

~

Complemento a uno

A nivel de bits

<<

Desplazamiento a A nivel de la izquierda bits

>>

Desplazamiento a A nivel de la derecha bits

Los operadores de cortocircuito evalúan el segundo operando solo cuando es necesario. Los operadores a nivel de bit no se pueden aplicar a tipos bool, float, double o decimal.

Visual Basic Es un lenguaje de programación desarrollado por el alemán Alan Cooper para Microsoft. El 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 completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma. Desde el 2001 Microsoft ha propuesto abandonar el desarrollo basado en la API Win32 y pasar a trabajar sobre 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). Visual Basic (Visual Studio) constituye un IDE (entorno de desarrollo integrado, o, en inglés, Integrated Development Enviroment) que ha sido empaquetado como un programa de aplicación; es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a

10


lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del programa, sino que se puede hacer de forma visual).

o o o o o

Compilador

o

El compilador de Visual Basic x.0 genera ejecutables que requieren una DLL para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en otros VBRUNXXX.DLL ("Visual Basic Runtime X.XX"), que provee todas las funciones implementadas en el lenguaje. Además existe un gran número de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema operativo y la integración con otras aplicaciones.

o o o o o o o o o o o o o

(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

Versiones Las versiones de Visual Basic para Windows son muy conocidas, pero existe una versión de Microsoft Visual Basic 1.0 para MS-DOS (ediciones Profesional y Estándar) menos difundida y que data de 1992. Era un entorno que, aunque en modo texto, incluía un diseñador de formularios en el que se podían arrastrar y soltar distintos controles.

Entorno de desarrollo Su entorno de desarrollo es muy similar al de otros lenguajes e IDE's. •

Se compone principalmente de su barra de herramientas y menús que se pueden personalizar con prácticamente la completa totalidad de los comandos del IDE a necesidad. El espacio de trabajo donde se muestran todas las ventanas del proyecto, las vistas de código de módulos y objetos, y los controles con los que se componen las ventanas de nuestra aplicación. Por defecto disponemos los controles básicos: o (PictureBox) Caja de Imagen

La última versión sólo para 16 bits, la 3.0, no incluía una detallada biblioteca de componentes para toda clase de usos. Durante la transición de Windows 3.11 a Windows 95, apareció la versión 4.0, que podía generar programas de 16 y 32 bits a partir de un mismo código fuente, a costa de un gran aumento en el tamaño de los archivos "runtime" necesarios. Además, se sustituyen los controles VBX por los nuevos OCX. Con la versión 5.0, estuvo a punto de

11


implementar por primera vez la posibilidad de compilar a código nativo, obteniendo una mejora de rendimiento considerable. Tanto esta como la posterior 6.0 soportaban características propias de los lenguajes orientados a objetos, aunque careciendo de algunos ítems importantes como la herencia y la sobrecarga. La versión 6.0 continua utilizándose masivamente y es casi compatible prácticamente al 100% con las últimas versiones de Windows como Vista y Windows 7.

Java desde Cero Con ésta comienzo una serie de notas sobre Java, especialmente para aquellos que quieren comenzar a conocerlo y usarlo. Esto se originó en un interés que surgió en algunos de los suscriptores del mailing list de desarrolladores de web, y que pongo a disposición también del de webmasters. Seguramente muchos de ustedes sabrán mucho más sobre Java que yo, y les agradeceré todo tipo de comentarios o correcciones.

Las versiones actuales de Visual Basic se basan en la plataforma .NET, que se desligan de las anteriores versiones. Cabe mencionar que aunque menos conocido, existió también una versión gratuita de Visual Basic 5.0 dedicada en su práctica al desarrollo de controles y componentes, su nombre en concreto era Microsoft Visual Basic 5.0 Control Creation Edition (Visual Basic 5 CCE). También hubo versiones orientadas al desarrollo de aplicaciones para dispositivos móviles basados en Windows CE y Pocket PC, conocido como eMbedded Visual Basic.

La idea es dar una guía ordenada para el estudio de este lenguaje, muy poderoso y de gran coherencia, aunque todavía adolece de algunas limitaciones que seguramente se irán superando con el tiempo.

Ventajas • • • •

JScript, en las aplicaciones mediante Microsoft Script Control. Acceso a la API multimedia de DirectX (versiones 7 y 8). También está disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1: VBOpenGL type library

¿Qué es Java?

Es un lenguaje RAD. Posee una curva de aprendizaje muy rápida. Integra el diseño e implementación de formularios de Windows. Permite usar con suma facilidad la plataforma de los sistemas Windows, dado que tiene acceso prácticamente total a la API de Windows, incluidas librerías actuales. El código en Visual Basic es fácilmente migrable a otros lenguajes. Es un lenguaje muy extendido, por lo que resulta fácil encontrar información, documentación y fuentes para los proyectos. Fácilmente extensible mediante librerías DLL y componentes ActiveX de otros lenguajes. Posibilidad de añadir soporte para ejecución de scripts, VBScript o

Java es un lenguaje originalmente desarrollado por un grupo de ingenieros de Sun, utilizado por Netscape posteriormente como base para Javascript. Si bien su uso se destaca en el Web, sirve para crear todo tipo de aplicaciones (locales, intranet o internet). Java es un lenguaje:de objetos independiente de la plataforma Algunas características notables: robusto

12


gestiona la memoria automáticamente

aceptar, esto es una gran ventaja desde el punto de vista del desarrollo).

No permite el uso de técnicas de programación inadecuadas multithreading cliente-servidor mecanismos de seguridad incorporados herramientas de documentación incorporadas

En cuanto a la herencia, simplemente significa que se pueden crear nuevas clases que hereden de otras preexistentes; esto simplifica la programación, porque las clases hijas incorporan automáticamente los métodos de las madres. Por ejemplo, nuestra clase "auto" podría heredar de otra más general, "vehículo", y simplemente redefinir los métodos para el caso particular de los automóviles7 lo que significa que, con una buena biblioteca de clases, se puede reutilizar mucho código inclusive sin saber lo que tiene adentro.

Lenguaje de Objetos Por qué puse "de" objetos y no "orientado a" objetos? Para destacar que, al contrario de otros lenguajes como C++, no es un lenguaje modificado para poder trabajar con objetos sino que es un lenguaje creado para trabajar con objetos desde cero. De hecho, TODO lo que hay en Java son objetos. ¿Qué es un objeto?

Un ejemplo simple

Bueno, se puede decir que todo puede verse como un objeto. Pero seamos más claros. Un objeto, desde nuestro punto de vista, puede verse como una pieza de software que cumple con ciertas características: encapsulamiento herencia Encapsulamiento significa que el objeto es auto-contenido, o sea que la misma definición del objeto incluye tanto los datos que éste usa (atributos) como los procedimientos (métodos) que actúan sobre los mismos.

Para ir teniendo una idea, vamos a poner un ejemplo de una clase Java: public class Muestra extends Frame { // atributos de la clase Button si; Button no; // métodos de la clase: public Muestra () { Label comentario = new Label("Presione un botón", Label.CENTER); si = new Button("Sí"); no = new Button("No"); add("North", comentario); add("East", si); add("West", no); } }

Cuando se utiliza programación orientada a objetos, se definen clases (que definen objetos genéricos) y la forma en que los objetos interactúan entre ellos, a través de mensajes. Al crear un objeto de una clase dada, se dice que se crea una instancia de la clase, o un objeto propiamente dicho. Por ejemplo, una clase podría ser "autos", y un auto dado es una instancia de la clase.

Lenguaje ADA La historia de Ada comienza en 1974 cuando el Departamento de Defensa de los Estados Unidos (DoD) se percató que estaba gastando demasiado en software. Se llevó a cabo un estudio detallado sobre la distribución de los costos y se descubrió que sobre la mitad de éstos estaba directamente relacionado con sistemas incrustados (embedded) Se realizó un análisis de los lenguajes utilizados en diferentes áreas. Se descubrió que COBOL era el estandar para el procesamiento de datos y FORTRAN lo era para cálculos científicos y numéricos.

La ventaja de esto es que como no hay programas que actúen modificando al objeto, éste se mantiene en cierto modo independiente del resto de la aplicación. Si es necesario modificar el objeto (por ejemplo, para darle más capacidades), esto se puede hacer sin tocar el resto de la aplicación7 lo que ahorra mucho tiempo de desarrollo y debugging! En Java, inclusive, ni siquiera existen las variables globales! (Aunque parezca difícil de

13


Aunque estos lenguajes no eran modernos, el hecho que fueran uniformemente utilizados en sus respectivas áreas evitaba duplicaciones.

enriquecer el estandar. Por ejemplo, RTL/2 y LIS. c) “bases recomendadas”: Los lenguajes Pascal, PL/I y Algol 68 fueron considerados como posibles puntos de partida para el diseño del lenguaje final.

La situación con respecto a los sistemas incrustados era diferente. La cantidad de lenguajes utilizados era enorme. No sólo cada unidad militar tenía su lenguaje de alto nivel favorito, sino que usaban varios lenguajes assembler. En resultado era que había gastos innecesarios en compiladores y costos adicionales en entrenamiento y mantención debido a la falta de estandarización.

En este punto el documento de requerimientos fue revisado y reorganizado (Ironman). Se llamó a propuestas para el diseño del lenguaje. Se recibieron diecisiete propuestas de las cuales se eligieron tres para que “compitieran” en paralelo. Los cuatro elegidos fueron CII Honeywell Bull (verde), Intermetrics (Rojo), Softech (Azul) y SRI International (Amarillo). Los códigos de color se introdujeron para que la comparación se realizara anónimamente. Los diseños iniciales aparecieron a comienzos de 1978 y fueron analizados por varios grupos alrededor del mundo. El DoD juzgó que los diseños Verde y Rojo eran más promisorios que los Azul y Amarillo y éstos últimos fueron eliminados.

Se determinó que la única forma de controlar efectivamente los costos en los sistemas incrustados era estandarizar el uso de lenguajes de programación. El primer paso en esta dirección fue la generación de un documento en que se delineaban los requerimientos del lenguaje estandar. La primera versión (Strawman) fue publicada en 1975. Después de recibir comentarios de diversas fuentes el documento fue refinado (Woodenman). En junio de 1976 se produjo una nueva versión (Tinman). Este era un documento más específico e identificaba la funcionalidad que se requería del lenguaje.

Entonces, el desarrollo entró en una segunda fase y se dio a los desarrolladores un año más para refinar sus diseños. Los requerimientos también fueron mejorados a la luz de la retroalimentación recibida de los diseños iniciales (Steelman).

En esta etapa se evaluaron varios lenguajes existentes respecto a la especificación Tinman. Como se podría esperar ninguno de éstos satisfacía totalmente los requerimientos; por otro lado la impresión general era que sería necesario crear un nuevo lenguaje basado en conceptos de vanguardia en el área de la programación.

La elección final del lenguaje fue hecha el 2 de mayo de 1979 cuando el “lenguaje verde” desarrollado en CII Honeywell Bull por un equipo internacional liderado por Jean Ichbiah fue declarado ganador. Entonces el DoD anunció que el nuevo lenguaje sería conocido como Ada en honor de Augusta Ada Byron, condesa de Lovelace (1815-1852). Ada, hija de Lord Byron, fue la asistente y mecenas de Charles Babbage y trabajó en su “máquina analítica”. En un cierto sentido ella fue la primera programadora de la historia.

Los lenguajes existentes fueron clasificados en tres categorías: a) “no apropiados”: Lenguajes obsoletos u orientados a otras áreas que no fueron considerados en las etapas siguientes. Por ejemplo, FORTRAN y CORAL 66. b) “no inapropiados”: Estos lenguajes tampoco eran satisfactorios, pero tenían algunas características interesantes que podían ser tomadas como “inspiración” para

Entonces el desarrollo de Ada entró a una tercera etapa, el propósito de la cual fue el que los eventuales usuarios hicieran sus comentarios respecto a que tan conveniente era el lenguaje para sus necesidades. Se continuó con otros estudios de los que se concluyó que Ada era un buen lenguaje, pero que en algunas

14


áreas todavía se requerían algunos refinamientos. Después de esto (en julio de 1980) se publicó la primera versión definitiva del lenguaje y se la propuso a la ANSI (America National Standards Institute) como un estandar.

BIBLIOGRAFIA TJOYANES AGUILAR. LUIS Programación en C MC GRAW HILL EDICION: 2006

La estandarización por parte de ANSI tomó unos dos años y se le introdujeron algunos cambios a Ada. El Manual de Referencia del Lenguaje estandar de la ANSI fue finalmente publicado en enero de 1983. A esta versión del lenguaje se le conoce como Ada 83.

TJOYANES AGUILAR. LUIS Programación en C ++ McGraw Hill. EDICION: 2002 http://sarapaola22.wordpress.com/about/

Tan pronto como se comenzó a utilizar el lenguaje se iniciaron los estudios para su mejora basada en la experiencia práctica de los usuarios con el lenguaje. A la nueva versión se le denominó Ada 9X, entre las principales mejoras hechas sobre la anterior se cuenta la incorporación de mecanismo de herencia en el manejo de tipos con que contaba Ada 83, el cual, a pesar de ser muy poderoso, al carecer de herencia herencia no se adecuaba al paradigma de Orientación a Objetos. A esta segunda versión de Ada se denomina actualmente como Ada 95.

http://sarapaola22.wordpress.com/caracteri sticas-de-una-publicacion-digital/ http://sarapaola22.wordpress.com/metadat os/

Francisco Pérez P./ José Alberto Diaz Hernández/ Josué Darinel Pérez Hernández LENGUAJES DE PROGRAMACION

cientifica /vol 1 num 03 Universidad Valle del Grijalva pp .2-15

15


lenguajes de programcion inicio