Suscribirse a:
Enviar comentarios (Atom)
Características
[editar]
COBOL
Fue dotado de unas excelentes capacidades de auto
documentación, una buena gestión de archivos y una excelente gestión de los
tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados.
Para evitar errores de redondeo en los cálculos que se producen al convertir
los números a binario y que son inaceptables en temas comerciales, COBOL puede
emplear y emplea por defecto números en base 10. Para facilitar la creación de
programas en COBOL, la sintaxis del mismo fue creada de forma que fuese
parecida al idioma inglés, evitando el uso de símbolos que se impusieron en
lenguajes de programación posteriores.
El lenguaje fue diseñado teniendo en cuenta que los
programas serían escritos en tarjetas perforadas de 80 columnas. Así por
ejemplo, las líneas debían ser numeradas y la única alteración posible en el
orden de ejecución era producida con la instrucción goto. Estas
características han evolucionado de versión en versión. Las actuales contienen
subprogramas, recursión y una variada gama de estructura de control.
Lo que fue la primera tentativa de proyección de un lenguaje
de programación de alto nivel, tiene una
sintaxis considerada arcaica por muchos programadores que aprenden
lenguajes más modernos. Es difícil escribir un bucle "for", y errores en la escritura de sólo un carácter
pueden llevar a errores durante el tiempo de ejecución en vez de errores de
compilación, en el caso de que no se usen las construcciones más frecuentes.
Algunas de las versiones anteriores no poseían facilidades que son consideradas
como útiles en las máquinas modernas, como la asignación dinámica de memoria.
Se debe tener en cuenta que la sintaxis de Fortran fue afinada para el uso en
trabajos numéricos y científicos y que muchas de sus deficiencias han sido
abordadas en revisiones más recientes del lenguaje. Por ejemplo, Fortran 95
posee comandos mucho más breves para efectuar operaciones matemáticas con
matrices y dispone de tipos. Esto no sólo mejora mucho la lectura del programa
sino que además aporta información útil al compilador. Por estas razones
Fortran no es muy usado fuera de los campos de la informática y el análisis
numérico, pero permanece como el lenguaje a escoger para desempeñar tareas de
computación numérica de alto rendimiento
Simula:
3.
CARACTERÍSTICAS:
Fue,
probablemente, el primer lenguaje que presentó las nociones de clase y herencia
jerárquica. No se admite la herencia múltiple. El ocultamiento de información
se lleva a cabo “protegiendo” una característica, lo cual, a su vez, evita que
sea heredada en lo sucesivo.
Admite la sobrecarga de métodos.
La comprobación de tipos se puede
realizar, bien estáticamente en el momento de la compilación, para mayor
eficiencia, o bien en el momento de la ejecución si se define una
característica como “virtual”.
Problema:
El sistema necesita
llevar a cabo la recolección de basura de vez en cuando, es decir, necesita
reutilizar la memoria que fue ocupada por instancias asignadas anteriormente,
pero que ya no se están utilizando. (Ralentiza los programas)
Simula es un lenguaje orientado a
objetos, puro ya que no permite salirse de la orientación a
objetos para realizar programación clásica.
Problema:
Simula, no disponía
de depuradores, visores y tampoco disponía de ninguna aplicación que permitiese
visualizar su Jerarquía de clases. Smalltalk si disponía de ello, lo que
facilitaba el trabajo de los programadores. Consiguiendo una mejor difusión
entre la comunidad de programadores que Simula.
EJEMPLO DE UN PRODUCTO MATRICIAL
- Estructura de un procedimiento
en Simula para multiplicar las matrices A y B y obteniendo el resultado en C:
Procedure matmult (A, B, C, m, n, p);
Array A, B, C;
integer m, n, p;
Begin integer i, j, k;
For i:=1 step 1
until m do
For j:=1 step 1
until n do
Begin
C [i, j]:=0;
For k:=1 step 1
until p do
C [i, j]:= C [i, j]
+ A [i, k] × B [k, j];
End
End;
Java
Características del lenguaje
Java es un lenguaje orientado a objetos, eso implica que
su concepción es muy próxima a la forma de pensar humana. También posee otras
características muy importantes:
Es un lenguaje que es compilado, generando ficheros
de clases compilados, pero estas clases compiladas, son en realidad
interpretadas por la máquina virtual de java. Siendo la máquina virtual de java
la que mantiene el control sobre las clases que se estén ejecutando.
Es un lenguaje multiplataforma: El mismo código
java que funciona en un sistema operativo, funcionará en cualquier otro sistema
operativo que tenga instalada la máquina virtual java.
Es un lenguaje seguro: La máquina virtual, al
ejecutar el código java, realiza comprobaciones de seguridad, además el propio
lenguaje carece de características inseguras, como por ejemplo los punteros.
Gracias al API de java podemos ampliar el lenguaje
para que sea capaz de, por ejemplo, comunicarse con equipos mediante red,
acceder a bases de datos, crear páginas HTML dinámicas, crear aplicaciones
visuales al estilo Windows, ...
Para poder trabajar con java es necesario emplear
un software que permita desarrollar en java. Existen varias alternativas
comerciales en el mercado: JBuilder, Visual Age, Visual Café,... y un conjunto
de herramientas shareware, e incluso freeware, que permiten trabajar con java.
Práctica:
Construyamos una clase que pida un número por
teclado y muestre la tabla de multiplicar de dicho número. Lo primero es
escribir el código de dicha clase, para ello emplearemos cualquier editor de
texto, pero hay que guardar el fichero de texto como texto plano.
El fichero vamos a llamarlo TablaMultiplicar.java y lo vamos a
almacenar en un directorio, por ejemplo c:\java
El código a escribir, y todavía no nos preocupamos
por como es, será:
Public class TablaMultiplicar {
Public static void main (String arg []){
Int numero = Integer.parseInt (arg [0]);
For (int i = 1; i<=10; i++) {
System.out.println (""+numero+" *
"+i+" = "+ (i*numero));
}
}
}
Una vez escrito, debemos guardar los cambios en el
fichero fuente. Ahora debemos compilar la fuente, para ello iremos a una
ventana de Consola y mediante CD nos moveremos hasta el directorio donde se
encuentre el fichero fuente:
CD c:\java
Una vez allí debemos de compilar el código fuente:
Javac TablaMultiplicar.java
Esto provocará, si no hay errores en el código, que
se genere un fichero llamado TablaMultiplicar.class
Y ya podemos ejecutar la aplicación:
Java TablaMultiplicar 6
Ahora probaremos a compilar un fuente con un error
de sintaxis dentro del código, el fichero TablaMultiplicarError.java lo
obtendremos de la carpeta de ejemplos del manual.
Javac TablaMultiplicarError.java
Esto provocará que se muestre por pantalla el
siguiente error:
TablaMultiplicarError.java:3: ';' expected
Int numero = Integer.parseInt (arg [0])
^
1 error
Dentro del cuál podemos apreciar que existe un error
en el fichero TablaMultiplicarError.java en la línea 3, siendo además el error
que se esperaba un ';'. Después aparece la línea en la cuál está situado el
error.
Práctica
Vamos a construir la clase Persona, pero no estará
completa hasta que no la completemos con características que iremos viendo en
capítulos posteriores. Fabricaremos la clase Persona poco a poco, para ello:
Construir el fichero Persona.java
Agreguemos la clase dentro del fichero:
Public class Persona
{
}
Agreguemos a la clase los atributos de persona (en
este caso seleccionaremos dos atributos):
Private String nombre = null;
Private int edad;
Como resultado final obtendremos:
Public class Persona
{
Private String nombre = null;
Private int edad;
}
Ahora vamos a crear una clase que emplearemos única
y exclusivamente para que tenga la función main, y así poder escribir código
que queremos ejecutar. Llamaremos a dicha clase Arranque, por tanto:
Creamos el fichero Arranque.java
Agreguemos la clase y el método main en su interior:
Public class Arranque {
Public static void main (String arg[]){
}
}
Ahora agregaremos dentro de la función main el
siguiente código:
Persona per1 = new Persona ();
//per1.nombre = "Luís";
//System.out.println (per1.nombre);
En el que declaramos una variable de tipo Persona y
le damos el valor de un nuevo objeto de la clase Persona, en la segunda línea
asignamos al atributo nombre del objeto per1 el valor Luis, y en la tercera
línea mostramos por pantalla (gracias al método System.out.println) el valor de
dicha variable.
La segunda y tercera líneas están comentadas,
debido a que el atributo nombre está definido como privado en la clase Persona.
Ejercicio: Descomentar la segunda y tercera línea y
compilar las clases, leer el error de compilación provocado. Cambiar el tipo
del atributo nombre de prívate a public y compilar y ejecutar. Volver a dejar
todo como al comienzo (Comentada la línea y con nombre como variable privada).
Práctica:
Crear el fichero Array.java
Agregar el siguiente código en el fichero:
Public class Array
{
Public static void main (String arg [])
{
Int [] los valores = null;
Los valores [4] = 100;
System.out.println(los valores [4]);
}
}
Compilamos el código, ejecutemos y...error!!! Parece extraño que el error sea NullPointerException,
pero tiene sentido, recordemos que una variable java, que no sea de tipo básico
es una referencia que puede apuntar a objetos y por tanto los valores también
es una referencia y debe de apuntar a objetos de tipo array de enteros. Es
decir, el código de la función main es necesario modificarlo:
Int [] los valores = new int [10];
Los valores [4] = 100;
La modificación consiste básicamente en asignar a
la variable los valores un objeto de tipo array de enteros. La sintaxis para
crear un objeto de tipo array es:
New tipo [cantidad]
Donde tipo es el tipo de datos que contendrá el
array. Cantidad es el número máximo de elementos que podemos almacenar dentro
del array. A la hora de acceder a las posiciones del array hay que tener en cuenta
que la primera posición es 0 y la última cantidad-1
Ahora vamos a tratar de escribir el mismo código, pero empleando en
lugar del tipo int, el tipo Persona:
Práctica:
Crear el fichero Array2.java
Agregar el siguiente código en el fichero:
Public class Array2
{
Public static void main (String arg [])
{
Persona [] las personas = new Persona [10];
Las personas [4].setNombre ("Luis");
System.out.println (las personas [4].getNombre ());
}
}
Veamos: definimos un array de 10 objetos de tipo
Persona y lo asignamos a la variable las personas. Accedemos a la persona 4 del
array y la asignamos un nombre al objeto 4 mediante el método setNombre de la
clase Persona. Posteriormente mostramos por pantalla el nombre del objeto
Persona 4.
Compilemos y ejecutemos: ERROR!!! Al ejecutar genera
el error NullPointerException. La explicación es sencilla: Al crear un array de
objetos en realidad el array no contiene objetos, sino que contiene variables
de tipo referencia para apuntar a los objetos. Arreglemos nuestro código para
poder ejecutarlo de nuevo:
Persona [] las personas = new Persona [10];
Las personas [4] = new Persona ();
Las personas [4].setNombre ("Luis");
System.out.println (las personas [4].getNombre ());
Si es necesario se puede averiguar el tamaño de
cualquier array java, mediante de un atributo público que poseen todos los
objetos de tipo array, independientemente del tipo de objetos que almacene
dicho array en su interior. Este atributo se denomina length y para usarlo:
miArray.length
En la siguiente práctica usaremos dicho atributo
para crear un bucle (los veremos más adelante) que permita mostrar por pantalla
todos los elementos que hay en un array llamado arg.
Práctica:
Crear el fichero Array3.java
Lo que vamos a hacer es tratar de ejecutar nuestra
clase Array3, pero en lugar de ejecutarla mediante: "java Array3"
vamos a ejecutarla mediante "java Array3 Esto es una prueba", es
decir, vamos a pasar argumentos a nuestro programa. Dichos argumentos son
recibidos dentro del array llamado arg que existe en la definición del método
main.
Agreguemos el siguiente código dentro del fichero
Array3.java:
Public class Array3
{
Public static void main (String arg [])
{
System.out.println (“Hay " + arg.length +
" parámetros.”);
System.out.println (“Los parámetros son: " );
Int i = 0;
While (i<arg.length) {
System.out.println (“parámetro " + i + ":
" + arg[i]);
I++;
}
}
}
Ada:
Ada es un lenguaje de programación orientado a objetos y fuertemente tipado
de forma estática que fue diseñado por Jean Ichbiah de CII Honeywell Bull por
encargo del Departamento de Defensa de los Estados Unidos. Es un
lenguaje multipropósito, orientado a objetos y concurrente,
pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de C++.
Fue diseñado con la seguridad en mente y con una
filosofía orientada a la reducción de errores comunes y difíciles de descubrir.
Para ello se basa en un tipado muy fuerte y en chequeos en tiempo de ejecución
(desactivables en beneficio del rendimiento). La sincronización de tareas se
realiza mediante la primitiva rendezvous.
Ada se usa principalmente en entornos en los que se
necesita una gran seguridad y fiabilidad como la defensa, la aeronáutica (Boeing o Airbus),
la gestión del
tráfico aéreo (como Indra en España) y la industria aeroespacial
entre otros.
Un compilador de Ada muy usado es GNAT, originalmente
desarrollado por
Existen otros compiladores comerciales.
Éste es el típico "Hola Mundo" escrito en Ada:
With Ada.Text_IO;
procedure Hola_Mundo is
Begin Ada.Text_IO.Put("¡Hola, mundo!");End Hola_Mundo;
Smalltalk
Es un sistema informático que permite
realizar tareas de computación mediante la interacción con un entorno de
objetos virtuales. Metafóricamente, se puede considerar que un Smalltalk es un
mundo virtual donde viven objetos que se comunican mediante el envío de
mensajes.
Un sistema Smalltalk está compuesto por:
Se busca que todo lo que se pueda realizar con un ordenador se pueda
realizar mediante un Sistema Smalltalk, por lo que en algunos casos se puede
considerar que incluso sirve como Sistema Operativo.
Smalltalk es considerado el primero de los lenguajes orientados a objetos
(OOP). En Smalltalk todo es un objeto, incluidos los números reales o el
propio entorno Smalltalk.
Como lenguaje tiene las siguientes características:
Smalltalk ha tenido gran influencia sobre otros
lenguajes como Java o Ruby,
y de su entorno han surgido muchas de las prácticas y herramientas de
desarrollo promulgadas actualmente por las metodologías ágiles
(refactorización, desarrollo incremental, desarrollo dirigido por tests, etc.).
En Smalltalk todo es un objeto, y a un objeto se le envían mensajes. Por
ejemplo:
1 + 1
Significa que al objeto "1" le enviamos el mensaje "+"
con el colaborador externo, otro objeto, "1". Este ejemplo entonces
resulta en el objeto "2".
Transcript show: '¡Hola, mundo!'
En el típico Hola mundo, el objeto es
Transcript, que recibe el mensaje show con el colaborador externo '¡Hola,
Mundo!'.
Para crear una instancia de un objeto, sólo hay que mandar un mensaje new a
una clase:
Objeto new
Para obtener las vocales de una cadena de texto:
'Esto es un texto' select: [: aCharacter | aCharacter isVowel
Pascal
Es
un lenguaje de programación desarrollado por el profesor suizo
Niklaus Wirth a
finales de los años 60. Su objetivo era crear un lenguaje que facilitara el
aprendizaje de la programación a sus alumnos. Sin embargo con el tiempo su
utilización excedió el ámbito académico para convertirse en una herramienta
para la creación de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de
programación estructurado fuertemente tipificado. Esto implica que:
A diferencia de lenguajes de programación descendientes de C, Pascal
utiliza el símbolo:= para la asignación en vez de =. Si bien el segundo es más
conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de
igualdad para comparar valores en lugar del comparador de C que es el símbolo
==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear
en código C. Dado que Pascal no permite asignaciones dentro de expresiones y
utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos
errores.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva.
En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario
se detecta como desconocido y evita ciertas incomprensiones como veremos más
adelante. En la parte declarativa se enuncian Unit existentes, procedimientos,
funciones, variables, constantes y nuevos tipos de datos estructurados.
Otra diferencia importante es que en Pascal, el tipo de una variable se
fija en su definición; la asignación a variables de valores de tipo
incompatible no están autorizadas (En C, en cambio, el compilador hace el mejor
esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto
previene errores comunes donde variables son usadas incorrectamente porque el
tipo es desconocido. Esto también evita la necesidad de notación húngara, esto
es prefijos que se añaden a los nombres de las variables y que indican su tipo
Ejemplo de
código usando la estructura lineal:
Program raiz (input, output);
(*
Obtener la raíz cuadrada de un número real x cualquiera.
*)
var x, y: real;
Respuesta: string; Begin Writeln('** Calcular la raíz cuadrada de x **'); Writeln('Entrar x (> 0): '); readln(x);y:= sqrt (abs(x)); (* Raíz cuadrada del valor absoluto de x para evitar raíces imaginarias *)
writeln; If (x<0) then (* Si x es negativo, el resultado se notifica como imaginario *) Writeln('La raíz cuadrada de ', x, ' es el número imaginario ', y,'i'); Else Writeln ('La raíz cuadrada de ', x, ' es ', y); writeln; writeln('** Fin **');
readln; (* Espera a que el usuario pulse enter para salir del programa *) End.
Otro Ejemplo:
Program suma; uses crt; Var x, s: integer; Begin Clrscr; X:=1; S:=0; repeat S:=s+x; X:=x+1; Until x=50; Writeln ('la suma es ', s); readln; End.
Varios compiladores de Pascal están disponibles para el uso del público en
general:
C
Es un lenguaje de programación creado en
1972 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell
como evolución del anterior lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix.
C es apreciado por la eficiencia del código que produce y es el lenguaje de
programación más popular para crear software de sistemas, aunque también se
utiliza para crear aplicaciones.
Se trata de un lenguaje débilmente tipificado de medio nivel pero
con muchas características de bajo nivel. Dispone de las estructuras
típicas de los lenguajes de
alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un
control a muy bajo nivel.
Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar
código en ensamblador
con código C o acceder directamente a memoria o dispositivos
periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar
X3.159-1989. El lenguaje que define este estándar fue conocido vulgarmente como
ANSI C. Posteriormente, en 1990, fue
ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar
es muy amplia por lo que, si los programas creados lo siguen, el código es
portátil entre plataformas y/o arquitecturas. En la práctica, los programadores
suelen usar elementos no-portátiles dependientes del compilador o del sistema
operativo.
struct) que permiten que datos relacionados (como un
empleado, que tiene un id, un nombre y un salario) se combinen y se
manipulen como un todo (en una única variable "empleado").
1957
FORTRAN 1958 ALGOL 1960 Lisp 1960 COBOL 1962 APL 1962 SIMULA 1964 BASIC 1964
PL/I 1970 Prolog
¿Que
es JAVA?
Java es un lenguaje de programación orientado a objetos desarrollado
por Sun Microsystems a principios de los años
90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero
tiene un modelo de objetos más simple y elimina herramientas de bajo
nivel, que suelen inducir a muchos errores, como la manipulación directa
de punteros o memoria.
Básicamente un lenguaje de programación mas pero y ¿que
puedo hacer con esto? pues por lo que lei se puede hacer muchisimas cosas.
Vayamos por pasos y veamos como esta conformado Java
Básicamente a Java lo podemos dividir en cuatro principales:
Ahora explicare, de manera rapida, que es cada cosa.
Java 2 Platform, Standard Edition (J2SE):
Nos proporciona un entorno de escritorio Core Java y desarrollo de
aplicaciones Java, y es la base de Java 2 Platform, Enterprise Edition (J2EE) y
tecnologías Java Web Services . Tiene el compilador, herramientas, módulos
de ejecución, y
Java 2 Platform, Enterprise Edition (J2EE):
Define el estándar para el desarrollo basado en componentes aplicaciones
multitier enterprise. Se basa en J2SE y ofrece servicios adicionales,
herramientas y APIs para apoyar a la simplicicacion del desarrollo de
aplicaciones empresariales (Aqui pondemos tener a los Jsp, Beans, Servlets,
Jsf, Ejbeans, entre otros. Digamos que esto es para aplicaciones desde el
servidor).
Java 2 Platform, Micro Edition (J2ME):
Es un conjunto de tecnologías y especificaciones dirigidas a los
consumidores y dispositivos embebidos, como teléfonos móviles,
asistentes personales digitales (PDA), impresoras, TV y set-top boxes(que segun
supe, esta tecnología ya no se va a utilizar).
La tecnología Java Card:
Java card se adapta la plataforma Java para permitir que las tarjetas
inteligentes y otros dispositivos inteligentes con capacidad de memoria
limitada y la capacidad de procesamiento para e beneficiarse de muchas de las
ventajas de la tecnología Java.
Este texto fue una traduccion realizada por google, y en parte por mi, si
tengo errores me avisan.
Bueno, ya le dimos un vistaso a grandes rasgos de lo que es Java, en posts
posteriores, empezaremos ha realizar ejemplos, haber que tal nos va.
Descripción
y características de este potente y moderno lenguaje de
programación.
18/7/01 - Java es un lenguaje
de programación con el que podemos realizar cualquier tipo de programa.
En la actualidad es un lenguaje muy extendido y cada vez cobra más
importancia tanto en el ámbito de Internet como en la informática
en general. Está desarrollado por la compañía Sun
Microsystems con gran dedicación y siempre enfocado a cubrir las necesidades
tecnológicas más punteras.
Una de las
principales características por las que Java se ha hecho muy famoso es
que es un lenguaje independiente de la plataforma. Eso quiere decir que si
hacemos un programa en Java podrá funcionar en cualquier ordenador del
mercado. Es una ventaja significativa para los desarrolladores de software,
pues antes tenían que hacer un programa para cada sistema operativo, por
ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una
Máquina de Java para cada sistema que hace de puente entre el sistema
operativo y el programa de Java y posibilita que este último se entienda
perfectamente.
La
independencia de plataforma es una de las razones por las que Java es
interesante para Internet, ya que muchas personas deben tener acceso con
ordenadores distintos. Pero no se queda ahí, Java está
desarrollándose incluso para distintos tipos de dispositivos
además del ordenador como móviles, agendas y en general para
cualquier cosa que se le ocurra a la industria.
Pasado y presente
Java fue
pensado originalmente para utilizarse en cualquier tipo de
electrodoméstico pero la idea fracasó. Uno de los fundadores de
Sun rescató la idea para utilizarla en el ámbito de Internet y
convirtieron a Java en un lenguaje potente, seguro y universal gracias a que lo
puede utilizar todo el mundo y es gratuito. Una de los primeros triunfos de
Java fue que se integró en el navegador Netscape y permitía
ejecutar programas dentro de una página Web, hasta entonces impensable
con el HTML.
Actualmente
Java se utiliza en un amplio abanico de posibilidades y casi cualquier cosa que
se puede hacer en cualquier lenguaje se puede hacer también en Java y
muchas veces con grandes ventajas. Para lo que nos interesa a nosotros, con
Java podemos programar páginas Web dinámicas, con accesos a bases
de datos, utilizando XML, con cualquier tipo de conexión de red entre
cualquier sistema. En general, cualquier aplicación que deseemos hacer
con acceso a través Web se puede hacer utilizando Java.
Conclusión
En nuestro buscador en
la sección de Java podemos encontrar muchas páginas con
algunos tutoriales y fuentes de referencia muy útiles. Java es tan
grande que si queremos hacer cosas complicadas no podremos aprenderlo todo a
través de los tuturiales online y nos harán falta libros o
cursos. La página de Java
de Sun es sin duda la mejor referencia, aunque un poco avanzada para los
que empiezan, es la referencia más útil para los que necesitan
documentarse para algo en concreto.
No hay comentarios:
Publicar un comentario