Sunteți pe pagina 1din 66

Lenguaje RAPID. (Robotics Application Programming Interactivo Dialogue).

RAPID es un lenguaje de programacin textual de alto nivel desarrollado por la empresa


ABB. Una aplicacin RAPID consta de un programa y una serie de mdulos del sistema. El
programa es una secuencia de instrucciones que controlan el robot y en general consta de
tres partes:
Una rutina principal (main): Rutina donde se inicia la ejecucin.
Un conjunto de sub-rutinas: Sirven para dividir el programa en partes ms pequeas a
fin de obtener un programa modular.
Los datos del programa: Definen posiciones, valores numricos, sistemas de
coordenadas, etc.

Elementos bsicos.
Identificadores:
Permiten nombrar mdulos, rutinas, datos y etiquetas. Ejemplo:

- El primer carcter es siempre una letra.


- Longitud mxima 16.
- Diferencia entre maysculas y minsculas.

MODULE nombre_mdulo
PROC nomre_rutina()
VAR pos nombre_dato;nombre_etiqueta:

Espacios y caracteres de fin de lnea:


RAPID es un lenguaje sin formatos, en consecuencia los espacios pueden utilizarse en
cualquier parte excepto en: identificadores, palabras reservadas, valores numricos. Los
identificadores, las palabras reservadas y los valores numricos debern estar separados
entre s por un espacio, un carcter de fin de lnea o un tabulador.
Comentarios:
Sirven para facilitar la comprensin del programa, ocupan una lnea entera comenzando
con el smbolo ! finaliza con un carcter de fin de lnea.
! Esto es un comentario
Valores de cadena:
Secuencia de caracteres entre comillas: Esto es una cadena
Expresiones del lenguaje
Lgicas: Devuelven un valor de tipo bool
Utilizan los operadores lgicos: <, >, <>, =, <=, >=, AND, OR, NOT, XOR. Ejemplo:
DInput(di1) = 1 Doutput(do3) = 0
num1 < num2;
nombre1 = nombre2;
Doutput(do1) = 0 AND pos1.x > 100.

Lenguaje PROLOG.

(PROgrammation LOGique)
Introducido por Universidad de Aix-Marseille (Marsella, Francia) por los profesores Alain
Colmerauer y Philippe Roussel al inicio de '70. Es un lenguaje de programacin de
paradigma declarativo por el uso de toda la gente que trabaja en el campo de la
Inteligencia Artificial (lingistas). Es muy simple para aprender y manejar. Inicialmente se
trataba de un lenguaje totalmente interpretado hasta que, en 1983, David H.D. Warren
desarroll un compilador capaz de traducir Prolog en un conjunto de instrucciones de una
mquina abstracta denominada Warren Abstract Machine, o abreviadamente, WAM. Desde
entonces Prolog es un lenguaje semi-interpretado.
Sintaxis de PROLOG

Constantes: numero (enteros o con punto _otante), cadenas de caracteres con


minsculas, cadenas de caracteres entre _. Ejemplos: 2.5, 6, _la vida_, lavida, pedro,
instalacin.

Variables: una cadena de caracteres que empieza con una mayscula o con (guillon
bajo). Ejemplos : X, Xxx, Pero, , 33.
Un programa PRLOG se compone de una parte de hechos y una parte de reglas. Un hecho
es la modelizacin de los datos/situaciones elementales que se consideran ciertos. Un
hecho es un trmino que tiene todos sus parmetros constantes o evaluables directamente.
Ejemplos:
madre (ana , pedro ).
gato ( tom ).
come (tom , jerry ).
esnumero (34343).
PROLOG no est un lenguaje completo de programacin lgica, sino un lenguaje que
intenta la resolucin de las interrogaciones segn las reglas siguientes:

Primero se examina los hechos


Luego se intenta la aplicacin de la reglas de la primera con El factor indicado hasta la
ltima con este factor.
Se aplica un mtodo de back tracking el caso de fracaso (a saber, no se puede decidir
nada y no hay otra opcin)
Una interrogacin sin respuesta se interpreta como falsa.
El programa PROLOG siguiente:
hermano
hermano
hermano
hermano

(pablo , ana ).
(pablo , maria ).
(X,Y):- hermano (Y,X).
(X,Z):- hermano (X,Y), hermano (Y,Z).

Expresiones
PROLOG cuenta con operadores para la unificacin y comparacin, sea con evaluacin o
sea simblica, como los siguientes:

X is Y %unificacin con evaluacin.

X = Y

%unificacin simblica

X=:=Y

%comparacin con evaluacin

X == Y %comparacin simblica.

Listas
La lista es una estructura de datos muy utilizada en la programacin non-numrica. Es un
conjunto ordenado de elementos y puede tener cualquier dimensin.
Una lista vaca: []
Una lista con variables [X, 1, 2, Y].

Lenguaje APL
Ao: 1961
Lugar: Estados Unidos
Creador: Ken Iversen
Definicin: APL es un lenguaje de programacin
interpretado que recibe su nombre de A Programing
Language, tambin conocido como Array Processing
Language desde hace algunos aos.
Uso: Su uso est orientado a trabajos con matrices, con la
que se pueden hacer todo tipo de operaciones lgicas o
matemticas. Incluso se pueden definir nuevas operaciones
matriciales. Se considera un buen lenguaje para el desarrollo de prototipos, pues al ser tan
conciso, es un lenguaje que permite un ciclo de desarrollo muy veloz, y tambin al ser
interpretado, la velocidad de ejecucin es tpicamente ms lenta que la de los lenguajes de
programacin compilados.
Este lenguaje de programacin fue usado para el sistema Deep Blue de IBM que venci a
Kasparov al ajedrez, y su uso para hacer los efectos especiales en la pelcula Tron de Walt
Disney. Su potencia es la mejor de sus armas, y podramos decir que es espectacular, pues
una sola sentencia puede traducirse en miles de ellas en otros lenguajes, como por ejemplo
Fortran. Tiene la propiedad de que desde una rutina se puede crear, compilar y ejecutar, en
tiempo de ejecucin, otras, lo que lo hace muy apropiado para la fabricacin de
compiladores e intrpretes. La pero parte de este lenguaje es que no usa la notacin ASCII
en concreto, pues existen muchos ms smbolos, sobre todo letras griegas para el
desarrollo de los programas, por lo tanto es preciso tener un teclado especial para poder
usarlo.
APL ha sido criticado, en cambio, por su falta de legibilidad, lo que hace difcil modificar
programas antiguos (se le ha llamado, irnicamente, write-only language). Otro defecto
importante deriva del uso de smbolos propios (letras griegas y otros caracteres an menos
convencionales), lo que, adems de dificultar la escritura (al no aparecer en los teclados
normales), hace que el cdigo sea poco portable, ya que cada versin concreta de APL
almacena a su modo el cdigo fuente (y eso aparte de las habituales diferencias de una
implementacin a otra). El propio Iverson, junto con Roger Hui, ha creado un nuevo
lenguaje (J), derivado de APL, que usa slo caracteres ASCII.
Aplicaciones del APL
Como ejemplo muy sencillo: APL puede resolver un sistema de ecuaciones en una sola
sentencia. Si lo aplicamos a un sistema de ecuaciones concreto:
7x + 4y + 2z = 4
6x + 8y + 9z = 7
4x + 2y + 1z = 2

Basta ejecutar UNA UNICA sentencia de APL, cuya sintaxis es:


4 7 2 [] 3 3 7 4 2 6 8 9 4 2 1
Para obtener inmediatamente el valor resultado para cada variable (x, y, z):
0 1.1 -0.2.
Tiene la propiedad de que desde una rutina se pueden (en tiempo de ejecucin) crear,
compilar y ejecutar, otras rutinas, lo que lo hace tambien muy apropiado para la
elaboracin automtica de compiladores e intrpretes. Algunas dificultades (poco
importantes), radican en que:
1.

Necesita pegatinas (o marcar con rotulador permanente) en el teclado, para


poder ver los operadores (smbolos propios de APL) que se asignan a cada tecla (pueden
redefinirse por el usuario cuando y como guste).

2.

Los programas escritos en APL son muy concisos y ello puede hacer que sean
prolijos de documentar y de comprender para los principiantes.

3.

Al ser interpretado (en tiempo de ejecucin), su velocidad es tpicamente algo


ms lenta que la de las aplicaciones con lenguajes de programacin compilados. Ello,
hoy en dia, con las grandes velocidades de los procesadores, no supone una desventaja
apreciable, en la mayor parte de las aplicaciones. Por contra, facilita su prueba y revisin
interactiva inmediata.

Lenguaje J
Es un nuevo dialecto de APL, tambin creado por Ken Iverson. Se puede descargar
gratuitamente, aunque para usarlo como programador hace falta una clave de usuario (la
envan gratuitamente por correo electrnico despus de rellenar un pequeo formulario).
Hay versiones para Windows, MacOS X, Linux y otros sistemas operativos. Se distribuye con
una amplia documentacin (tambin disponible en el sitio).
El lenguaje de programacin J, diseado por Kenneth Iverson y Roger Hui en los '90, es una
sntesis de los lenguajes de programacin APL (diseado tambin por Iverson) y los
lenguajes funcionales FP y FL creados por John Backus (famoso por FORTRAN, ALGOL y
BNF).
Para eliminar el problema generado por el uso de un juego de caracteres especiales en APL,
J slo requiere el juego de caracteres bsicos ASCII. Se usan tanto el punto como los dos
puntos para extender el significado del juego de caracteres disponible. Dado que se trata
de un lenguaje de programacin de array, J es muy conciso y potente, y es til para crear
programas en los campos de las matemticas y de la estadstica, especialmente cuando
involucran operaciones con matrices. A diferencia de muchos lenguajes que soportan la
programacin orientada a objetos, el flexible esquema de espacio de nombres jerrquico
del lenguaje J (donde cada nombre existe en un mbito particular) puede ser usado con
efectividad como un marco de trabajo para realizar programacin orientada a objetos
basada tanto en clases, como en instancias. Ntese que el lenguaje de programacin J no
est relacionado con J++, ni su nueva versin J# (una versin propietaria del Lenguaje de
programacin Java desarrollada por Microsoft).

J es particularmente fuerte en el anlisis matemtico, estadstico y lgico de los datos. Es


una potente herramienta en construccin nueva y mejores soluciones a problemas antiguos
e incluso mejor en la bsqueda de soluciones donde el problema no es ya bien conocido. J
los sistemas tienen:

un entorno de desarrollo integrado

paquetes de utilidades y bibliotecas estndar

consola, navegador y extremos delanteros Qt

interfaces con otros lenguajes de programacin y aplicaciones

grficos integrados

memoria asignada de archivos para aplicaciones de datos de alto rendimiento

JD

"Si usted est interesado en programacin de soluciones a los difciles problemas de procesamiento de datos,
entonces el tiempo que invertir en el aprendizaje de J se se bien pasado".

J es un lenguaje de programacin extremadamente potente, y sus programas pueden ser


muy tersos, pero incluso ms crpticos. El programa 'Hola Mundo' en J es:
'Hola Mundo'
Esta implementacin de 'Hola Mundo' refleja el uso tradicional de J -- los programas son
introducidos durante unasesin del intrprete J, y los resultados de las expresiones se
muestran de modo interactivo. Tambin es posible hacer que scripts en J se puedan
ejecutar como programas independientes, pero los mecanismos usados para asociar el
script con el intrprete son dependientes del sistema. En un sistema Unix, se podra hacer
como sigue:
#!/bin/jc
echo 'Hello, world!'
exit ''

Lenguaje ActionScript
El ActionScript es un lenguaje de programacin que crea Script (conjunto de instrucciones
de un programa) de Flash, con el que crear pelculas con elementos interactivos. El Flash es
un programa para crear animaciones vectoriales para pginas web. El ActionScript nos
ayuda a crear una pelcula en la que el usuario pueda hacer por ejemplo un clic con el ratn
o presionar una tecla, entonces se ejecuta un determinado Script. Como podra ser que se
cargue otra pelcula. El ActionScript quiere conseguir que estas pelculas se comporten
exactamente como el usuario determine.
Para conseguir que las pelculas se comporten como el usuario quiere no es necesario
entender todos los posibles usos de esta herramienta de creacin de Script. Si partimos de
un objetivo claro podemos empezar a crear Script con acciones sencillas para
posteriormente incluir nuevas instrucciones a medida que las vayamos aprendiendo a
utilizar. El ActionScript es un lenguaje de programacin para la creacin de Script orientado
a objetos. Lo que significa que cuando se dan determinados eventos (por ejemplo un clic
del ratn), se producen unas determinadas acciones.

Para comenzar a crear Script no es necesario tener un conocimiento amplio del


ActionScript. Por ejemplo algo sencillo sera crear un Script que se lo asignamos a un botn
con el que queremos que al ser presionarlo nos cambie el brillo de un clip de pelcula. Con
el ActionScript tambin podemos cambiar el color, aumentar o reducir el volumen del
sonido, etc. Pero estas son algunas, las posibilidades que tiene este lenguaje de
programacin en este campo son muy amplias.
Estructura
Flash est compuesto por objetos, con su respectiva ruta dentro del swf. Cada uno de stos
en ActionScript pertenece a una clase (MovieClip, botones, Vectores (Arrays), etc.), que
contiene Propiedades y Mtodos o Funciones.
Propiedades: Dentro del archivo raz de la clase, estn declaradas como variables (alpha,
useHandCursor, length,...).

Mtodos o Funciones: Dentro del archivo raz de la clase, estn declaradas como funciones
(stop(), gotoAndPlay(), getURL(),...).

ActionScript 3

ActionScript 3.0 ofrece un modelo de la programacin robusto que resultar


familiar a los desarrolladores con conocimientos bsicos sobre programacin orientada a
objetos. Algunas de las principales funciones de ActionScript 3.0 son:

Una nueva mquina virtual ActionScript, denominada AVM2, que utiliza un


nuevo conjunto de instrucciones de cdigo de bytes y proporciona importantes mejoras de
rendimiento.

Una base de cdigo de compilador ms moderna, que se ajusta mejor al


estndar ECMAScript (ECMA 262) y que realiza mejores optimizaciones que las versiones
anteriores del compilador.

Una interfaz de programacin de aplicaciones (API) ampliada y mejorada, con


un control de bajo nivel de los objetos y un autntico modelo orientado a objetos.

Un ncleo del lenguaje basado en el prximo borrador de especificacin del


lenguaje ECMAScript (ECMA-262) edicin 4.

Una API XML basada en la especificacin de ECMAScript para XML (E4X) (ECMA357 edicin 2). E4X es una extensin del lenguaje ECMAScript que aade XML como un
tipo de datos nativo del lenguaje.

Un modelo de eventos basado en la especificacin de eventos DOM(modelo de


objetos de documento)de nivel 3.
Mientras que en ActionScript 2.0, las anotaciones de tipos eran principalmente una ayuda
para el desarrollador; en tiempo de ejecucin, se asignaban los tipos dinmicamente a
todos los valores. En ActionScript 3.0, la informacin de tipos se conserva en tiempo de
ejecucin y se utiliza con diversos fines. Flash Player 9 realiza la comprobacin de tipos en
tiempo de ejecucin, lo que mejora la seguridad de tipos del sistema. La informacin de
tipos tambin se utiliza para especificar variables en representaciones nativas de la
mquina, lo que mejora el rendimiento y reduce el uso de memoria.

Lenguaje Erlang.

Es un lenguaje funcional y de programacin concurrente, fue diseado por la compaa


Ericsson con el propsito de hacer aplicaciones que puedan soportar fallos, funcionamiento
ininterrumpido, aplicaciones distribuidas, entre otras cosas.
Tiene una caracterstica muy importante "el cambio de cdigo en caliente" el cual se refiere
a poder modificar el cdigo aun cuando la aplicacin est corriendo. Erlang no segua la
filosofa de cdigo abierto hasta 1998 cuando Ericsson lo cedi como tal. Erlang es un
lenguaje interpretado, aunque tambin se puede compilar usando el compilador HiPE,
aunque este compilador solo es para algunas plataformas es muy bueno porque pude
soportar la concurrencia caracterstica muy distintiva del lenguaje. Esta es la pgina oficial
de HiPE.
Es posible que pensemos que entender este proceso de concurrencia es complicado y ms
an aplicarlo en algn programa pero en Erlang la concurrencia es explicita y no implcita
con en otros lenguajes. El nombre de Erlang viene de las palabras Ericsson y Language.
Erlang lenguaje funcional
Los programa en Erlang estn compuestos de bloques "funciones" y las identificamos por
su nombre y el numero de argumentos de entrada tambin llamado "aridad". Por ejemplo
las
funciones
multiplicacion/2,
multiplicacion/3,
multipicacion/4
pueden
existir
perfectamente juntas y llamndose a cada una segn el numero de datos que se introduzca
por el usuario, los resultados que devuelven las funcione son puede ser de cualquier
elemento soportado por Erlang flotante, tupla, entero, lista, etc.
mi_funcion(dato1, dato2, ...) ->
instruccin,
instruccin,
resultado_a_devolver
Tambin podemos escribir alguna condicin antes de ">" podemos poner que si se cumple
algo entonces se lleve a cabo determinada instruccin esto lo hacemos con "when" una
forma de implementarlo sera:
mi_funcion(dato1, dato2) when dato1 > 0 ->
Y algo muy importante en Erlang aprender a escribir el ".".
Hice un programa en Erlang que muestra su caracterstica como lenguaje funcional, bueno
primero que nada abro el terminal y escribo:
cecy@cecy-desktop:~$ emacs -nw geom.erl
Las caractersticas ms destacadas de Erlang son:

Lenguaje funcional
Soporte de concurrencia
Tolerancia a fallas
Cambio de cdigo en caliente
Posibilidad de conectar con cdigo C, Java y otros lenguajes

La concurrencia es una caracterstica importantsima del lenguaje fue creada


especialmente para las aplicaciones de telecomunicaciones: gran disponibilidad, cambiar
cdigo sin detener la aplicacin, etc.

Lenguaje Ada.
Ada es un lenguaje de programacin orientado a objetos y fuertemente tipado de forma
esttica que fue diseado por Jean Ichbiah de CII Honeywell Bull por encargo del
Departamento de Defensa de los Estados Unidos. Es un lenguaje multipropsito, orientado
a objetos y concurrente, pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de
C++. Fue diseado con la seguridad en mente y con una filosofa orientada a la reduccin
de errores comunes y difciles de descubrir. Para ello se basa en un tipado muy fuerte y en
chequeos en tiempo de ejecucin (desactivarles en beneficio del rendimiento). La
sincronizacin 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 aeronutica (Boeing o Airbus), la gestin del trfico area y la
industria aeroespacial entre otros. Ada, es uno de entre muchos posibles lenguajes de
programacin. Fue diseado con un claro propsito en mente: la calidad del producto. El
lenguaje fue diseado bajo encargo del Departamento de Defensa de los Estados Unidos
(DoD). Durante los aos 1970, este departamento tena proyectos en una infinidad de
lenguajes y estaba gastando mucho dinero en software. Para solucionarlo se busc un
lenguaje nico que cumpliese unas ciertas normas recogidas en el documento Steelman.
Despus de un estudio de los lenguajes existentes en la poca se decidi que ninguno las
cumpla totalmente, por lo que se hizo un concurso pblico al que se presentaron cuatro
equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics), Verde (CII
Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International). Finalmente en mayo de 1979
se seleccion la propuesta Verde diseada por Jean Ichbiah de CII Honeywell Bull, y se le dio
el nombre de Ada. Esta propuesta era un sucesor de un lenguaje anterior de este equipo
llamado LIS y desarrollado durante los aos 1970.

Abstraccin de datos
Se puede obtener mayor transportabilidad y mejor mantenimiento si se pueden separar los
detalles de la representacin de los datos y las especificaciones de las operaciones lgicas
sobre los mismos.
Procesamiento paralelo
Para muchas aplicaciones es importante que el programa se pueda implementar como una
serie de actividades paralelas. Dotando al lenguaje de estos mecanismos, se evita tener
que aadirlos por medio de llamadas al sistema operativo, con lo que se consigue mayor
transportabilidad y fiabilidad.
Componentes lxicos
Se pueden encontrar en Ada los siguientes componentes lxicos:

Identificadores

Literales numricos

Literales de tipo carcter

Cadenas de caracteres

Delimitadores

Comentarios

Palabras reservadas.

Un compilador de Ada muy usado es GNAT, originalmente desarrollado por la Universidad


de Nueva York bajo patrocinio del DoD. Est basado en la tecnologa de GCC y es software
libre. Actualmente est mantenido por AdaCore (antes llamada Ada Core Technologies),
empresa que ofrece soporte y servicios sobre el compilador. Existen otros compiladores
comerciales.
ste es el tpico "Hola Mundo" escrito en Ada:
with Ada.Text_IO;
procedure Hola_Mundo is
begin
Ada.Text_IO.Put("Hola, mundo!");
end Hola_Mundo;

Lenguaje Haskell.
En los aos setenta se produjo lo que se conoce como la crisis del software. La gran
mayora del software que se produca no era fiable. Tena una gran tasa de errores que
pona en grave peligro la confianza de los usuarios en estos sistemas. Por esta razn se
propuso una solucin: crear un nuevo modelo programacin, lo que se conoce como
programacin funcional. Dentro de este tipo de programacin tenemos lenguajes como: el
Haskell, el LISP, el Miranda, el Scheme, etc.
El Haskell naci como lenguaje de programacin en el ao 1987, desde entonces se ha
desarrollado considerablemente como un lenguaje de programacin funcional puro, de
propsito general. El Haskell tiene todas las innovaciones de los lenguajes funcionales como
son: desarrollo de las funciones de orden superior, evaluacin perezosa, tipos definidos por
el usuario, tipos polimrficos estticos, definiciones de listas por comprensin, encajes
patronales, etc. Haskell es un lenguaje funcional puro, no estricto y fuertemente tipificado.
* Puro = transparencia referencial:
* No estricto = usa un orden no aplicativo (Evaluacin perezosa).
* Tipificacin fuerte = los elementos del lenguaje utilizables estn clasificados en distintas
categoras o tipos.
Un programa consiste en definiciones de funciones.
Declararla: indicar el tipo
Definirla: dar el mtodo de computo
Los principales tipos de datos bsicos predefinidos en Haskell son: Char, Int, Integer, Float,
Double y Bool .
- - Un ejemplo de ficheroHaskell
- - Calcula el siguiente entero al argumento
sucesor :: Integer ! Integer
sucesor x = x + 1
- - Calcula la suma de los cuadrados de sus dos argumentos
sumaCuadrados :: Integer ! Integer ! Integer
sumaCuadrados x y = x x + y y

El lenguaje evoluciona rpidamente y (ver ms abajo) como los representantes actuales del
estndar de facto. El ltimo estndar semi-oficial es Haskell 2010, cuyas diferencias
respecto al anterior estndar Haskell 98 son:
Nuevas caractersticas del lenguaje:

Interfaz de funciones forneas (FFI), que permite usar cdigo C en un programa


Haskell y cdigo Haskell en un programa C. Un ejemplo explicativo se puede encontrar
aqu

Nombres jerrquicos para los mdulos, por ejemplo Data.Bool.

Guardianes con patrones.

Funcin recursiva para calcular el factorial de un nmero natural:


--Funcin recursiva que calcula la factorial de un nmero natural
factorial :: Integer -> Integer
factorial n
| n < 0 = error "no existe el factorial para enteros negativos"
| n == 0 = 1
| otherwise = n * factorial (n-1)

Otra versin de la funcin para calcular el factorial de un natural usando la funcin product
del mdulo Data.List:
--Funcin para calcular el factorial de un entero usando la funcin product del
mdulo Data.List
factorial :: Integer -> Integer
factorial n
| n < 0 = error "no existe el factorial para enteros negativos"
| n == 0 = 1
| otherwise = product [1..n].

Lenguaje Progress 4GL.

(Lenguajes de Cuarta Generacin)

Progress es un producto que entre otras cosas incluyen un manejador de bases de datos
muy estable con capacidad para grandes empresas. El lenguaje de progress es en 4GL que
es muy cmodo y te permite programar muchas cosas con pocas lneas. Progress maneja
con su lenguaje tanto los programas como los trigguers de base de datos. Es una
herramienta que te permite si no puede hacer algo por su propia cuenta te permite usar
APIS de terceros incluyendo DLL y OCX, o incluso puedes manejar otras bases de datos con
el mismo lenguaje. Progress corre en varias plataformas, incluyendo Windows y Unix y el
lenguaje lo puedes ejecutar igualmente en cualquiera de las plataformas aunque el sistema
se encuentre en una y la base de datos en otra. Aunque progress no se anuncie mucho es
un producto profesional muy bueno. Y est funcionando en muchas empresas incluyendo
pequeas empresas hasta muy famosas y conocidas.
Los lenguajes de cuarta generacin o bien 4GL son herramientas encargadas de optimizar
el desarrollo de software automatizando la creacin de este. Se han utilizado
principalmente en la generacin de cdigo para GUI y adems en la implementacin de
programas que facilitan las tareas de los desarrolladores y clientes.
La base de los 4GL es que el usuario no dice como se harn las cosas, solo brinda
parmetros y el programa se encargara de generar el solicitado por el usuario, sea esto
desde generacin de reportes de bases de datos a solucionar un problema matemtico.

Esta plataforma es muy potente. Gracias a ella los desarrolladores pueden olvidarse de las
complejidades de los entornos informticos de hoy en da, permitindoles concentrarse en
lo que realmente importa, crear la lgica de negocio de sus aplicaciones. Los sistemas que
componen la plataforma OpenEdge son compatibles, fiables y escalables, sin embargo
requieren menos recursos administrativos que otras plataformas. OpenEdge es una
plataforma abierta y flexible. Un desarrollador de OpenEdge puede crear APIs para clientes
de .NET, clientes de Java, mensajes de Java, hasta el esquema de de base de datos en
formatos XML, eso, sin nunca dejar la eficiencia de Progress 4GL y de las herramientas de
OpenEdge.
Progress incluye herramientas de programacin y de bases de datos, y recursos de
servidores todo en su ambiente, permitiendo fcil acceso a todos los recursos para crear
aplicaciones. Progress garantiza a los usuarios disponibilidad y accesibilidad en sus bases
de datos, ya que el tamao de las tablas puede ser excesivamente grande sin problema
alguno. Adems, las pruebas realizadas han mostrado que la plataforma OpenEdge tiene
una escalabilidad aproximada de ms de 30,000 usuarios simultneos.
Esta garanta de calidad que da Progress, hace de este un programa muy usado en el
momento, con una gran funcionalidad. Adems es un programa muy simple de utilizar en
comparacin a otros como SQL, donde se tardara mucho ms tiempo creando una base de
datos.
Tipos de lenguajes de cuarta generacin
Existen diferentes tipos de lenguajes de cuarta generacin, cada uno con una funcin en
particular. Entre ellos estn los generadores de reportes, los generadores de forms,
ambientes de cuarta generacin, administradores de datos y los generadores de
aplicaciones.
Los generadores de reportes (Report Generators) toman una descripcin del formato y el
reporte a generar, y de ah pueden generar el reporte de forma directa, o bien un programa
que genere el reporte. Existen unos generadores de reportes utilizados para genera
informes a partir de una base de datos. Se parece a un lenguaje de consultas en que
permite al usuario hacer preguntas sobre la base de datos y obtener informacin de ella
para un informe. Sin embargo, en el generador de informes se tiene un mayor control sobre
el aspecto de la salida.
Los generadores de Forms (Forms Generators), en algunos casos manejan iteraciones
online con los usuarios de la aplicacin o bien crean un programa para que manejen esta
iteracin. Permiten que el usuario defina el aspecto de la pantalla, qu informacin se debe
visualizar y en qu lugar de la pantalla debe visualizarse. Algunos generadores de
formularios permiten la creacin de atributos derivados utilizando operadores aritmticos y
tambin permiten especificar controles para la validacin de los datos de entrada.

Lenguaje PL/1.
PL/1, acrnimo de Programming Language 1 (Lenguaje de Programacin 1), fue propuesto
por IBM hacia 1970 para responder simultneamente a las necesidades de las aplicaciones
cientficas y comerciales, disponible en las novedosas plataformas de utilidad general IBM
360 y ms adelante IBM 370.
Este lenguaje tena muchas de las caractersticas que ms adelante adoptara el lenguaje C
y algunas de C++. Por desgracia, IBM registra el nombre del lenguaje como forma de
mantener control sobre su desarrollo, lo que disuadi a otras empresas de dar ese nombre
a sus implementaciones. No siendo posible encontrar un nico lenguaje para diversas
plataformas, los potenciales usuarios del lenguaje prefirieron no adoptarlo a pesar de sus
mltiples innovaciones, que incluan multiprocesamiento, recursin, estructuras de control

modernas, facilidades para la puesta a punto, asignacin dinmica de espacio para


estructuras de datos, procedimientos genricos, etc. Sin embargo, dentro de los usuarios
de IBM, el lenguaje se utiliz con bastante intensidad, y el proyecto Multics utiliz PL/1
como lenguaje de desarrollo para su sistema de operacin.
PL/1 fue probablemente el primer lenguaje comercial cuyo compilador estaba
escrito en el lenguaje que compilaba.
Ejemplos de cdigo: Hola Mundo.
Test: procedure options(main);
declare My_String char(20) varying initialize('Hola, mundo!');
put skip list(My_String);
end Test;

Mostrar la posicin de las lneas que coinciden con un patrn.


/* Lee una lnea que contiene una cadena
/* y luego imprime cada linea sucesiva que contiene dicha cadena. */
find_strings: procedure options (main);
declare pattern character (100) varying;
declare line
character (100) varying;
declare (line_no, end_file) fixed binary;
end_file = 0;
on endfile (sysin) end_file = 1;
get edit (pattern) (L);
line_no = 1;
do while (end_file = 0);
get edit (line) (L);
if index(line, pattern) > 0 then
put skip list (line_no, line);
line_no = line_no + 1;
end;
end find_strings;

Lenguaje PowerBasic.
Muchos usuarios comeinzan programando en lenguaje BASIC. Por aquellos das era no
estructurado (con nmeros de lnea), e interpretado. Adems en mi caso, sobre un
hardware de 8 bits.
Bastante tiempo despus, con Turbo Basic, llegu a la compilacin, que como ahora es
conocido por todos, permita transformar el cdigo fuente, en este caso en cdigo
ejecutable nativo. Adems Turbo Basic implementaba un dialecto de BASIC estructurado,
que permita evitar el cdigo espagueti.

Turbo Basic 1.0 escrito por Bob Zale, y vendido a Borland, apareci en 1986, llegando a la
revisin 1.1 de 1987. A partir de este momento, y por causas que nunca llegaron a
aclararse, qued olvidado. De este modo, los que ramos fieles a BASIC, nos pasamos a
Quick BASIC y BASIC Compiler / BASIC Professional Development System de Microsoft.
En 1990, el autor original, crea PowerBASIC 2.0, como una actualizacin sobre lo que ya aportara
Turbo Basic 1.1, y que va recibiendo actualizaciones hasta 1997 con la versin 3.5. En aquel tiempo,
Powerbasic compite no solamente con otros compiladores de BASIC, sino con Pascal y C en cuanto a
eficiencia de cdigo y caractersticas. Entre ellas hay que destacar los punteros, el ensamblador en
linea, el soporte de memoria EMS, o la generacin de cdigo de 16 bits optimizado para
procesadores 386.

Lenguaje COBOL.
El Cobol (del ingls: Common Business Oriented Language, o Lenguaje Comn Orientado a
Negocios) se invent en los aos 60. Naci con el objetivo de ser un lenguaje de
programacin verstil, que pudiese ser usado en cualquier computador.
En los aos 60 era muy difcil que el software creado para una mquina concreta sirviese
para otra diferente. Porque la mayora de estas computadoras eran incompatibles entre s.
Con el Cobol se quera conseguir este lenguaje de programacin que fue compatible con los
principales modelos de computadoras. Se quera adems conseguir con este nuevo
lenguaje de programacin que estuviese destinado a los negocios, concretamente a lo que
conocemos como informtica de gestin. As naci el Cobol, como un lenguaje de
programacin compatible con la mayora de las computadoras y destinado principalmente a
la gestin.

Por estas razones podemos decir que el Cobol es un lenguaje de programacin que nada
tiene que enviar a otros como el Visual Basic, Delphi, etc. El Cobol cuenta con entornos de
programacin grficos, nos permite hacer aplicaciones con una interfaz grfica con SQL
incrustada para que podamos tener acceso a la mayora de las bases de datos SQL del
mercado. El Cobol es ideal para el desarrollo de aplicaciones que soporten un gran nmero
de usuarios.
Caractersticas del Lenguaje Cobol
1.- Es un lenguaje auto-documentado: se supona en un inicio que COBOL sera un lenguaje
accesible para agentes no programadores, o sea se hablaba de que estos pudieran revisar
el cdigo sin tener conocimientos de programacin, la idea a pesar de que no fue
completamente efectiva, hizo que cobol se convirtiera en el lenguaje auto-documentado
ms fcil de entender.
2.- Es un lenguaje simple con una funcionalidad limitada: no tiene punteros ni funciones ni
tipos definidos por el usuario
3.- Es portable: su estndar no pertenece a ninguna marca concreta y puede ser llevado a
todo tipo de mquinas por ejemplo Windows, UNIX, OS/2 entre otros.
4.- Es mantenible: como se ha dicho ya, COBOL tiene una gran facilidad de interpretacin y
una gran legibilidad y adems tiene una rgida estructura jerrquica y por medio de todo
esto su mantenimiento se facilita muchsimo. Como ejemplo se podra ver que en el ao
2000 con el problema Y2K muchas aplicaciones COBOL se vieron afectadas y de igual
manera su reparacin fue mucho ms fcil y barata en comparacin con otros lenguajes.
5.- Rgida estructura jerrquica de que dispone.
El xito de COBOL
La mayora se sorprende cuando se da cuenta de que las cifras se inclinan claramente a
favor de COBOL en el dominio del mercado. El entorno de algunos lenguajes tratara de
convencernos de que la mayora de la produccin en el mundo se hace en Java, C, C++ o
Visual Basic y que solo un pequeo porcentaje est hecha en COBOL, pero la realidad es bien
distinta.
Una de las razones para esta concepcin errnea radica en la diferencia entre el software
vertical y el horizontal:
En el mercado del software vertical, las aplicaciones requieren de millones de dlares de
inversin para su produccin, estn dirigidas a empresas concretas, rigen las reglas de esa
compaa, y existe un pequeo nmero de copias funcionando en todo el mundo. Un ejemplo
es el sistema DoD MRP II, que funciona en grandes servidores en determinados puntos
geogrficos de EE.UU., y sirve para organizar componentes de equipos con inventarios por
valor de alrededor de 28 billones de dlares.
Sintaxis de COBOL
La sintaxis de COBOL est definida usando una notacin particular que se suele llamar
MetaLenguaje COBOL.
En esta notacin, las palabras en maysculas son siempre palabras reservadas. Si una
palabra est subrayada, significa que es obligatoria su inclusin; si no lo estn, pueden
considerarse ruido o explicaciones con respecto a los dems comandos, para su
legibilidad. Dado que COBOL trata de parecerse al idioma ingls, hay muchas de estas
palabras ruido. Las palabras con maysculas y minsculas representan nombres, y como
tal, deben ser ideados por los propios programadores.

Cuando hay material encerrado entre llaves { }, se trata de opciones que deben elegirse de
entre los elementos contenidos, como si de un conjunto algebraico se tratase.
Cuando hay elementos encerrados entre corchetes [ ], indica que el material es opcional, y
puede ser incluido u omitido segn se requiera.
Cuando se encuentran puntos suspensivos... indica que el elemento sintctico precedente
puede ser repetido o continuado a voluntad del programador.
Diagrama sintctico de ejemplo
En COBOL, evaluar una expresin aritmtica, y asignar el resultado a una variable de datos
se consigue mediante el comando COMPUTE. A continuacin vemos el diagrama sintctico
de COMPUTE:
ON SIZE ERROR
COMPUTE {Result#i [ROUNDED]} ...

]}Instrucciones END
NOT-

= Expresin aritmtica [{

COMPUTE

ON
SIZE
ERROR

Este diagrama se interpretara de la siguiente manera:


Empezamos una instruccin COMPUTE con la palabra COMPUTE.
Seguimos con el nombre de la variable numrica (o los nombres, vanse los puntos suspensivos) para recibir
el resultado de la expresin. El sufijo #i tras la variable Result nos indica que se trata de un identificador
numrico.
LAS CUATRO DIVISIONES

En la parte superior de la jerarqua de COBOL se encuentran las 4 Divisiones. stas dividen


un programa en distintos elementos estructurales. Algunas de las Divisiones pueden ser
omitidas, pero la secuencia en que han de especificarse es fija, y es la que sigue:
Divisin
Divisin
Divisin
Divisin

de
de
de
de

Identificacin: Contiene informacin de programa


Entorno: Contiene informacin del entorno
Datos: Contiene descripciones de datos
Procedimientos: Contiene los algoritmos del programa.

Los programas COBOL tienen estructura jerrquica. Cada elemento de la jerarqua puede
tener uno o ms elementos subordinados. La jerarqua es Divisiones, Secciones, Prrafos,
Oraciones y Expresiones.
Una Divisin puede contener una o ms Secciones, una Seccin uno o ms Prrafos, un
Prrafo una o ms Oraciones, y cada Oracin una o ms Expresiones.
Divisin: Es un bloque de cdigo, normalmente contiene una o ms secciones, y comienza
donde se encuentra el nombre de la Divisin, y termina con la siguiente Divisin o con el fin
del programa.
Seccin: Podemos aplicar la misma definicin que en Divisin.
Los nombres de secciones pueden ser creados por el programador o venir ya definidos en el
lenguaje. Un nombre de seccin va seguido de SECTION y un punto.

Lenguaje NATURAL.
NATURAL es un lenguaje de cuarta generacin de Software AG.
Cdigo del programa Hola Mundo! En NATURAL: WRITE 'Hola Mundo!'END

Tiene la sentencia de control de flujo "ESCAPE TOP", la cual es similar a "continue" en C, o


"Continue For" en "Visual Basic.NET 2005", excepto que tambin funciona dentro de una
subrutina para retornar desde la misma y continuar con la siguiente iteraccin del bucle de
proceso. Como "continue", evita gran nmero de indentaciones cuando se usan bloques
anidados de instrucciones dentro de cualquier sentencia de tipo bucle.
Ejemplo con ESCAPE TOP:
DEFINE DATA LOCAL
1 I (N3)
END-DEFINE
FOR I = 2 TO 100
IF (I / 2 * 2) =
WRITE 'Nmero'
ESCAPE TOP
END-IF
IF (I / 3 * 3) =
WRITE 'Nmero'
ESCAPE TOP
END-IF
IF (I / 5 * 5) =
WRITE 'Nmero'
ESCAPE TOP
END-IF
IF (I / 7 * 7) =
WRITE 'Nmero'
ESCAPE TOP
END-IF
IF (I / 11 * 11)
WRITE 'Nmero'
ESCAPE TOP
END-IF
WRITE 'Nmero' I
END-FOR
END

/* 3 dgitos, sin decimales


I AND I > 2
I 'es divisible entre 2'
I AND I > 3
I 'es divisible entre 3'
I AND I > 5
I 'es divisible entre 5'
I AND I > 7
I 'es divisible entre 7'
= I AND I > 11
I 'es divisible entre 11'
'es primo'

Los niveles de indentacin pueden ser ajustados automticamente con el comando STRUCT
dentro del Editor de NATURAL. El mismo ejemplo, sin ESCAPE TOP:
DEFINE DATA LOCAL
1 I (N3)
/* 3 dgitos, sin decimales
END-DEFINE
FOR I = 2 TO 100
IF (I / 2 * 2) = I AND I > 2
WRITE 'Nmero' I 'es divisible entre 2'
ELSE
IF (I / 3 * 3) = I AND I > 3
WRITE 'Nmero' I 'es divisible entre 3'
ELSE
IF (I / 5 * 5) = I AND I > 5
WRITE 'Nmero' I 'es divisible entre 5'
ELSE
IF (I / 7 * 7) = I AND I > 7
WRITE 'Nmero' I 'es divisible entre 7'
ELSE
IF (I / 11 * 11) = I AND I > 11
WRITE 'Nmero' I 'es divisible entre 11'
ELSE
WRITE 'Nmero' I 'es primo'
END-IF
END-IF
END-IF

END-IF
END-IF
END-FOR
END

Lenguaje C Shell.
Un shell en UNIX es un intrprete de comandos. El Unix soporta dos tipos diferentes de
shells, el Bourne shell y el C shell. Ambos shells tienen la misma finalidad, pero por
diferentes caminos. El C shell es realmente una ampliacin del Bournell shell. En este
captulo veremos por lo tanto una descripcin del C shell. El Cshell posee un lenguaje de
programacin similar al lenguaje de programacin C, de ah el nombre de C shell.
Las capacidades bsicas del C shell son:
Crear notaciones taquigrficas para un comando o una serie de comandos.
Ejecutar varios trabajos simultneamente, con o sin nuestra intervencin.
Parar un trabajo y empezar de nuevo.
Ejecutar comandos usados previamente.
Personalizar el ambiente a las necesidades personales.
Escribir programas a nivel de comandos, para realizar cualquier tipo de tarea.
Algunos datos acerca de C Shell
Su sintaxis es muy parecida al lenguaje de programacin C, razn por la cual los
archivos de secuencias de shell escritos para csh con frecuencia no pueden
ejecutarse bajo bash o ksh.
Edicin de comandos, histricos y asignacin de alias son alguna de las caractersticas
de shell C deseables que no son disponibles en Bourne.
Su indicador es el signo de porcentaje (%).
El programa ejecutable para este shell se encuentra en el archivo /bin/csh (Linux).
El mandato csh inicia el shell C.
Cuando inicia la sesin, el mandato csh busca en primer lugar el archivo de configuracin
de todo el sistema /etc/csh.cshrc. Si el archivo de configuracin existe, el shell C ejecuta los
mandatos almacenados en dicho archivo. A continuacin, el shell C ejecuta el archivo de
configuracin de todo el sistema /etc/csh.login, si est disponible. Despus, busca en el
directorio inicial los archivos .cshrc y .login. Si existen, contienen informacin de usuario
personalizada pertinente para ejecutar el shell C. Todas las variables establecidas en los
archivos /etc/csh.cshrc y /etc/csh.login podran alterarlas temporalmente los archivos .cshrc
y .login del directorio $HOME. Slo el usuario root puede modificar los archivos
/etc/csh.cshrc y /etc/csh.login.
Los archivos /etc/csh.login y $HOME/.login slo se ejecutan una vez durante el inicio de
sesin. Por lo general, estos archivos se utilizan para contener las definiciones de las
variables de entorno, los mandatos que desea que se ejecuten una vez al iniciarse la sesin
o los mandatos que establecen las caractersticas del terminal.

Lenguaje Shell UNIX.


El Shell

Se conoce con el nombre de Shell al programa que atiende a los rdenes tecleadas en el
terminal y las traduce (interpreta) a instrucciones en la sintaxis interna del sistema; es
decir es l interprete de comandos del sistema operativo UNIX. Tambin se le conoce con el
nombre de caparazn. (Anlogo al Command.com de MS-DOS).
El shell es tambin un lenguaje de programacin que soporta todas las estructuras propias
de los lenguajes modernos. Adems permite la utilizacin de todas las primitivas del
sistema operativo de control de procesos, interrupciones y utilidades para disear
programas de comandos por el usuario. A los programas realizados con el shell se les llama
Shell Scripts, Procedimientos Shell o Guiones de Comando.
Los shell en Unix se clasifican en dos grandes grupos: el tipo Bourne y el tipo C. Los shell
tipo Bourne toman su nombre a partir de su inventor, Steven Bourne. Steven Bourne
escribi el shell original de Unix, denominado sh; a partir de entonces, la mayora de los
shells tienen un nombre con el sufijo sh para indicar que son extensiones de la idea
original. Existen varias implementaciones de este shell, que colectivamente llevan el
nombre de shells Bourne. Tambin son comunes los shells tipo C cuyo original fue
implementado por Bill Joy. Tradicionalmente, los shell Bourne se han utilizado para los
scripts de shell y por razones de compatibilidad con el sh original, mientras que los shells C
han sido ms comunes en su aplicacin interactiva. (Los C tienen ventajas en cuanto a sus
mejores caractersticas interactivas, aunque son ms difciles de programar).
Estructura de una lnea de comandos
Una vez iniciada una sesin UNIX y estando presente el prompt $, el interprete de
comandos Shell est preparado para recibir un comando, cuya estructura es la siguiente:
$ comando [parmetros] [argumentos] [separador]
Nombre: Nombre del comando
Parmetros: Posibles variaciones de actuacin del comando.
Argumentos: Nombre del elemento (archivo, directorio..) sobre el que se quiere aplicar el
comando.
Separador: Delimitador que sirve para separar comandos
Ejemplo:
$cc

-o

Ejemplo.c

Who

Comando

Parmetros

argumento

Separador

Otro comando

Los comandos consisten en una secuencia de letras, nmeros y caracteres. Hay que tener
en cuenta que UNIX hace diferencia entre maysculas y minsculas.
Caractersticas del shell.
La caracterstica ms destacable del shell es la versatilidad: facilidad de modificacin
y de adaptacin a las necesidades y preferencias de cada usuario en particular.
Proporciona diversas facilidades al usuario:
Redireccionamiento de la salida o la entrada standard.
Metacaracteres, caracteres especiales con significado propio.
Filtros, que se encargan de gestionar la informacin de los ficheros.
Conexionado entre rdenes, mediante el uso de tuberias (pipes). Cuando se interconexionan dos
rdenes, la salida de un proceso se convierte en la entrada del siguiente. As se elimina la necesidad
de crear ficheros temporales intermedios.

Lenguaje Shell-Script.

Ya vimos hace algunas lecciones una introduccin al interprete de comandos de Linux


(shell). Vamos a ampliar nuestros conocimientos sobre la shell y si bien antes consideramos
a la shell como un interprete de comandos en esta leccin veremos que es mucho ms que
eso. La shell de Linux que vamos a usar es la Bash que como ya dijimos es un
superconjunto de la Bourne-Shell. Sin lugar a dudas esta leccin le permitir dar un salto
enorme en el aprovechamiento de su SO Linux.

El lenguaje shell-script es muy verstil aunque hay que advertir que es bastante ineficiente. Son mucho
ms eficientes los programas escritos en lenguaje C. Este es el lenguaje en el que se escribi el kernel de
Linux y otros muchos SO. El Bash no es tan eficiente como el C. El valor del lenguaje shell-script es que
permite hacer cosas complicadas con muy poco esfuerzo en perfecta combinacin con una serie de
comandos tambin muy potentes disponibles en Linux. Algunas partes del SO que no pertenecen al kernel
estn escritas en shell-script. Por ejemplo muchos comandos que se van ejecutando en secuencia mientras
el sistema arranca son programas realizados en shell-script as que la ineficiencia no es ningn obstculo
para ciertas tareas. Por el contrario para un administrador tener ciertos programas del sistema en shellscript le permite retocarlos a su gusto con gran facilidad.
Ejecucin con la shell-actual.
Hasta este momento siempre hemos arrancado una sub-shell que lea las rdenes del
fichero, las ejecutaba y despus terminaba y mora cediendo el control nuevamente a la
shell original que arranc la sub-shell. Existe una forma de decirle a la shell actual que lea
y ejecute una serie de rdenes por si misma sin arrancar una sub-shell. Para ello hay que
anteponer un punto y un blanco al nombre del comando. Nuevamente solo har falta
permiso de lectura.
# Ejecutar ordenes de un fichero desde la shell actual
. ./fichero_ordenes

En este caso no se ha ejecutado mediante una sub-shell pero no se aprecia ninguna


diferencia. Esto no siempre es as. Veamos un ejemplo en el que se aprecie la diferencia. $$
tomar el valor del pid de la shell en ejecucin y $PPID tomar el valor del pid del proceso
padre.
$echo echo \$PPID \$$ > fichero_ordenes
$ bash fichero_ordenes
213 2396
$ . ./fichero_ordenes
1 213

Evidentemente cuando pruebe este ejemplo obtendr un pid distinto de 213 pero lo
interesante es ver como ambas ejecuciones establecen claramente que la primera
fue efectuada por un proceso hijo de la shell que se ejecuta en segundo lugar
usando el punto, seguido del espacio y del 'fichero_ordenes'.

Lenguaje Go.
Es un lenguaje de programacin concurrente y compilado inspirado en la sintaxis de C. Ha
sido desarrollado por Google y sus diseadores iniciales son Robert Griesemer, Rob Pike y
Ken Thompson. Actualmente slo est disponible para los sistemas operativos Windows,
GNU/Linux y Mac OS X.[
El da de la publicacin del lenguaje Go, Francis McCabe, desarrollador del lenguaje de
programacin Go! (Anteriormente llamado Go), solicit que se le cambiase el nombre al
lenguaje de Google para evitar confusiones con su lenguaje. [4] McCabe cre Go! en el ao
2003; sin embargo, an no ha registrado el nombre. [5] Go es un nuevo lenguaje de
programacin para sistemas lanzado por Google en noviembre de 2009. Aunque empez a
ser desarrollado en septiembre de 2007 por Robert Griesemer, Rob Pike y Ken Thompson.
Go es un lenguaje de programacin compilado, concurrente, imperativo, estructurado,
orientado a objetos de una manera bastante especial y con recolector de basura que de
momento est soportado en diferentes tipos de sistemas UNIX, incluidos Linux, FreeBSD y
Mac OS X. Tambin est disponible en Plan 9 puesto que parte del compilador est basado
en un trabajo previo sobre el sistema operativo Inferno.
Caractersticas

Go usa una sintaxis parecida a C por lo que los programadores que hayan usado dicho
lenguaje se sienten muy cmodos con l.

Go usa tipado esttico (statically typed) y es tan eficiente como C.

Go tiene muchas de las caractersticas y facilidad de lenguajes dinmicos como Python

Aun siendo un lenguaje diseado para la programacin de sistemas, provee de un


recolector de basura, reflexin y otras capacidades de alto nivel que lo convierten en un
lenguaje muy potente.

Go admite el paradigma de programacin orientada a objetos, pero a diferencia de los


lenguajes de programacin ms populares no dispone de herencia de tipos y tampoco de
palabras clave que denoten claramente que soporta este paradigma. Otro detalle que
puede resultar confuso es que la definicin de un tipo ("clase") se realiza por medio de
declaraciones separadas (interfaces, structs, embedded values). Go permite el uso de
delegacin (a travs de embedded values) y polimorfismo (por medio de interfaces).
Go, al igual que C y C++, es un lenguaje compilado con algunas caractersticas peculiares.
Es un lenguaje concurrente que soporta canales de comunicacin basados en el lenguaje
CSP de Sir Charles Antony Richard Hoare, creador del algoritmo de ordenacin QuickSort y
ganador del Turing en 1980. La concurrencia en Go es diferente a los criterios de
programacin basados en bloqueos como pthreads.
El clsico programa Hola mundo en Go es similiar a como se hara en C++. Con este mtico
ejemplo podemos apreciar que en cuanto a sintaxis son muy similares:
package main
import "fmt"
func main() {

fmt.Printf("Hola, mundo.\n")
}

La notacin de los comentarios es exactamente la misma que la de C++:


/* ...
...
... */
// ...

Lenguaje Meta o ML.


ML es un lenguaje de programacin funcional (impuro) de propsito general, desarrollado
por Robin Milner y otros, a principios de los 70 en la Universidad de Edimburgo. Su sintaxis
se inspira en el ISWIM. ML son las siglas de Meta Lenguaje, pues su objetivo inicial fue
servir como lenguaje para desarrollar tcticas de pruebas en el sistema demostrador de
teoremas LCF. Es conocido por el uso del algoritmo de inferencia del tipo HindleyMilner,
que puede automticamente inferir los tipos de la mayora de las expresiones sin necesidad
de que explcitamente se especifiquen los tipos de datos.
Frecuentemente se clasifica a ML como un lenguaje funcional impuro dado que permite
programar imperativamente con efecto colateral, a diferencia de otros lenguajes de
programacin funcional, tales como Haskell. Entre las caractersticas de ML se incluyen
evaluacin por valor, lgebra de funciones, manejo automatizado de memoria por medio de
recoleccin de basura, polimorfismo parametrizado, anlisis de esttico de tipos, inferencia
de tipos, tipos de datos algebraicos, llamada por patrones y manejo de excepciones. Esta
combinacin particular de conceptos hace que sea posible producir una de los mejores
compiladores actualmente disponibles.
En la actualidad varios lenguajes de la familia ML estn disponibles, principalmente
Standard ML (SML) y Ocaml (Ocaml contiene la sintaxis de ML como un subconjunto). Varias
ideas aparecidas en ML han influido el diseo de otros lenguajes, tales como Cyclone y
Nemerle. Los lenguajes de la familia ML se aplican principalmente en diseo y manipulacin
de lenguajes de programacin (compiladores, analizadores, demostradores de teoremas),
as como en bioinformtica, sistemas financieros, protocolos de sincronizacin, etc.
Primeros pasos en ML
Manejando cadenas de caracteres:
- "Hola Mundo";
val it = " Hola Mundo " : string
Operando enteros: - 3+4;
it = 7 : int
Creacin de funciones: fun <nombre> <parmetros> = <expresin>;
fun doble x = 2*x;
fun incremento x = x+1;
Tipos bsicos
Tipos bsicos: integer, real, string, char, boolean.
Listas de enteros:
[1,2,3] : int list

Lista de cadenas de caracteres:


[David",Jess,Blas"] : string list
Listas compuestas:
[(2,3),(2,2),(9,1)] : (int * int) list
Listas de listas:
[[],[1],[1,2]] : int list list

Lenguaje Standard ML.


El lenguaje de programacin Standard ML o SML es un lenguaje descendiente del
lenguaje ML que naci como el Meta Lenguaje del sistema LCF. A diferencia de muchos
otros lenguajes de programacin, SML tiene una especificacin formal, como semntica
operacional publicada en el libro The Definition of Standard ML.
Implantaciones

Standard ML of New Jersey (abreviado SML/NJ) es un compilador completo, junto


con sus bibliotecas, herramientas, y documentacin.

Moscow ML es una implementacin liviana, basada en el ambiente de ejecucin


de CAML Light. Implementa el lenguaje SML completo, incluyendo sus mdulos, tambin
incluye la mayor parte de la biblioteca de ase de SML.

MLton es un compilador para programas completos (no maneja la nocin de


mdulos).
Poly/ML es una implantacin completa de Standard ML.
SML2c es un compilador para firmas estructuras y funciones que genera cdigo
en lenguaje C. Est basado en SML/NJ versin 0.67 y comparte con esa versin la mayor
parte del ambiente de ejecucin, pero no planta ni herramientas de puesta a punto ni
perfiles de ejecucin. La compatibilidad a nivel de los mdulos con SML/NJ es completa.
Todas las distribuciones mencionadas son de tipo software libre. No hay versiones
comerciales de SML disponibles.

Lenguaje Visual basic .NET.


Visual Basic .NET (VB.NET) Es un lenguaje de programacin orientado a objetos que se
puede considerar una evolucin de Visual Basic implementada sobre el framework .NET. Su
introduccin result muy controvertida, ya que debido a cambios significativos en el
lenguaje VB.NETno es compatible hacia atrs con Visual Basic, pero el manejo de las
instrucciones es similar aversiones anteriores de Visual Basic, facilitando asi el desarollo de
aplicaciones ms avanzadas con herramientas modernas.
La gran mayora de programadores de VB.NET utilizan el entorno de desarrollo integrado
(IDE) Microsoft Visual Studio en alguna de sus versiones (Visual Studio .NET, Visual

Studio .NET 2003, Visual Studio .NET 2005, Visual Studio .NET 2008), aunque existen otras
alternativas, como SharpDevelop (que adems es libre).<br /> Al igual que con todos los
lenguajes de programacin basados en .NET, los programas escritos en VB .NET requieren
el Framework .NET para ejecutarse.
En el desarrollo de software, un framework es una estructura conceptual y tecnolgica de
soporte definida, normalmente con artefactos o mdulos de software concretos, con base
en la cual otro proyecto de software puede ser organizado y desarrollado. Tpicamente,
puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros
programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.
NET es un framework de Microsoft que hace un nfasis en la transparencia de redes, con
independencia de plataforma de hardware y que permita un rpido desarrollo de
aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal que
integre todos sus productos, desde el sistema operativo hasta las herramientas de
mercado.

La plataforma .NET de Microsoft:


Es un componente de software que puede ser aadido al sistema operativo Windows.
Provee un extenso conjunto de soluciones predefinidas para necesidades generales de la
programacin de aplicaciones, y administra la ejecucin de los programas escritos
especficamente con la plataforma. Esta solucin es el producto principal en la oferta de
Microsoft, y pretende ser utilizada por la mayora de las aplicaciones creadas para la
plataforma Windows.
NET Framework se incluye en Windows Server 2008, Windows Vista y Windows 7. De igual
manera, la versin actual de dicho componente puede ser instalada en Windows XP, y en la
familia de sistemas operativos Windows Server 2003. Una versin "reducida" de .NET
Framework est disponible para la plataforma Windows Mobile, incluyendo telfonos
inteligentes. Al igual que con todos los lenguajes de programacin basados en .NET, los
programas escritos en VB .NET requieren el Framework .NET o Mono para ejecutarse. Si
Visual Basic .NET debe considerarse una mera versin de Visual Basic, o si debe
considerarse como un nuevo lenguaje de programacin es un tema que ha trado mucha
discusin, y que an la trae.
La sintaxis bsica es prcticamente la misma entre VB y VB.NET, con la excepcin de los
aadidos para soportar nuevas caractersticas como el control estructurado de
excepciones, la programacin orientada a objetos, o los Genricos.
Las diferencias entre VB y VB.NET son profundas, sobre todo en cuanto a metodologa de
programacin y bibliotecas, pero ambos lenguajes siguen manteniendo un gran parecido,
cosa que facilita notablemente el paso de VB a VB.NET.
Visual Basic 2008 (VB 9.0)
Para esta versin se aadieron varias novedades, incluyendo:

Soporte para LINQ

Expresiones lambda

Literales XML

Visual Basic 2010 (VB 10.0)


Visual Basic 2010 ofrece soporte para entorno de ejecucin dinmica. VB 2010 forma parte
de Microsoft Silverlight. Visual Basic es un lenguaje de programacin que permite realizar
diferentes programas de registro anidados. Entornos de desarrollo (IDE) alternativos a
Visual Studio
Para desarrollar en VB.NET existen algunas alternativas a Visual Studio, quizs la ms
notable sea SharpDevelop.
SharpDevelop
SharpDevelop es un entorno de programacin integrado que permite programar en C# y en
VB.NET. Este es un entorno publicado bajo licencia LGPL, lo que implica que es libre y que
disponemos del cdigo fuente.
MonoDevelop
MonoDevelop es una implementacin de SharpDevelop para programar usando Mono, una
implementacin libre de .NET que funciona en distintos sistemas operativos.

Lenguaje F#.
F# es un lenguaje de programacin que proporciona compatibilidad con la programacin
funcional as como con la programacin convencional orientada a objetos e imperativa (de
procedimiento). El producto Visual F# permite desarrollar aplicaciones en F# y extender
otras aplicaciones de .NET Framework mediante cdigo F#. F# es un miembro de primera
clase de los lenguajes .NET Framework y conserva un gran parecido con la familia de
lenguajes funcionales de ML. Es una variante del lenguaje de programacin ML y es
compatible con la implementacin Objective Caml. F# fue inicialmente desarrollado por
Miguel Tentei Corts Solrzano y Don Syme de Microsoft Research, pero actualmente est
siendo desarrollado por la Divisin de Desarrolladores de Microsoft y es distribuido como un
lenguaje totalmente soportado en la plataforma .NET y Visual Studio 2010, 2012 y 2013.
F# admite las construcciones de programacin funcional, tales como:

Funciones como valores, lo que permite la manipulacin flexible de las


funciones. Para obtener ms informacin, vea Funciones como valores de primera clase
(F#).

Composicin y canalizacin de funciones, lo que permite el encadenamiento de


funciones para crear otras nuevas y simplificar la codificacin de operaciones sucesivas
con datos. Para obtener ms informacin, vea Funciones (F#).

Inferencia de tipos, lo que reduce la necesidad de llamar explcitamente a los


tipos, sin sacrificar la seguridad de tipos.

Generalizacin automtica, lo que promueve la reutilizacin de cdigo


facilitando la escritura de cdigo que funciona con diversos tipos diferentes sin ningn
esfuerzo adicional.

Compatibilidad con la coincidencia de modelos, lo que simplifica el cdigo


condicional complejo, y las uniones discriminadas, que se optimizan para su uso con la
coincidencia de modelos.

Tipos de coleccin para trabajar con datos inmutables, incluidos tipos de lista y
secuencia.

Expresiones lambda, que son importantes para numerosas construcciones de


programacin funcional.

Aplicacin parcial de argumentos de funcin, lo que permite crear


implcitamente nuevas funciones a partir de funciones existentes. Para obtener ms
informacin, vea Funciones (F#).

Expresiones de cdigo delimitadas, una caracterstica que permite manipular


las expresiones de F# mediante programacin.

Las funciones y expresiones que no retornan ningn valor tienen como


tipo de retorno unit. F# usa la palabra clave let para enlazar valores a nombres.
Por ejemplo,
let x = 3 + 4
Enlaza el valor 7 al nombre x.

Nuevos tipos son definidos usando la palabra clave type. Para una programacin
funcional, F# provee los tipos tuple, record, discriminated union, list y option. Una
tupla representa una coleccin de n valores. El valor n es llamado la aridad de la
tupla. Una 3-tuple podra ser representada como (A, B, C), donde A, B y C son valores
con posiblemente diferente tipos. Un record es un tipo donde los datos son
nombrados, por ejemplo: { Name:string; Age:int }. Los records pueden ser creados
como { Name="AB"; Age=42 }. La palabra clave with es usada para crear una copia de
un record, por ejemplo: { r with Name="CD" }, el cual crea un nuevo rcord copiando r
y cambiando el valor del campo Name (asumiendo que el rcord creado en el
ejemplo anterior fue nombrado r).
Un tipo discriminated union es un type-safe versin de las uniones de C. Por ejemplo,
type A =
| UnionCaseX of string
| UnionCaseY of int

Lenguaje FORTRAN.
Fortran. (Formula Translating System), es un lenguaje orientado al clculo numrico,
diseado en sus inicios para las computadoras IBM y usado en aplicaciones cientficas y de
ingeniera y es el ms antiguo de los Lenguajes de alto nivel. El FORTRAN desde sus inicios

domin el rea de la programacin y se ha mantenido su desarrollo y aplicacin por ms de


50 aos en distintos segmentos de la ciencia y tcnica. El FORTRAN uno de los lenguajes
ms usados en la Computacin de alto rendimiento, adems se utiliza para el desarrollo de
programas que evalan el desempeo y el posicionamiento de los Supercomputadores.
Este lenguaje fue propiedad absoluta de IBM hasta 1961, al pasar el tiempo se fue
extendiendo a computadoras de otros fabricantes. Al igual que otros lenguajes de
programacin, FORTRAN tiene varias versiones, las cuales aaden mejor funcionalidad al
mismo.
El nacimiento de este lenguaje se debe principalmente a John Backus en unin de Richard
Goldberg, Sheldon F. Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving
Ziller, Lois Haibt y David Sayre, todos ellos de la nmina de IBM, quienes en 1954 presentan
el informe titulado Preliminary Report, Specifications for the IBM Mathematical FORmula
TRANslating System, FORTRAN.
Se caracteriza por su potencia en los clculos matemticos, pero est limitado en las
aplicaciones de gestin, manejo de archivos, tratamiento de cadenas de caracteres y
edicin de informes. Es un lenguaje notorio, por la facilidad con que permite expresar una
ecuacin. FORTRAN fue diseado teniendo en cuenta el uso de la Tarjeta perforada de 80
columnas, por lo que el orden de las instrucciones deba ser secuencial, es decir la
programacin de los algoritmos era lineal, para producir cualquier alteracin del orden de la
lgica, se introduce la instruccin Goto.

Estructura bsica de un programa FORTRAN


-

Declarations
Main program
Subprogram 1
Subprogram 2
Subprogram n
Los subprogramas son pequeos programas que se ejecutan a voluntad del programador.

Fortran 90 incorpora los mdulos, la recursividad y sobrecargas de operadores, adems


nuevos tipos de datos. Se considera una actualizacin importante para poner a FORTRAN al
nivel de los otros lenguajes modernos. La escritura se hace finalmente en formato libre.
FORTRAN 2003 : como su viejo colega COBOL, FORTRAN soporta ahora la Programacin
orientada a objetos.
A continuacin se muestra el cdigo fuente en lenguaje Fortran de un programa que
permite realizar un ajuste o regresin lineal de una serie de datos:
REGRESION LINEAL.FORTRANS
APLICACION
DIMENSION TIEMPO(1000),PROD(1000)
OPEN(1,FILE='HISTORIA.txt')
I=0
10
READ(1,*,END=80)T,P
I=I+1
TIEMPO(I)=T
PROD(I)=P
GO TO 10
80
NDATOS=I
CALL AJULIN(TIEMPO,PROD,NDATOS,A,B)
WRITE(*,90)A,B
90
FORMAT('LA ECUACION ES:Y=',F10.2,'+',F10.2,'X')
20
FORMAT(20F10.0)
END

Lenguaje ABAP.
El ABAP (Advanced Business Application Programming o Procesador Genrico para la
Preparacin de Informes) es un lenguaje de programacin de cuarta generacin. El ABAP se
utiliza para programar los Sistemas de Planificacin de Recursos de una empresa. ABAP fue
desarrollado por SAP como lenguaje de informes para SAP R/2, en los aos 80, una
plataforma que permita a las grandes corporaciones construir aplicaciones de negocios
para gestin de materiales y finanzas. ABAP, muy parecido al COBOL en sus orgenes,
originalmente significaba Allgemeiner Berichtsaufbereitungsprozessor, palabras alemanas
para procesador genrico para la preparacin de informes. En sus inicios ABAP inclua el
concepto de Bases de datos lgicas, que suministraba un alto nivel de abstraccin para el
acceso a bases de datos.
Estos sistemas de planificacin de recursos son procedimientos de gestin de la
informacin que automatizan la mayora de las prcticas de negocio relativas a los
aspectos operativos o productivos de cualquier organizacin. Toda esta gestin se lleva a
cabo a travs de una serie de mdulos, como por ejemplo: finanzas, ventas y distribucin,
logstica, gestin de materiales, recursos humanos, etc. El ABAP es un lenguaje de
programacin especializado en la gestin de los sistemas de planificacin de recursos de
las empresas. Utiliza sentencias de otro lenguaje de programacin el Open SQL para
conectar bases de datos. Es buen lenguaje para el manejo de archivos, bases de datos,
fechas, etc.
El ABAP se invent en los aos 80, con este lenguaje se quera conseguir una especie de
plataforma que permitiera a las grandes empresas crear aplicaciones para mejorar la
gestin de sus negociosActualmente muchas empresas estn usando el ABAP como
lenguaje de programacin que es capaz de soportar un enorme caudal de transacciones
como es el caso de la banca. El Cobol realizaba antes de la dcada de los 80 estas tareas,
hoy en da el ABAP le est quitando mercado al Cobol, la mayora de la empresas han
apostado por el ABAP, nicamente le queda al Cobol, un sector tan importante como es la
banca, que se niega a cambiarse al nuevo sistema implantado por el lenguaje ABAP.
Sintaxis
Una breve descripcin acerca de la sintaxis de ABAP comienza inevitablemente por el
conocido Hola mundo
"Hola Mundo"
REPORT TEST.
WRITE 'Hola Mundo'.
Este ejemplo contiene dos declaraciones: REPORT y WRITE. El programa muestra una lista
en pantalla. En este caso, la lista consiste en una simple lnea donde pondr Hola Mundo.
La declaracin REPORT indica que este programa es un informe. Alternativamente se podra
usar PROGRAM para los module pool
ABAP posee dos formas de definir comentarios:
Un asterisco a la izquierda de la lnea hace que toda la lnea sea un comentario
Las doble comillas en cualquier lugar en una lnea hace que el resto de la
misma se convierta en un comentario
REPORT BOOKINGS.

* Leer libros de vuelo de la base de datos


SELECT * FROM FLIGHTINFO
WHERE CLASS = 'Y'
"Y = precio
OR
CLASS = 'C'.
"C = clase
(...)

Lenguaje ALICE.
Paradigma

Multiparadigma,
imperativo,
funcional,
paralelo,
imperativo.

Apareci en

2000

Diseado por

Universidad del Sarre

ltima versin estable 1.4 (3 de mayo de


2007)
Tipo de dato

Fuertemente tipado,
inferencia de tipos.

Influido por

Meta Lenguaje,
Oz.

Sistema operativo

Multiplataforma

Alice es un lenguaje de programacin


funcional diseado en el Programming
Systems Lab de la Universidad del Sarre. Es un
dialecto de Standard ML, extendido con
soporte
para
evaluacin
perezosa,
Concurrencia (Programacin muti-hebras y
programacin distribuida por medio de
llamada
remota
de
procedimientos)
y
Programacin por restricciones.
La implementacin de Alice de la Universidad
Saarland utiliza la mquina virtual abstracta
extensible SEAM (Simple Extensible Abstract
Machine por sus siglas en ingls). Es un
Software libre, que incluye compilacin al
vuelo hacia cdigo binario propio as como
para cdigo de mquina para la arquitectura
x86.

El mecanismo de llamada remota de procedimientos de Alice depende de su mquina virtual


y permite realizar llamadas entre diferentes computadores.
Ejemplo
Alice extiende Standard ML con primitivas para evaluacin perezosa y concurrencia. Por
ejemplo, se puede crear nuevas hebras (threads, en ingls) con la primitiva spawn. El
ejemplo siguiente implemente de forma ingenua una funcin que calcula los nmeros de
Fibonacci:
fun fib 0 = 0
| fib 1 = 1
| fib n = fib(n-1) + fib(n-2);
Para grandes valores de n, fib n el tiempo de cmputo aumentar sustancialmente. Ese
clculo puede realizarse en una hebra diferente al evaluar
val x = spawn fib n;
La variable x se liga a un valor futuro. Cuando una operacin requiere el valor actual de x, su
evaluacin queda bloqueada hasta tanto el valor est disponible.

Lenguaje R.
R es un lenguaje y entorno de programacin para anlisis estadstico y grfico. Su
historia ya fue contada en genbetadev y no quiero ser repetitivo pero para hacer un
resumen, podramos decir que es un dialecto libre del lenguaje S, desarrollado por Robert
Gentleman y Ross Ihaka del Departamento de Estadstica de la Universidad de Auckland en
1993.

R al estar orientado a las estadsticas, proporciona un amplio abanico de


herramientas.

Entre otras caractersticas de R, podemos nombrar su capacidad grfica, que


permite generar grficos con alta calidad, con slo utilizar las funciones de graficacin.

R tambin puede usarse como herramienta de clculo numrico y a la vez ser


til para la minera de datos.

R es un poderoso entorno y lenguaje en el cual podemos tratar datos y grficar. Pero no


quiero detenerme en el entorno sino que quiero revisar el lenguaje. Al igual que S, se trata
de un lenguaje de programacin, lo que permite que permite extender sus propias funciones.
La gran mayora de las funciones de R fueron escritas en R pero por cuestiones de
rendimiento existen funciones escritas en lenguajes de ms bajo nivel como C o Fortran. R
es un lenguaje interpretado, el usuario normalmente accede por lneas de comandos o
consola. Veamos unos ejemplos:
Si queremos hacer un Hola mundo podemos hacerlo de la siguiente manera:
> print("Hola Mundo")
> [1] "Hola Mundo"
Sumemos 2 nmeros:
> 2 + 3
> [1] 5
Pero qu hace tan potente a R? Momento, recin empezamos. Veamos a R haciendo lo que
mejor sabe hacer, analizar datos.
Vamos a crear una coleccin:
> x <- c(1,2,3,4,5,6)
Vamos a calcular el cuadrado de cada elemento:
> y <- x^2
> y
> [1] 1 4 9 16 25 36
Ahora vamos a calcular la media, la varianza y vamos a graficar!

>
>
>
>
>

mean(y)
[1] 15.16667
var(y)
[1] 178.9667
plot (y)

Lenguaje M (MATLAB).
El lenguaje de programacin M fue creado en 1970 para proporcionar un sencillo acceso al
software de matrices LINPACK y EISPACK sin tener que usar Fortran. Fue creado por el
matemtico y programador de computadoras Cleve Moler en 1984, surgiendo la primera
versin con la idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de
lgebra lineal y anlisis numrico, sin necesidad de escribir programas en dicho lenguaje.
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta
de software matemtico que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje
de programacin propio (lenguaje M). Est disponible para las plataformas Unix, Windows,
Mac OS X y GNU/Linux .
Entre sus prestaciones bsicas se hallan: la manipulacin de matrices, la representacin de
datos y funciones, la implementacin de algoritmos, la creacin de interfaces de usuario
(GUI) y la comunicacin con programas en otros lenguajes y con otros dispositivos hardware.
El paquete MATLAB dispone de dos herramientas adicionales que expanden sus
prestaciones, a saber, Simulink (plataforma de simulacin multidominio) y GUIDE (editor de
interfaces de usuario - GUI). Adems, se pueden ampliar las capacidades de MATLAB con las
cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques
(blocksets). Es un software muy usado en universidades y centros de investigacin y
desarrollo.
Sintaxis
MATLAB es un programa de clculo numrico diseado para trabajar con matrices. Por
tanto, ser ms eficiente si se disean los algoritmos en trminos de matrices y vectores
Ejemplos
Hello World ste es el tradicional programa Hola && nada % Muestra el mensaje. Hola
mundo </source>
Diseo de filtros digitales
En este ejemplo se disea un filtro digital paso bajo de Butterworth y se muestra el mdulo
de su espectro adems incluimos otro ejemplo de un tren de deltas para el anlisis espectral:
close all
clear all
espacio de trabajo.
clc

% Cierra todas las ventanas.


% Borra todas las variables del

Fc=200;
Fm=1000;
BT=100;

% Frecuencia de corte.
% Frecuencia de muestreo.
% Banda de transicin.

% Limpia la pantalla.

Rs=40;
rs=10^(-Rs/20);
Rp=2;
rp=(10^(Rp/20)-1)/(10^(Rp/20)+1);

% Ganancias.

[n1b,wn1]=buttord(2*Fc/Fm,2*(Fc+BT)/Fm,Rp,Rs);
[B1,A1]=butter(n1b,wn1);
butter).
h1=freqz(B1,A1);
freqz).
plot(abs(h1))

% Orden del filtro (funcin buttord).


% Coeficientes del filtro (funcin
% Respuesta en frecuencia (funcin
% Representacin de la respuesta.

Lenguaje PL/SQL.
(Procedural Language/Structured Query Language) Es Un lenguaje de propsito general
orientado a la inclusin de sentencias SQL
Estructura del cdigo PL/SQL. Bloques:
DECLARE
<variable,tipo>
BEGIN
sentencias PL/SQL
END;
Los ficheros terminan con el carcter /
Uso de SHOW ERRORS.
PL/SQL soportar todas las consultas, ya que la manipulacin de datos que se usa es la
misma que en SQL, incluyendo nuevas caractersticas:

El manejo de variables.

Estructuras modulares.

Estructuras de control de flujo y toma de decisiones.

Control de excepciones.

El lenguaje PL/SQL est incorporado en:

Servidor de la base de datos.

Herramientas de Oracle (Forms, Reports, ...).

Bloques
Con PL/SQL se pueden construir distintos tipos de programas: procedimientos, funciones y
bloques annimos, paquetes, etc. Todos ellos tienen en comn una estructura bsica
denominada bloque.
Un bloque tiene 3 zonas:
Zona de declaraciones: donde se declaran objectos locales. Suele ir precedida por la
clusula declare (o is o as en los procedimientos y funciones).
Un conjunto de instrucciones precedido por la clusula BEGIN
Zona de excepciones: es una zona opcional precedida por la clusula EXCEPTION, donde

se gestionan las excepciones.


El formato genrico de un bloque es el siguiente:
[ DECLARE
<declaraciones>]
BEGIN
<instrucciones>
[EXCEPTION
<gestin de excepciones>]
END;
Las nicas clusulas obligatorias son BEGIN y END. Antes de hacer ningn bloque tenemos
que ejecutar el siguiente comando en nuestra ventana de Sql *PLUS set serveroutput on;

Tipo de dato /
Sintaxis

Oracle 8i

Oracle 9i

Descripcin
Donde p es la precisin y e la
escala.

dec(p, e)

La precisin mxima es de 38
dgitos.

Por ejemplo: dec(3,1) es un


nmero que tiene 2 dgitos antes
del decimal y un dgito despus
del decimal.
Donde p es la precisin y e la
escala.

decimal(p, e)

La precisin mxima es de 38
dgitos.

Por ejemplo: decimal(3,1) es un


nmero que tiene 2 dgitos antes
del decimal y un dgito despus
del decimal.

double
precision
float

La precisin mxima es de 38
decimales.

int
integer
numeric(p, e)

La precisin mxima es de 38
dgitos.

Donde p es la precisin y e la
escala.

Por ejemplo: numeric(7,2) es


un nmero que tiene 5 dgitos
antes del decimal y 2 dgitos
despus del decimal.
Donde p es la precisin y e la
escala.
number(p, e)

La precisin mxima es de 38
dgitos.

Por ejemplo: number(7,2) es un


nmero que tiene 5 dgitos antes
del decimal y 2 dgitos despus
del decimal.

real
smallint
Hasta 32767 bytes en PLSQL.

Donde tamao es el nmero de


caracteres a almacenar. Son
char (tamao)
Hasta 2000 bytes en Oracle 8i/9i. cadenas de ancho fijo. Se rellena
con espacios.
Hasta 32767 bytes en PLSQL.
varchar2
(tamao)

Donde tamao es el nmero de


caracteres a almacenar. Son
Hasta 4000 bytes en Oracle 8i/9.i
cadenas de ancho variable.

long

Hasta 2 gigabytes.

Son cadenas de ancho variable.

Hasta 32767 bytes en PLSQL.


raw

Son cadenas binarias de ancho


Hasta 2000 bytes en Oracle 8i/9i. variable.

long raw

Hasta 2 gigabytes.

date

Una fecha entre el 1 de enero de


4712 a. C. y el 31 de diciembre
de 9999 d. C.

timestamp
(fractional
seconds
precision)

timestamp
(fractional
seconds
precision)
with time
zone

Son cadenas binarias de ancho


variable.

No soportado
por Oracle 8i.

fractional
Incluye ao, mes da, hora,
seconds
precision debe minutos y segundos.
ser un nmero
entre 0 y 9. (El Por ejemplo: timestamp(6)
valor por
defecto es 6)

No soportado
por Oracle 8i.

fractional
seconds
precision debe
ser un nmero
entre 0 y 9. (El
valor por
defecto es 6)

Incluye ao, mes da, hora,


minutos y segundos; con un
valor de desplazamiento de zona
horaria.
Por ejemplo: timestamp(5) with
time zone

timestamp
(fractional
seconds
precision)
with local
time zone

interval year
(year
precision) to
month
interval day
(day
precisionel
bloque en el
fichero de la
base de
datos;
RRRR es la fila
del bloque;
FFFFF es el
fichero de la
base de datos.

No soportado
por Oracle 8i.

No soportado
por Oracle 8i.

fractional
seconds
precision debe
ser un nmero
entre 0 y 9. (El
valor por
defecto es 6)
year precision
debe ser un
nmero entre 0
y 9. (El valor
por defecto es
2)

Incluye ao, mes da, hora,


minutos y segundos; con una
zona horaria expresada como la
zona horaria actual.
Por ejemplo: timestamp(4) with
local time zone
Perodo almacenado en aos y
meses.
Por ejemplo: interval year(4) to
month

Datos binarios
de ancho fijo.
Cada registro
de la base de
datos tiene una
direccin fsica
o rowid.

urowid
[tamao]

Hasta 2000 bytes.

Rowid universal. Donde tamao


es opcional.

boolean

Vlido en PLSQL, este tipo de


datos no existe en Oracle 8i/9i.

nchar
(tamao)

Donde tamao es el nmero de


Hasta 32767 bytes en PLSQL.
caracteres a almacenar. Cadena
Hasta 2000 bytes en Oracle 8i/9i.
NLS de ancho fijo.

nvarchar2
(tamao)

Donde tamao es el nmero de


Hasta 32767 bytes en PLSQL.
caracteres a almacenar. Cadena
Hasta 4000 bytes en Oracle 8i/9i.
NLS de ancho variable.

bfile

Hasta 4 gigabytes.

Localizadores de archivo
apuntan a un objeto binario de
solo lectura fuera de la base de
datos.

blob

Hasta 4 gigabytes.

Localizadores LOB apuntan a un


gran objeto binario dentro de la
base de datos.

clob

Hasta 4 gigabytes.

Localizadores LOB apuntan a un


gran objeto de caracteres dentro
de la base de datos.

nclob

Hasta 4 gigabytes.

Localizadores LOB apuntan a un


gran objeto NLS de caracteres
dentro de la base de datos.

Lenguaje SAS.

SAS es un lenguaje de programacin desarrollado por SAS Institute a finales de los aos
sesenta. Existen dos intrpretes de dicho lenguaje: uno desarrollado por SAS Institute y otro
por la empresa World Programming. Apareci en 1971. Diseado por
SAS
Institute
Implementaciones
SAS Institute, World Programming.
Influido por PL/I. Posee una sintaxis inspirada en la de PL/I, lenguaje en el que se
implement el primer intrprete.
El lenguaje SAS opera principalmente sobre tablas de datos: puede leerlas, transformarlas,
combinarlas, resumirlas, crear informes a partir de ellas, etc. El ncleo del lenguaje
(conocido habitualmente como SAS Base) incluye:

Pasos data que permiten realizar operaciones sobre las filas de un conjunto de
datos.
Procedimientos de manipulacin de datos que permiten ordenar tablas,
enlazarlas, etc.

Un intrprete de SQL.

Un superlenguaje de macros.
Algunas de las caractersticas adicionales del lenguaje de programacin SAS son las
siguientes:

Las palabras clave no estn reservadas, esto implica que se puede usar
cualquier nombre para un identificador, por eje. una variable se puede llamar else,
aunque esta palabra tiene un significado semntico.

El lenguaje se considera ambiguo, esto implica que la interpretacin de las


instrucciones depende de instrucciones previas.

El lenguaje no se puede describir a travs de una gramtica de contexto libre


Gramtica de contexto libre.

El anlisis lxico del lenguaje depende del contexto. Analizador lxico


Un paso data que crea el un conjunto de datos, copia, a partir de origen,
filtrando los casos en los que las ventas son mayores de 100000:
DATA copia;
SET origen;
WHERE ventas > 100000;
RUN;

Otro ejemplo usando macros:


%macro brol(max);
%do i=1 %to max;

PROC IMPORT OUT= WORK.origine


DATAFILE= "U:\temp\origine.xls"
DBMS=EXCEL REPLACE;
SHEET="vente&i";
GETNAMES=YES;
MIXED=YES;
SCANTEXT=YES;
USEDATE=YES;
SCANTIME=YES;
RUN;
%end;
%mend;
%brol(4).

Lenguaje Logo.
Logo es un lenguaje de programacin de alto nivel, en parte funcional, en parte
estructurado; de muy fcil aprendizaje, razn por la cual suele ser el lenguaje de
programacin preferido para trabajar con nios y jvenes. Fue diseado con fines didcticos
por Danny Bobrow, Wally Feurzeig y Seymour Papert, los cuales se basaron en las
caractersticas del lenguaje Lisp. Es un lenguaje de programacin; es un lenguaje de
computadora completo derivado de LISP (el lenguaje ms prominente para el tratamiento
de temas de inteligencia artificial). Sin embargo, y ms importante, Logo es un lenguaje
para aprender. Es una herramienta til para ensear el proceso de aprendizaje y de
pensamiento.
Logo provee un ambiente donde los estudiantes asumen el rol de maestros. Y, como
maestros, ellos deben:

entender el conocimiento que debe ser enseado


planear un mtodo para impartir este conocimiento
dividir el conocimiento en trozos pequeos y entendibles
saber cmo comunicar el conocimiento claramente
establecer este nuevo conocimiento como fundamento para aprendizaje futuro
estar al tanto y construir sobre el conocimiento que el aprendiz (la computadora) ya
posee
ser receptivo a explorar nuevas ideas mientras van apareciendo
responder a los malentendidos y errores del aprendiz (la computadora)
Los estudiantes logran esto usando Logo as:
experimentando con los comandos de Logo para entenderlos y alcanzar confianza es
su uso
planeando su trabajo y organizndolo sus varios componentes
escribiendo un conjunto de instrucciones para realizar cada pequea tarea
construyendo un programa para realizar todas las tareas en el orden correcto
evaluando su programa al localizar y corregir errores o reestructurando el mtodo
utilizado

Logo no est limitado a un tpico en particular o a una materia especfica. Sin embargo, es
ms comnmente utilizado para la exploracin de las Matemticas ya que los grficos de
tortuga de Logo proveen una ambiente naturalmente matemtico. Debido a que la tortuga
se mueve una determinada distancia y gira un nmero dado de grados, el estudio de
geometra mediante la construccin e investigacin de polgonos y figuras hace de Logo
una herramienta de aprendizaje poderosa.
La caracterstica ms conocida de Logo es la tortuga, un cursor grfico usado para crear
dibujos. An los nios pequeos rpidamente aprenden a mover y girar la tortuga usando
comandos intuitivos y fciles de recordar. Por ejemplo, al escribir avanza 50 la tortuga se
mueve hacia adelante 50 pixels (puntos de pantalla). Al escribir giraderecha 90 la tortuga
gira (en el sentido de las agujas del reloj) 90 grados. Mediante la combinacin de estos
comandos es fcil dibujar un cuadrado.
Avanza50(Tambinsepuedeabreviaravanzacomo"av")
giraderecha90(Sepuedeabreviargiraderechacomo"gd")
avanza50
giraderecha90
avanza50
giraderecha90
avanza50
giraderecha90

Cuando varios comandos forman un patrn estos pueden sen combinados usando repite.
Aqu est el mismo cuadrado dibujado usando una sola lnea de instrucciones:
repite4[avanza50giraderecha90].

Lenguaje LISP.
El LISP es un lenguaje de programacin creado por el profesor John McCarthy a finales de
los aos 50. John McCarthy quiso desarrollar un lenguaje que mostrara la informacin
estructurada en listas en las que se pudieran gestionar esta. De ah el nombre que le dio a
este lenguaje, Lisp (List-Processing), porque fue creado principalmente para el
procesamiento de listas.
Con el trascurso del tiempo el Lisp dio origen a varios dialectos. Entre los ms importantes
podemos citar a: el MACLISP, COMMONLISP, INTERLISP, ZETALISP, etc. De todos ellos el
COMMONLISP se est consolidando como el estndar.
El Lisp es un lenguaje funcional que se apoya en la utilizacin de funciones matemticas
para el control de los datos. Pero el elemento fundamental en el Lisp es la lista. Y desde el
punto de vista ms amplio del trmino. Cada funcin del lisp y cada programa que
generemos con l vienen dado en forma de lista. Por esta razn los datos no se pueden
diferenciarse sintcticamente de los programas. El Lisp trata a los elementos o paramentos
que le introducimos de manera no destructiva, de forma que la mayora de las funciones
nos devuelven una lista que es el resultado de alguna transformacin de otra que recibi,
pero sin cambiar a esta (la que recibi).
Una de las razones por las que el Lisp est especialmente dotado para la programacin en
inteligencia artificial (IA), es precisamente, porque su cdigo y todos los datos tienen la
misma estructura, en forma de lista. El lisp fue uno de los primeros lenguajes en manejar
las excepciones con los comandos catch y throw. Alrededor de 1956 McCarthy entendi el
papel central de un lenguaje de programacin para su objetivo cientfico - la inteligencia
artificial.

Listas
El elemento fundamental en Lisp es la lista, en el sentido ms amplio del trmino, pues
tanto los datos como los programas son listas. De ah viene su nombre, pues Lisp es un
acrnimo de "LIStProcessing". Las listas en LISP estn delimitadas por parntesis. De aqu
viene el chiste del significado de LISP: "LostInStupidParentheses
Ejemplos
Hola mundo
(format t "Hola, mundo!")
Trabajando con listas
Definicin de la funcin:
(defun vacia (l)
(cond ((null l) 1)
(t 0)))

; si la lista esta vacia devuelve 1


; en otro caso (lista llena) devuelve 0

Llamada a la funcin:
(vacia '(1 3 4))
(vacia '())

; La lista no esta vacia, devolvera 0


; La lista esta vacia, devolvera 1

30Lenguaje RPG.
RPG es un lenguaje de programacin propio de IBM que est orientado al desarrollo de
aplicaciones empresariales, est lenguaje es muy usado en las plataformas de servidores
IBM.
RPG no estn popular cmo el resto de los leguajes Por qu? debido a su aplicacin y la
plataforma dnde est lenguaje debe ser usado. Es decir, es nico para plataformas IBM
AS/400 (En un Mainframe propio de IBM de familia Power Systems / usado en grandes
empresas). Investigando se supo que la apariencia de est lenguaje RPG es cmo
assembler dnde la estructura se basa en posiciones, columnas y similar a Fox por la
direccin de bases de datos.
El compilador de RPG se llama ILE RPG; tambin es un mtodo reciente de programacin
en el sistema iSeries. Es el resultado de las mejoras importantes en las arquitecturas del
iSeries y en el sistema operativo OS/400. La familia de compiladores ILE incluye: ILE RPG,
ILE C, ILE COBOL, ILE CL y VisualAge for C++.
ILE proporciona una base comn para:

Gestionar el flujo de programas.

Compartir los recursos.

Utilizar interfaces de programacin de aplicaciones (API).

Manejar excepciones durante el tiempo de ejecucin de un programa.

Y bueno chicos por ah vi comentarios dnde mencionaban que la paga por trabajar con
RPG es muy buena econmicamente hablando.
En 1960 RPG es creado para la familia 1400, pero hasta 1964 no es lanzada la versin final
para la IBM 360. Ha sido actualizado en diversas ocasiones, dando origen a las diferentes
versiones del lenguaje. Una de las ltimas actualizaciones que se ha realizado hasta la
fecha es el RPG/IV en 1995, disponible con los
ordenadores
IBM
de
la
familia
AS/400.
Posteriormente, en 2001, y con la aparicin de la
versin 5 del OS/400, surgi una nueva modificacin
sobre el lenguaje, soportndose a partir de ese
momento la programacin en formato libre. As
mismo, se desarrollan las funciones incorporadas que
sustituyen a muchos de los antiguos indicadores y
cdigos de operacin. Todas estas incorporaciones
permiten que el RPG se convierta en un lenguaje mucho ms legible, claro, flexible y
moderno.
Entre sus principales caractersticas podemos destacar las siguientes:
1.

Orientado a la produccin de informes.

2.

Realiza clculos fcilmente.

3.

Emplea hojas de codificacin diferentes para la descripcin de ficheros, entrada


de datos, salida de resultados, etc.

Lenguaje Delphi.
El Delphi es un lenguaje de programacin que se cre con el propsito de agilizar la
creacin de software basndolo en una programacin visual. En el Delphi se utiliza una
versin ms actual del Pascal conocida como Object Pascal como lenguaje de
programacin. El Delphi es un lenguaje muy verstil se usa para casi cualquier proyecto
como por ejemplo servicios del sistema operativo, establecer comunicacin entre un
servidor web y un programa, aplicaciones de consola, conectividad con bases de datos,
para realizar aplicaciones visuales, etc. Este lenguaje produce aplicaciones en cdigo
mquina, por lo que la computadora las interpreta inmediatamente y no precisa de un
lenguaje interprete como es necesario en otros lenguajes de programacin.

Ventajas del uso de lenguaje Delphi:

Cualquiera de sus versiones se puede programar DLLs.

En Delphi podemos programar directamente los componentes visuales e incluso


crear nuevos controles que hereden caractersticas de los ya existentes.

Tambin podemos utilizar en el Delphi componentes visuales de otros lenguajes


de programacin.

Delphi utiliza el Object Pascal, como ya hemos dicho, que es un lenguaje de


programacin orientado a objetos, lo que nos permite beneficiarnos de caractersticas
importantes en programacin como son: el encapsulamiento, polimorfismo y la herencia.
Un uso habitual de Delphi, aunque no el nico, es el desarrollo de aplicaciones visuales y
de bases de datos cliente-servidor y multicapas. Debido a que es una herramienta de
propsito mltiple, se usa tambin para proyectos de casi cualquier tipo, incluyendo
aplicaciones de consola, aplicaciones de web (por ejemplo servicios web, CGI, ISAPI, NSAPI,
mdulos para Apache), servicios COM y DCOM, y servicios del sistema operativo. Entre las
aplicaciones ms populares actualmente destaca Skype, un programa de telefona por IP.
Delphi inicialmente slo produca ejecutables binarios para Windows: Delphi 1 para Win16 y
con Delphi 2 se introdujo Win32.
Bases de Datos:
Una de las principales caractersticas y ventajas de Delphi es su capacidad para
desarrollar aplicaciones con conectividad a bases de datos de diferentes fabricantes. El
programador de Delphi cuenta con una gran cantidad de componentes para realizar la
conexin, manipulacin, presentacin y captura de los datos, algunos de ellos liberados
bajo licencias de cdigo abierto o gratuito.
Eventos de Ejecucin:
Delphi permite de manera sencilla ejecutar trozos de cdigo en respuesta a acciones
o eventos (sucesos) que ocurren durante el tiempo que un programa se ejecuta. Por
ejemplo, cuando se presiona un botn, la VCL captura la notificacin estndar de Windows,
y detecta si hay algn mtodo asociado al evento OnClick del botn.

Lenguaje D.
Apareci en
2011
Diseado por
Walter Bright, Andrei Alexandrescu (desde 2006)

ltima versin estable


2.064 / 1.0752 3 (2 de agosto de 2012; hace 3 aos4 )
Tipo de dato
Fuerte, Esttico
Implementaciones
DMD, GDC, LDC
Influido por
C++, C, C#, Java, Eiffel, Python, Ruby
Ha influido a
MiniD, DScript, Vala, Qore, Swift5
Sistema operativo
DMD: Unix-like (FreeBSD, Linux etc) , Windows, OS
D es un lenguaje de programacin de uso general desarrollado por Walter Bright cuya
primera versin apareci en 1999. Se origina como un rediseo de C++, con un enfoque
ms pragmtico, pero no es un lenguaje puramente derivado del anterior. D ha mantenido
algunas caractersticas de C++ y tambin est influido por otros conceptos de otros
lenguajes como Java, C# y Eiffel. Una versin estable fue lanzada el 2 de enero de 2007.
D est siendo diseado con lecciones aprendidas del uso de C++ en vez de ser diseado
desde una perspectiva terica. Aunque usa muchos de los conceptos de C/C++ tambin
descarta algunos, y por lo tanto no es compatible con cdigo escrito en C o C++. D retiene
la habilidad de C++ de hacer cdigo de bajo nivel, permitiendo incluir cdigo en
ensamblador. La herencia mltiple de C++ es reemplazada por herencia simple e interfaces
y 'mixins'. La sintaxis de declaracin y la sintaxis para las expresiones se parecen a las de
C++.
El soporte del lenguaje ensamblador demuestra una de las diferencias entre D con respecto
a otros lenguajes como Java y C#. Esto permite incluir cdigo especfico de la mquina con
cdigo D, una tcnica comnmente usada por programadores de software de sistema para
acceder a caractersticas de bajo nivel necesarias para interactuar directamente con el
hardware, permitiendo escribir software como sistemas operativos y drivers.
D incluye soporte para comentarios de documentacin, pero hasta ahora slo el compilador
entregado por Digital Mars implementa un generador de documentacin.
Orientada a objetos
La programacin orientada a objetos est basada en herencia simple, con todas las clases
derivadas de la clase Object. D no soporta herencia mltiple; en vez de eso, usa interfaces
parecidas a las de Java, que son comparables a las clases abstractas de C++.
Metaprogramacin
Metaprogramacin es soportada por una combinacin de plantillas, ejecucin de funciones
en tiempo de compilacin, tuplas y 'mixins' de cadena. Soporta CTFE (evaluacin de
funciones en tiempo de compilacin).

Lenguaje Pascal.

Pascal es un lenguaje de programacin desarrollado por el profesor suizo Niklaus Wirth entre los
aos 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el
aprendizaje de programacin a sus alumnos, utilizando la programacin estructurada y
estructuracin de datos. Sin embargo con el tiempo su utilizacin excedi el mbito acadmico para
convertirse en una herramienta para la creacin de aplicaciones de todo tipo.
Pascal se caracteriza por ser un lenguaje de programacin estructurado fuertemente tipificado. Esto
implica que:
1. El cdigo est dividido en porciones fcilmente legibles llamadas funciones o procedimientos. De
esta forma Pascal facilita la utilizacin de la programacin estructurada en oposicin al antiguo estilo
de programacin monoltica.
2. El tipo de dato de todas las variables debe ser declarado previamente para que su uso quede
habilitado.
El nombre de Pascal fue escogido en honor al matemtico Blaise Pascal.
El lenguaje de programacin en Pascal, es un lenguaje de alto nivel, y de propsito general, lo cual
quiere decir que se puede utilizar para cualquier tipo de propsitos. El lenguaje de programacin en
Pascal se considera un lenguaje estructurado, sencillo y prctico para todos aquellos usuarios que se
inician en el mundo de la programacin, ya que fue creado con fines de aprendizaje. Al ser un Pascal
lenguaje estructurado, sirve de base para cualquier otro lenguaje de alto nivel, por estas
caractersticas es utilizado en las universidades e institutos de educacin para inicializar a los futuros
ingenieros en sistemas o informtica.
El lenguaje de programacin Pascal, es idneo en el estudio y definicin de las estructuras de datos,
su fcil definicin lo hace manejable para un programador novato. Con la programacin en Pascal, se
pueden realizar desde programas formales, rutinas, utilitarios, hasta cualquier clase de video juegos.
Programacin en Pascal es un lenguaje de sintaxis sencilla, muy estructurado y que comprueba
exhaustivamente todo tipo de datos. El mejor de los propsitos de programacin en Pascal es que
ensea buenas formas de programacin, con lo cual se utiliza mucho en la enseanza, por todos los
motivos nominados anteriormente, por su sencillez, su estructuracin y su facilidad de lectura y
entendimiento. Existen varios dialectos locales de programacin en Pascal, entre ellas el Turbo
Pascal, el cual acepta instrucciones de Pascal.

IMPLEMENTACIONES
Las primeras versiones del compilador de Pascal, entre ellas la ms distribuida fue
UCSD Pascal, traducan el lenguaje en cdigo para una mquina virtual llamada
mquina-P. La gran ventaja de este enfoque es que para tener un compilador de
Pascal en una nueva arquitectura de mquina solo haca falta re implementar la
mquina-P. Como consecuencia de esto, solo una pequea parte del intrprete tena
que ser reescrita hacia muchas arquitecturas.
En los aos 1980, Anders Hejlsberg escribi el compilador Blue Label Pascal para la
Nascom-2. Ms tarde fue a trabajar para Borland y reescribi su compilador que se
convirti en Turbo Pascal para la IBM PC. Este nuevo compilador se vendi por $49,
un precio orientado a la distribucin masiva. El econmico compilador de Borland
tuvo una larga influencia en la comunidad de Pascal que comenz a utilizarlo
principalmente en el IBM PC. En busca de un lenguaje estructurado muchos
aficionados al PC reemplazaron el BASIC por este producto. Dado que Turbo Pascal
slo estaba disponible para una arquitectura, traduca directamente hacia el cdigo
mquina del Intel 8088, logrando construir programas que se ejecutaban mucho
ms rpidamente que los producidos en los esquemas interpretados.

Lenguaje Perl.
Perl es un lenguaje de programacin diseado por Larry Wall en 1987. Perl toma
caractersticas del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp y,
en un grado inferior, de muchos otros lenguajes de programacin. Es un lenguaje de
programacin muy utilizado para construir aplicaciones CGI para el web. Perl es un
acrnimo de Practical Extracting and Reporting Languaje, que viene a indicar que se trata
de un lenguaje de programacin muy prctico para extraer informacin de archivos de
texto y generar informes a partir del contendido de los ficheros.
Es un lenguaje libre de uso, eso quiere decir que es gratuito. Antes estaba muy asociado a
la plataforma Unx, pero en la actualidad est disponible en otros sistemas operativos como
Windows.
Perl es un lenguaje de programacin interpretado, al igual que muchos otros lenguajes de
Internet como Javascript o ASP. Esto quiere decir que el cdigo de los scripts en Perl no se
compila sino que cada vez que se quiere ejecutar se lee el cdigo y se pone en marcha
interpretando lo que hay escrito. Adems es extensible a partir de otros lenguajes, ya que
desde Perl podremos hacer llamadas a subprogramas escritos en otros lenguajes. Tambin
desde otros lenguajes podremos ejecutar cdigo Perl.
Perl est inspirado a partir de lenguajes como C, sh, awk y sed (algunos provenientes de los
sistemas Unx), pero est enfocado a ser ms prctico y fcil que estos ltimos. Es por ello
que un programador que haya trabajado con el lenguaje C y los otros tendr menos
problemas en entenderlo y utilizarlo rpidamente. Una diferencia fundamental de Perl con
respecto a los otros lenguajes es que no limita el tamao de los datos con los que trabaja,
el lmite lo pone la memoria que en ese momento se encuentre disponible. Si queremos
trabajar con Perl ser necesario tener instalado el intrprete del lenguaje. A partir de ese
momento podemos ejecutar CGIs en nuestros servidores web. El proceso para conseguirlo
puede variar de unos servidores a otros, pero se suelen colocar en un directorio especial del
servidor llamado cgi-bin donde hemos colocado los correspondientes permisos CGI.
Adems, los archivos con el cdigo tambin debern tener permiso de ejecucin.
Tipos de datos
Perl tiene tres tipos de datos: escalares, listas y hashes:

Un escalar es un solo valor; puede ser un nmero, un string (cadena de


caracteres) o una referencia

Una lista es una coleccin ordenada de escalares (una variable que almacena
una lista se llama array)

Un hash, o memoria asociativa, es un mapeo de strings a escalares; los strings


se llaman claves y los escalares valores.

Todas las variables estn precedidas por un sigilo, que identifica el tipo de dato que es
accedido (no el tipo de dato de la misma variable). Se puede usar el mismo nombre para
variables de diferentes tipos, sin que tengan conflictos.
$var
@var
%var

# un escalar
# un array
# un hash

Los nmeros se escriben de la forma usual; los strings estn rodeados entre comillas de
varias clases.
$n
= 42;
$nombre = "juan";
$color = 'rojo';

Lenguaje Ruby.
Ruby: Es un lenguaje de programacin interpretado, reflexivo y orientado a objetos, creado
por el programador japons Yukihiro "Matz" Matsumoto, quien comenz a trabajar en Ruby
en 1993, y lo present pblicamente en 1995. Combina una sintaxis inspirada en Python y
Perl con caractersticas de programacin orientada a objetos similares a Smalltalk.
Comparte tambin funcionalidad con otros lenguajes de programacin como Lisp, Lua,
Dylan y CLU. Ruby es un lenguaje de programacin interpretado en una sola pasada y su
implementacin oficial es distribuida bajo una licencia de software libre.
OBJETIVO: El creador del lenguaje, ha dicho que Ruby est diseado para la productividad
y la diversin del desarrollador, siguiendo los principios de una buena interfaz de usuario.
Sostiene que el diseo de sistemas necesita enfatizar las necesidades humanas ms que
las de la mquina. Ruby sigue el "principio de la menor sorpresa", lo que significa que el
lenguaje debe comportarse de tal manera que minimice la confusin de los usuarios
experimentados.
SEMNTICA
Ruby es orientado a objetos: todos los tipos de datos son un objeto, incluidas las clases y
tipos que otros lenguajes definen como primitivas, (como enteros, booleanos, etctera).
Este lenguaje soporta herencia con enlace dinmico, mixins y mtodos singleton
(pertenecientes y definidos por una sola instancia ms que definidos por la clase). A pesar
que Ruby no soporta herencia mltiple, las clases pueden importar mdulos como mixins.
Ruby
ha
sido
descrito
como
un
lenguaje
de programacin multiparadigma:
permite programacin procedural, con orientada a objetos o funcionalmente. Adems de
soporte para hilos de ejecucin gestionados por el intrprete. Este lenguaje tiene tipado
dinmico y soporta polimorfismo de tipos (permite tratar a subclases utilizando la interfaz
de la clase padre). No requiere polimorfismo de funciones al no ser fuertemente tipado.
CARACTERSTICAS

Orientada a objetos
Cuatro niveles de mbito de variable: global, clase, instancia y local
Manejo de excepciones
Altamente por table
Amplia librera estndar
Soporta alteracin de objetos en tiempo de ejecucin.

SINTAXIS
La sintaxis de Ruby es similar a la de Perl y Python. La definicin de clases y mtodos est
definida por palabras claves. Sin embargo, en Perl, las variables no llevan prefijos. Cuando
se usa, un prefijo indica el mbito de las variables. La mayor diferencia con C y Perl es que

las palabras clave son usadas para definir bloques de cdigo sin llaves. Los saltos de lnea
son significativos y son interpretados como el final de una sentencia; el punto y coma tiene
el mismo uso. De forma diferente que Python, la indentacin no es significativa.
Ruby es un lenguaje de scripts, moderno y orientado a objetos, que combina una
importante flexibilidad con alta productividad
Su alcance parece ilimitado y hoy se encuentra presente en aplicaciones que van
desde el desarrollo web hasta la simulacin de ambientes complejos.
Promueve las mejores prcticas de programacin sin perder usabilidad.
Mediante su uso se pueden complementar las caractersticas de la lgica imperativa
con la lgica funcional.
Permite utilizar la ms simple expresin para un programa o algoritmo; esto sumado a las
actuales prcticas giles permite desarrollar en forma amigable.

Lenguaje Transact-SQL.
Transact-SQL tambin es conocido por sus abreviatura como T-SQL, como definicin es
una extensin del SQL Microsoft junto son Sybase. Lo que conocemos a SQL como el
lenguaje de bsqueda estructurado lo que viene hacer T-SQL es expander los estndares de
SQL no incluyendo programacin procedural, como algunas otras funciones para
matemticas, fechas, etc.
T-SQL es un lenguaje sumamente potente que nos ayuda a definir tareas mientras
trabajamos con bases de datos. Debido a que este lenguaje tiene algunas restricciones en
el propio lenguaje casi siempre lo vemos utilizado en la creacin de los procedimientos
almacenados, funciones de usuario y tambin en los triggers. Podemos hacer uso de T-SQL
en lenguajes de programacin como puede ser Visual Basic. NET, C, Java. Tambin lo
podemos ejecutar en un entorno SQL Server Management Studio. Se dice que T-SQL es un
lenguaje muy parecido al lenguaje hablado.
Un ejemplo de T- SQL:
SELECT * FROM cities WHERE name LIKE '%an%';
TRANSACT-SQL es un lenguaje muy potente que nos permite definir casi cualquier tarea
que queramos efectuar sobre la base de datos; incluye caractersticas propias de cualquier
lenguaje de programacin, caractersticas que nos permiten definir la lgica necesaria para
el tratamiento de la informacin:
Tipos de datos.
Definicin de variables.
Estructuras de control de flujo.
Gestin de excepciones.
Funciones predefinidas.
Sin embargo tambin nos permite:
Crear interfaces de usuario.
Crear aplicaciones ejecutables, sino elementos que en algn momento llegarn al
servidor de datos y sern ejecutados.
Debido a estas restricciones se emplea generalmente para crear procedimientos
almacenados, triggers y funciones de usuario. Puede ser utilizado como cualquier SQL como
lenguaje embebido en aplicaciones desarrolladas en otros lenguajes de programacin como
Visual Basic, C, Java, etc. Y por supuesto los lenguajes incluidos en la plataforma .NET.

Tambin lo podremos ejecutar directamente de manera interactiva, por ejemplo desde el


editor de consultas de SSMS (SQL Server Management Studio).

Lenguaje JavaScript.
JavaScript (abreviado comnmente "JS") es un lenguaje de programacin interpretado,
dialecto del estndar ECMAScript. Se define como orientado a objetos,[3] basado en
prototipos, imperativo, dbilmente tipado y dinmico.
JavaScript fue desarrollado originalmente por Brendan Eich de Netscape con el nombre de
Mocha, el cual fue renombrado posteriormente a LiveScript, para finalmente quedar como
JavaScript. El cambio de nombre coincidi aproximadamente con el momento en que
Netscape agreg compatibilidad con la tecnologa Java en su navegador web Netscape
Navigator en la versin 2.002 en diciembre de 1995.
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 pginas web
dinmicas[4] 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 tambin significativo.
JavaScript se dise con una sintaxis similar al C, aunque adopta nombres y convenciones
del lenguaje de programacin Java. Sin embargo Java y JavaScript no estn relacionados y
tienen semnticas y propsitos diferentes.
Todos los navegadores modernos interpretan el cdigo JavaScript integrado en las pginas
web. Para interactuar con una pgina web se provee al lenguaje JavaScript de una
implementacin del Document Object Model (DOM). Tradicionalmente se vena utilizando en
pginas web HTML para realizar operaciones y nicamente en el marco de la aplicacin
cliente, sin acceso a funciones del servidor. Actualmente es ampliamente utilizado para
enviar y recibir informacin del servidor junto con ayuda de otras tecnologas como AJAX.
JavaScript se interpreta en el agente de usuario al mismo tiempo que las sentencias van
descargndose junto con el cdigo HTML. Desde el lanzamiento en junio de 1997 del
estndar ECMAScript 1, han existido las versiones 2, 3 y 5, que es la ms usada
actualmente (la 4 se abandon [5] ). En junio de 2015 se cerr y public la versin
ECMAScript 6.
Sintaxis y semntica
A partir del 2011, la ltima versin del lenguaje es JavaScript 1.8.5. Es un superconjunto de
la especificacin ECMAScript (ECMA-262) Edicin 3. Extensiones del lenguaje, que incluyen

compatibilidad parcial con ECMAScript para XML (E4X) (ECMA-357) y caractersticas


experimentales consideradas para ser incluidas en futuras ediciones del ECMAScript,
documentadas aqu.[]

Ejemplos sencillos
Las variables en JavaScript se definen usando la palabra clave var:[35]
var x; // define la variable x, aunque no tiene ningn valor asignado por
defecto
var y = 2; // define la variable y y le asigna el valor 2 a ella
A considerar los comentarios en el ejemplo de arriba, los cuales van precedidos con 2
barras diagonales.
No existen funcionalidades para I/O incluidas en el lenguaje; el entorno de ejecucin ya lo
proporciona. La especificacin ECMAScript en su edicin 5.1 hace mencin:

... en efecto, no existen provisiones en esta especificacin para entrada de datos externos o
salida para resultados computados. Sin embargo, la mayora de los entornos de ejecucin
tiene un objeto[37] llamado console que puede ser usado para imprimir por el flujo de salida
de la consola de depuracin. He aqu un simple programa que imprime

Hello world!:
console.log("Hello world!");

Lenguaje Phayton.
Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en una
sintaxis que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma, ya que soporta orientacin a
objetos, programacin imperativa y, en menor medida, programacin funcional. Es un
lenguaje interpretado, usa tipado dinmico y es multiplataforma. Es administrado por la
Python Software Foundation. Posee una licencia de cdigo abierto, denominada Python
Software Foundation License,[1] que es compatible con la Licencia pblica general de GNU a
partir de la versin 2.1.1, e incompatible en ciertas versiones anteriores.
Python fue creado a finales de los ochenta por Guido van Rossum en el Centro para las
Matemticas y la Informtica (CWI, Centrum Wiskunde & Informatica), en los Pases Bajos,
como un sucesor del lenguaje de programacin ABC, capaz de manejar excepciones e
interactuar con el sistema operativo Amoeba. El nombre del lenguaje proviene de la aficin
de su creador por los humoristas britnicos Monty Python.[4] Van Rossum es el principal

autor de Python, y su continuo rol central en decidir la direccin de Python es reconocido,


refirindose a l como Benevolente Dictador Vitalicio (en ingls: Benevolent Dictator for
Life, BDFL).
En 1991, van Rossum public el cdigo de la versin 0.9.0 en alt.sources.
Python es un lenguaje de programacin multiparadigma. Esto significa que ms que forzar
a los programadores a adoptar un estilo particular de programacin, permite varios estilos:
programacin orientada a objetos, programacin imperativa y programacin funcional.
Otros paradigmas estn soportados mediante el uso de extensiones. Python usa tipado
dinmico y conteo de referencias para la administracin de memoria. Una caracterstica
importante de Python es la resolucin dinmica de nombres; es decir, lo que enlaza un
mtodo y un nombre de variable durante la ejecucin del programa (tambin llamado
enlace dinmico de mtodos).
Elementos del lenguaje
Python fue diseado para ser ledo con facilidad. Una de sus caractersticas es el uso de
palabras donde otros lenguajes utilizaran smbolos. Por ejemplo, los operadores lgicos !, ||
y && en Python se escriben not, or y and, respectivamente.
El contenido de los bloques de cdigo (bucles, funciones, clases, etc.) es delimitado
mediante espacios o tabuladores, conocidos como indentacin, antes de cada lnea de
rdenes pertenecientes al bloque.[18] Python se diferencia as de otros lenguajes de
programacin que mantienen como costumbre declarar los bloques mediante un conjunto
de caracteres, normalmente entre llaves {}.[19] [20] Se pueden utilizar tanto espacios como
tabuladores para indentar el cdigo, pero se recomienda no mezclarlos. [21]
Funcin factorial en C (indentacin opcional)
Funcin factorial en Python (indentacin
obligatoria)
factorial(int x)
if (x == 0)
return 1;
else
return x * factorial(x - 1);

factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)

Lenguaje Visual Basic.


Visual Basic es uno de los tantos lenguajes de programacin que podemos encontrar hoy
en da. Dicho lenguaje nace del BASIC (Beginners All-purpose Symbolic Instruction Code)
que fue creado en su versin original en el Dartmouth College, con el propsito de servir a
aquellas personas que estaban interesadas en iniciarse en algn lenguaje de programacin.
Luego de sufrir varias modificaciones, en el ao 1978 se estableci el BASIC estndar. La
sencillez del lenguaje gan el desprecio de los programadores avanzados por considerarlo
"un lenguaje para principiantes".
Primero fue GW-BASIC, luego se transform en QuickBASIC y actualmente se lo conoce
como Visual Basic y la versin ms reciente es la 6 que se incluye en el paquete Visual
Studio 6 de Microsoft. Esta versin combina la sencillez del BASIC con un poderoso lenguaje
de programacin Visual que juntos permiten desarrollar robustos programas de 32 bits para

Windows. Esta fusin de sencillez y la esttica permiti ampliar mucho ms el monopolio de


Microsoft, ya que el lenguaje slo es compatible con Windows, un sistema operativo de la
misma empresa.
Visual Basic ya no es ms "un lenguaje para principiantes" sino que es una perfecta
alternativa para los programadores de cualquier nivel que deseen desarrollar aplicaciones
compatibles con Windows.
Qu es Visual Basic?
Diseador de entorno de datos: Es posible generar, de manera automtica, conectividad
entre controles y datos mediante la accin de arrastrar y colocar sobre formularios o
informes.
Los Objetos Actives son una nueva tecnologa de acceso a datos mediante la accin de
arrastrar y colocar sobre formularios o informes.
Caractersticas de Visual Basic.
Barra de ttulo: muestra el nombre del proyecto y del formulario q se est diseando
actualmente
Barra de mens: agrupa los mens despegables que contienes todas las operaciones que
pueden llevarse a cabo con Visual Basic 6.0.
Barra de herramientas estndar: contienen los botones que se utilizan con mayor
frecuencia cuando se trabaja con un proyecto. Simplifica la eleccin de opciones de los
mens Archivo, Edicin, Ver y Ejecutar; adems, en el rea derecha presenta la ubicacin
(coordenadas) y el tamao del objeto seleccionado
Ventana de formulario: es el rea donde se disea la interfaz grfica, es decir, es donde
se inserta electo grficos, como botones, imgenes, casilla de verificacin, cuadros de
listas, etc.
Cuadro de herramientas: presenta todos los controles necesarios para disear una
aplicacin, como cuadros de texto, etiquetas, cuadros de listas, botones de comandos, etc.
Ventana de proyecto: muestra los elementos involucrados en el proyecto, como
formularios, mdulos, controles oxc, etc. Cada elemento puede seleccionarse en forma
independiente para su edicin.
Ventana de posicin del formulario: muestra la ubicacin que tendr el formulario en la
pantalla, cuando ejecute la aplicacin. Esta ubicacin puede cambiarse si se hace clic con
el botn izquierdo del mouse.
La Ventana propiedades muestra todas las propiedades del control actualmente
seleccionado, en este caso muestra las propiedades del Form1, luego podemos ver que
abajo dice "Form1 Form", lo que est en negrita es el nombre del objeto, y lo que le
sigue es el tipo de objeto, en este caso es un Formulario (Form).

Lenguaje PHP.
PHP es un lenguaje de cdigo abierto muy popular, adecuado para desarrollo web y que
puede ser incrustado en HTML. Es popular porque un gran nmero de pginas y portales

web estn creadas con PHP. Cdigo abierto significa que es de uso libre y gratuito para
todos los programadores que quieran usarlo. Incrustado en HTML significa que en un mismo
archivo vamos a poder combinar cdigo PHP con cdigo HTML, siguiendo unas reglas.
PHP se utiliza para generar pginas web dinmicas. Recordar que llamamos pgina esttica
a aquella cuyos contenidos permanecen siempre igual, mientras que llamamos pginas
dinmicas a aquellas cuyo contenido no es el mismo siempre. Por ejemplo, los contenidos
pueden cambiar en base a los cambios que haya en una base de datos, de bsquedas o
aportaciones de los usuarios, etc. Cmo trabaja PHP? El lenguaje PHP se procesa en
servidores, que son potentes ordenadores con un software y hardware especial. Cuando se
escribe una direccin tipo http://www.aprenderaprogramar.com/index.php en un navegador
web como Internet Explorer, Firefox o Chrome, qu ocurre? Se envan los datos de la
solicitud al servidor que los procesa, rene los datos (por eso decimos que es un proceso
dinmico) y el servidor lo que devuelve es una pgina HTML como si fuera esttica.
El esquema es: Peticin de pgina web al servidor --> El servidor recibe la peticin, rene la
informacin necesaria consultando a bases de datos o a otras pginas webs, otros
servidores, etc --> El servidor responde enviando una pgina web normal (esttica) pero
cuya creacin ha sido dinmica (realizando procesos de modo que la pgina web devuelta
no siempre es igual).
En resumen:
Pginas estticas: Peticin --> Respuesta
Pginas dinmicas: Peticin --> Procesado y preparacin --> Respuesta
En un sitio dinmico, la informacin generalmente est contenida en una base de datos.
Cada vez que mostramos la pgina, como por ejemplo una pgina de noticas, buscamos en
la base de datos las ltimas noticias que tenemos ingresadas para mostrar en el navegador
del visitante. Ahora bien, cmo se consigue que la pgina vaya mostrando noticias
nuevas? Simplemente cargando las mismas en la base de datos, por ejemplo, a travs de
un formulario que rellena una persona y que una vez relleno cuando pulsa Enviar implica
que lo que haya escrito se guarde en nuestra base de datos. De esta manera, cuando
solicitamos la pgina web y el servidor consulte la base de datos, encontrar esta nueva
informacin y mostrar nuestra pgina de forma distinta a como se vea anteriormente.
Por regla general este tipo de lenguaje suele ser utilizado para crear contenido dinmico y
poder interactuar con el usuario.
Veamos un ejemplo del contenido de una pgina web php, que habremos de almacenar en
un archivo que termina con la extensin .php y que contiene texto:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo</title>
</head>
<body>
<?php
echo "Bienvenidos a aprenderaprogramar.com";
?>
</body>
</html>

Lenguaje C#.
El lenguaje de programacin C# fue creado por el dans Anders Hejlsberg que diseo
tambin los lenguajes Turbo Pascal y Delphi. El C# (pronunciado en ingls C sharp o en
espaol C sostenido) es un lenguaje de programacin orientado a objetos. Con este
nuevo lenguaje se quiso mejorar con respecto de los dos lenguajes anteriores de los que
deriva el C, y el C++.
Con el C# se pretendi que incorporase las ventajas o mejoras que tiene el lenguaje JAVA.
As se consigui que tuviese las ventajas del C, del C++, pero adems la productividad que
posee el lenguaje JAVA y se le denomino C#. Algunas de las caractersticas del lenguaje de
programacin C# son: Su cdigo se puede tratar ntegramente como un objeto. Su sintaxis
es muy similar a la del JAVA. Es un lenguaje orientado a objetos y a componentes. Armoniza
la productividad del Visual Basic con el poder y la flexibilidad del C++. Ahorramos tiempo
en la programacin ya que tiene una librera de clases muy completa y bien diseada.
A pesar que el lenguaje C# forma parte de a plataforma .NET, que es una interfaz de
programacin de aplicaciones. C# es un lenguaje independiente que originariamente se
creo para producir programas sobre esta plataforma .NET.
Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas
originalmente usando un sistema de cdigo gestionado llamado Simple Managed C (SMC).
En enero de 1999, Anders Hejlsberg form un equipo con la misin de desarrollar un nuevo
lenguaje de programacin llamado Cool (Lenguaje C orientado a objetos). Este nombre tuvo
que ser cambiado debido a problemas de marca, pasando a llamarse C#. [3] La biblioteca de
clases de la plataforma .NET fue migrada entonces al nuevo lenguaje.
Hejlsberg lider el proyecto de desarrollo de C#. Anteriormente, ya haba participado en el
desarrollo de otros lenguajes como Turbo Pascal, Delphi y J++.
Tipos de datos
C# contiene veinte categoras generales de tipos de datos integrados: tipos de valor y
tipos de referencia. El trmino tipo de valor indica que esos tipos contienen
directamente sus valores.

Tipo de datos de enteros


Tip Equivalen
Tamao
o
te BCL

Rango

Significado

8-bit (10 a 255


byte)

Entero sin
signo

8-bit (1-128 a 127


byte)

Entero con
signo

short System.Int16

16-bit
-32.768 a 32.767
(2-byte)

Entero corto
con signo

ushor System.UInt1
t
6

16-bit
0 a 65.535
(2-byte)

Entero corto
sin signo

byte System.Byte
sbyte

int
uint

System.SByt
e

Entero
32-bit
System.Int32
-2.147.483.648 a 2.147.483.647 medio con
(4-byte)
signo
System.UInt3
2

32-bit
0 a 4.294.967.295
(4-byte)

Entero
medio sin

signo
long

System.Int64

ulong System.UInt6
4

64-bit
-9.223.372.036.854.775.808 a
(8-byte) 9.223.372.036.854.775.807

Entero largo
con signo

64-bit
0a
(8-byte) 18.446.744.073.709.551.615

Entero largo
sin signo

Lenguaje C++.
C++ es un lenguaje imperativo orientado a objetos
derivado del C. En realidad un superconjunto de C,
que naci para aadirle cualidades y caractersticas
de las que careca. El resultado es que como su
ancestro, sigue muy ligado al hardware subyacente,
manteniendo una considerable potencia para
programacin a bajo nivel, pero se la han aadido
elementos que le permiten tambin un estilo de
programacin con alto nivel de abstraccin.
Respecto a su antecesor, se ha procurado mantener
una exquisita compatibilidad hacia atrs por dos
razones [2]: poder reutilizar la enorme cantidad de cdigo C existente, y facilitar una
transicin lo ms fluida posible a los programadores de C clsico, de forma que pudieran
pasar sus programas a C++ e ir modificndolos (hacindolos ms "++") de forma gradual.
De hecho, los primeros compiladores C++ lo que hacan en realidad era traducir
(preprocesar) a C y compilar despus. (las consecuencias se dejan sentir todava en el
lenguaje.
El nombre C++ fue propuesto por Rick Mascitti en el ao 1983, cuando el lenguaje fue
utilizado por primera vez fuera de un laboratorio cientfico. Antes se haba usado el nombre
"C con clases". En C++, la expresin "C++" significa "incremento de C" y se refiere a que
C++ es una extensin de C.
A continuacin se cita un programa de ejemplo Hola mundo escrito en C++:
/* Esta cabecera permite usar los objetos que encapsulan los descriptores stdout
y stdin: cout(<<) y cin(>>)*/
#include <iostream>
using namespace std;
int main()
{
cout << "Hola mundo" << endl;
cin.get();
}

Los objetos en C++ son abstrados mediante una clase. Segn el paradigma de la programacin orientada
a objetos un objeto consta de:
1.

Identidad, que lo diferencia de otros objetos (Nombre que llevara la clase a la que pertenece
dicho objeto).

2.

Mtodos o funciones miembro

3.

Atributos o variable miembro.

Lenguaje Objective-c
Objective-C es un lenguaje de programacin orientado a objetos creado como un
superconjunto de C para que implementase un modelo de objetos parecido al de Smalltalk.
Originalmente fue creado por Brad Cox y la corporacin StepStone en 1980. En 1988 fue
adoptado como lenguaje de programacin de NEXTSTEP y en 1992 fue liberado bajo
licencia GPL para el compilador GCC. Actualmente se usa como lenguaje principal de
programacin en Mac OS X, iOS y GNUstep.

A principios de los 80, el software se desarrollaba usando programacin


estructurada. La programacin estructurada se estableci para ayudar a dividir los
programas en pequeas partes, haciendo ms fcil el desarrollo cuando la
aplicacin se volva muy grande. Sin embargo, como los problemas seguan
creciendo al pasar el tiempo, la programacin estructurada se volvi compleja dado
el desorden de algunos programadores para invocar instrucciones repetitivamente,
llevando a cdigo spaghetti y dificultando la reutilizacin de cdigo. Muchos vieron
que la programacin orientada a objetos sera la solucin al problema. De hecho,
Smalltalk ya tena solucionados muchos de estos problemas: algunos de los
sistemas ms complejos en el mundo funcionaban gracias a Smalltalk. Pero
Smalltalk usaba una mquina virtual, lo cual requera mucha memoria para esa
poca, y era demasiado lento.
Objective-C fue creado principalmente por Brad Cox y Tom Love a inicios de los 80
en su compaa Stepstone. Ambos fueron iniciados en Smalltalk mientras estaban
en el Programming Technology Center de ITT en 1981. Cox se vio interesado en los
problemas de reutilizacin en el desarrollo de software. Se dio cuenta de que un
lenguaje como Smalltalk sera imprescindible en la construccin de entornos de
desarrollo potentes para los desarrolladores en ITI Corporation. Cox empez a
modificar el compilador de C para agregar algunas de las capacidades de Smalltalk.
Pronto tuvo una extensin para aadir la programacin orientada a objetos a C la
cual llam OOPC (Object-Oriented Programming in C). Love mientras tanto, fue
contratado por Shlumberger Research en 1982 y tuvo la oportunidad de adquirir la
primera copia de Smalltalk-80, lo que influy en su estilo como programador.
Sintaxis
Objective-C consiste en una capa muy fina situada por encima de C, y adems es
un estricto superconjunto de C. Esto es, es posible compilar cualquier programa
escrito en C con un compilador de Objective-C, y tambin puede incluir libremente

cdigo en C dentro de una clase de Objective-C. Esto es, para escribir el programa
clsico "Hola Mundo" para correr en consola, se puede utilizar el siguiente cdigo:
#import <stdio.h>
int main( int argc, const char *argv[] ) {
printf( "Hola Mundo\n" );
return 0;
}

El cdigo anterior se diferencia de un cdigo en C comn por la primera instruccin


#import, que difiere del #include del C clsico, pero la funcin printf("") es
puramente C. La funcin propia de Objective-C para imprimir una cadena de
caracteres en consola es NSLog(@""); utilizndola, el cdigo anterior quedara de la
siguiente manera:
int main( int argc, const char *argv[] ) {
NSLog( @"Hola Mundo\n" );
return 0;
}.

Lenguaje Java.
Extensiones comunes: .java, .class, .jar , .jad
Paradigma: Orientado a objetos, imperativo
Apareci en 1995
Diseado por Sun Microsystems (Oracle Corporation)
ltima versin estable: Java Standard Edition 8 (18 de marzo de 2014; hace 1 ao)
Tipo de dato: Fuerte, Esttico
Implementaciones: OpenJDK, HotSpot, muchas otras.
Dialectos: Generic Java, Pizza
Influido por: C++, Objective-C
Ha influido a: C#, J#, JavaScript, PHP, Python
Sistema operativo: Multiplataforma
Licencia: GNU GPL / Java Community Process

Java es un lenguaje de programacin de propsito general, concurrente, orientado


a objetos que fue diseado especficamente para tener tan pocas dependencias de
implementacin como fuera posible. Su intencin es permitir que los
desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en
cualquier dispositivo (conocido en ingls como WORA, o "write once, run
anywhere"), lo que quiere decir que el cdigo 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 programacin ms populares en uso, particularmente para
aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios
reportados.
El lenguaje de programacin Java fue originalmente desarrollado por James Gosling
de Sun Microsystems (la cual fue adquirida por la compaa 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 mquina virtual Java (JVM) sin importar la arquitectura de la computadora


subyacente.
La compaa Sun desarroll la implementacin de referencia original para los
compiladores de Java, mquinas virtuales, y libreras 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 mayora
de sus tecnologas de Java bajo la Licencia Pblica General de GNU. Otros tambin
han desarrollado implementaciones alternas a estas tecnologas de Sun, tales como
el Compilador de Java de GNU y el GNU Classpath.
Orientado a objetos
La primera caracterstica, orientado a objetos (OO), se refiere a un mtodo
de programacin y al diseo del lenguaje. Aunque hay muchas
interpretaciones para OO, una primera idea es disear el software de forma
que los distintos tipos de datos que usen estn unidos a sus operaciones. As,
los datos y el cdigo (funciones o mtodos) se combinan en entidades
llamadas objetos.
Sintaxis

La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de


ste, que combina la sintaxis para programacin genrica, estructurada y
orientada a objetos, Java fue construido desde el principio para ser
completamente orientado a objetos. Todo en Java es un objeto (salvo algunas
excepciones), y todo en Java reside en alguna clase (recordemos que una
clase es un molde a partir del cual pueden crearse varios objetos).
Aplicaciones autnomas
Este ejemplo necesita una pequea explicacin.

Todo en Java est dentro de una clase, incluyendo programas


autnomos.

El cdigo fuente se guarda en archivos con el mismo nombre que


la clase que contienen y con extensin .java. Una clase ( class) declarada
pblica (public) debe seguir este convenio. En el ejemplo anterior, la clase es
Hola, por lo que el cdigo fuente debe guardarse en el fichero Hola.java

El compilador genera un archivo de clase (con extensin .class)


por cada una de las clases definidas en el archivo fuente. Una clase annima
se trata como si su nombre fuera la concatenacin del nombre de la clase
que la encierra, el smbolo $, y un nmero entero.

Los programas que se ejecutan de forma independiente y


autnoma, deben contener el mtodo main().

La palabra reservadavoid indica que el mtodo main no devuelve


nada.

El mtodo main debe aceptar un array de objetos tipo String. Por


acuerdo se referencia como args, aunque puede emplearse cualquier otro
identificador.

La palabra reservadastatic indica que el mtodo es un mtodo de


clase, asociado a la clase en vez de a una instancia de la misma. El mtodo
main debe ser esttico o de clase.

La palabra reservada public significa que un mtodo puede ser


llamado desde otras clases, o que la clase puede ser usada por clases fuera
de la jerarqua de la propia clase. Otros tipos de acceso son private o
protected.

La utilidad de impresin (en pantalla por ejemplo) forma parte de


la biblioteca estndar de Java: la clase System define un campo pblico
esttico llamado out. El objeto out es una instancia de PrintStream,
que ofrece el mtodo println (String) para volcar datos en la pantalla (la
salida estndar).

Las aplicaciones autnomas se ejecutan dando al entorno de


ejecucin de Java el nombre de la clase cuyo mtodo main debe invocarse.
Por ejemplo, una lnea de comando (en Unix o Windows) de la forma java cp .
Hola ejecutar el programa del ejemplo (previamente compilado y generado
Hola.class). El nombre de la clase cuyo mtodo main se llama puede
especificarse tambin en el fichero MANIFEST del archivo de
empaquetamiento de Java (.jar).

Lenguaje C.
Diseado por Dennis M. Ritchie
ltima versin estable: C11 (diciembre de 2011)
Tipo de dato: Dbil, Esttico
Implementaciones: GCC, Intel C, entre muchas ms.
Dialectos: Cyclone, Unified Parallel C, Split-C, Cilk, C*
Influido por: B (BCPL, CPL), ALGOL 68,1 Ensamblador, PL/I, Fortran

Ha influido a: Vala, C#, Objective-C, C++, AWK, bc, Java, JavaScript, PHP, Perl, NXC, D, Go
Sistema operativo: Multiplataforma
C es un lenguaje de programacin de propsito general que ofrece economa sintctica,
control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje
de muy alto nivel y ms bien un lenguaje pequeo, sencillo y no est especializado en
ningn tipo de aplicacin. Esto lo hace un lenguaje potente, con un campo de aplicacin
ilimitado y sobre todo, se aprende rpidamente. En poco tiempo, un programador puede
utilizar la totalidad del lenguaje.
Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que fueron
desarrollados conjuntamente. Sin embargo, este lenguaje no est ligado a ningn sistema
operativo ni a ninguna mquina concreta. Se le suele llamar lenguaje de programacin de
sistemas debido a su utilidad para escribir compiladores y sistemas operativos, aunque de
igual forma se puede desarrollar cualquier tipo de aplicacin.
C trabaja con tipos de datos que son directamente tratables por el hardware de la mayora
de computadoras actuales, como son los caracteres, nmeros y direcciones. Estos tipos de
datos pueden ser manipulados por las operaciones aritmticas que proporcionan las
computadoras. No proporciona mecanismos para tratar tipos de datos que no sean los
bsicos, debiendo ser el programador el que los desarrolle. Esto permite que el cdigo
generado sea muy eficiente y de ah el xito que ha tenido como lenguaje de desarrollo de
sistemas. No proporciona otros mecanismos de almacenamiento de datos que no sea el
esttico y no proporciona mecanismos de entrada ni salida. Ello permite que el lenguaje sea
reducido y los compiladores de fcil implementacin en distintos sistemas. Por contra, estas
carencias se compensan mediante la inclusin de funciones de librera para realizar todas
estas tareas, que normalmente dependen del sistema operativo.
La mejor forma de aprender un lenguaje es programando con l. El programa ms sencillo
que se puede escribir en C es el siguiente:
main( ){
}
Como nos podemos imaginar, este programa no hace nada, pero contiene la parte ms
importante de cualquier programa C y adems, es el ms pequeo que se puede escribir y
que se compile correctamente. En el se define la funcin main, que es la que ejecuta el
sistema operativo al llamar a un programa C. El nombre de una funcin C siempre va
seguida de parntesis, tanto si tiene argumentos como si no. La definicin de la funcin
est formada por un bloque de sentencias, que esta encerrado entre llaves {}.
Un programa algo ms complicado es el siguiente:
#include <stdio.h>
main( )
{
printf("Hola amigos!\n");
}

Con el visualizamos el mensaje Hola amigos! en el terminal. En la primera lnea indica que
se tengan en cuenta las funciones y tipos definidos en la librera stdio (standard
input/output). Estas definiciones se encuentran en el fichero header stdio.h. Ahora, en la
funcin main se incluye una nica sentencia que llama a la funcin printf. Esta toma como
argumento una cadena de caracteres, que se imprimen van encerradas entre dobles
comillas " ". El smbolo \n indica un cambio de lnea.
Hay un grupo de smbolos, que son tratados como caracteres individuales, que especifican
algunos caracteres especiales del cdigo ASCII. Los ms importantes son:
Alerta
\b

Espacio atrs

\f

Salto de pgina

\n

Salto de lnea

\r

Retorno de car

\t

Tabulacin hori

\v

Tabulacin vert

\\

Barra invertida

\'

Comilla simple

\"

Comillas doble

\OOO

Visualiza un ca

\xHHH

Visualiza un ca

Un programa C puede estar formado por diferentes mdulos o fuentes. Es conveniente


mantener las fuentes de un tamao no muy grande, para que la compilacin sea rpida.
Tambin, al dividirse un programa en partes, puede facilitar la legibilidad del programa y su
estructuracin. Las diferentes fuentes son compilados de forma separada, nicamente los
fuentes que han sido modificados desde la ltima compilacin, y despus combinados con
las libreras necesarias para formar el programa en su versin ejecutable.

Lenguaje Bash.
El interprete Bash es algo ms que una simple consola. Es un lenguaje interpretado de
programacin que ayuda al administrador a realizar la mayor parte de las tareas
necesarias, tanto en la automatizacin como en el arranque del sistema. Se utiliza
especialmente (no exclusivamente) en sistemas Unix.
Objetivos

Realizar una programacin bsica en Bash

Entender un script tpico de arranque y configuracin


Clases

Introduccin y Repaso

Qu es una shell y una consola Unix

Repasar:
Comandos Bsicos y Avanzados

100 ejercicios linux: gnuutils, redireccin de procesos y varios

comandos en uno
o
o

El lenguaje Bash (Ver Documentacin )


Proceso de Arranque del Sistema: inittab - nivel de arranque (scripts) consolas (tty)- programa login - interprete del usuario
Entrada y Salida de Datos

Redireccin: stdin, stdout, stderr

Tuberas o Pipes: |

Listas de Comandos

AND && : Slo se ejecuta un comando si la salida del anterior es


sin error, la lista de comandos para cuando hay un error
# Sirve para ver dos argumentos
[ ! -z "$1" ] && echo "Argumento #1 = $1"
[ ! -z "$2" ] && echo "Hay un Argumento #2 = $2"

OR || : Se van ejecutando los comandos mientras la salida es falso


o de error. El ltimo comando en ejecutarse es el que devuelve verdadero
# Borrar un archivo slo si existe, si no existe slo
#ejecuta la primera comparacin
[ ! -f "$archivo" ]
|| (rm -f $archivo; echo "Borr el Archivo \"$archivo\" .")

Qu es un script

Primer Script Hello World! (archivo de texto con encabezado +

ejecutable + exit)
Importancia del intrprete del shell ( /bin/bash, o /usr/bin/perl, o

/usr/bin/tcl )

Lo bsico del lenguaje

Comentarios: #

Variables

Variables: asignacin y tipos (VAR="hola" o VAR=3.14) y mbito


(scope) de las variables)

Sustitucin de variables ${VAR}

Variables Especiales: $#, $[0-9], $@, $?, $$, $!


Variables de Entorno: LOGNAME, HOME, IFS, PATH, PS1, PS2, TERM,

etc
Gestin de Variables de entorno: env, set, unset y export

Funcionamiento de las cadenas

Uso de las comillas dobles ( " ) , simple ( ' ) y comilla hacia atrs

(backstick)

Caracteres de escape y Especiales (\n,\r,\t,\v,\b,\a,\") de echo


Caractersticas Bsicas
Blank. Separacin por espacios y/o TAB

Word. Tokens, conjuntos de caracteres delimitados

Name. Identificadores
Metacharacter. Caracteres con funcionamiento especial | & ; ( ) <

> space tab

Control operator. || && ; ;; & ( ) | <newline>

Palabras Reservadas (muy pocas)


Entrada de Datos: comando read y lnea de comandos ($0, $1 ...)

Sentencias de Control y Repetitivas

Expresiones y Comparacin

Expresiones Aritmticas: (( expresin )) y con [expresion ]

Expresiones Condicionales:
Sintaxis Test expression [expression] (para un operando o

dos)
Ejemplos de Opciones:

evaluacin de cadenas (-z, -n, cadena1 = cadena2,

cadena1 != cadena2)
evaluacin de archivos( -d, -x, -e, fichero1 -ot

fichero2)
evaluacin aritmtica (-lt, -eq, -ge) y evaluacin lgica

(-o, -a)
Repetitivas : for...do...done, while...do...done

for valor in variable


do
comandos
done
#Sintaxis de la sentencia while
while expresion
do
comandos

done

Lenguaje Lua.
LUA es un lenguaje de programacin de extensin. Lo cual significa que no es un lenguaje
para escribir programas ejecutables stand-alone. En lugar de esto, LUA est pensado para
integrarse dentro de un programa host. Este programa host es el que se encarga de lanzar
y ejecutar el programa LUA. Adems, el programa host puede declarar funciones escritas en
C
que
pueden
ser
invocadas
desde
el
programa
LUA.
LUA ofrece soporte para los siguientes conceptos de programacin:

programacin orientada a objetos

programacin funcional

programacin data-driven

El concepto de lenguaje de extensin es similar a VBA en las aplicaciones de microsoft


office.
LUA tiene un garbage collector, con lo cual no es necesario liberar los objetos que se van
creando. Pero hay que tener cuidado con referencias a objetos que se quedan para siempre
en alguna variable.
Lxico
LUA tiene un lxico basado en C:
Los punto y coma al final de sentencia son opcionales.

Los identificadores constan de letras, nmeros y underscore (no


pueden empezar con nmeros; tampoco se recomienda que empiecen con underscore,
ya que esta notacin se utiliza para identificadores internos de LUA)
Bloques: son una secuencia de sentencias que termina en end (funciones, bucles, if,
bloques do -- end)
Palabras reservadas: and, break, do, else, elseif, end, false, for, function, goto, if, in,
local, nil, not, or, repeat, return, then, true, until, while.
Operadores que son distintos a otros lenguajes:
~= distinto

.. concatenacin de strings

... nmero variable de argumentos en una funcin


Comentarios:
-- comentario de una lnea

--[[ comentario multilnea ]]-Variables, Valores y Tipos

LUA es un lenguaje tipado dinmicamente, lo que significa que las variables pueden
apuntar a valores de cualquier tipo y, adems, pueden apuntar a valores de diferentes tipos
en diferentes momentos. Por ejemplo:
v = 12;
v = "abc";
Tipos de datos:

nil : indica que a una variable no se le ha asignado todava ningn valor

boolean : puede ser true o false

number : todos los nmeros son reales, punto flotante doble precisin

string : es una cadena de caracteres

function : un bloque de cdigo con nombre

table : es similar a los objetos en otros lenguajes de programacin.

Lenguaje COMAL.
COMAL (COMmon Algorithmic Language) es un lenguaje de programacin desarrollado en
Dinamarca por Benedict Lfstedt y Brge Christensen en 1973.
El texto "COMAL 80 PROGRAMMING LANGUAGE REPORT" contiene la definicin formal del
lenguaje.
COMAL fue creado como una mezcla de los lenguajes BASIC y Pascal, al objeto de introducir
fcilmente a los estudiantes en el paradigma de la programacin estructurada.
Historia
A principios de la dcada de 1980, Apple Computer distribuy ordenadores Apple II con el
sistema operativo CP/M y el lenguaje COMAL en las escuelas de secundaria irlandesas.
Ejemplos
Condiciones:
IF condicin THEN
Instrucciones
ENDIF
Bucles:

FOR num:= 1 TO 1000 DO


PRINT num
ENDFOR
Ejemplo de programa
10
20
30
40
50

PAGE
FOR num:= 1 TO 10 DO
PRINT "ESTO ES SOLO UN EJEMPLO!!!"
ENDFOR
END " "

Lenguaje A+.
Apareci en 1988
Diseado por Arthur Whitney
ltima versin estable: 4.20-2 (Noviembre de 2006)
Tipo de dato: fuerte y dinmico
Implementaciones :A+
Influido por: APL
Ha influido a: K
Licencia: GNU Licencia Pblica General
A+ es un lenguaje de programacin matriz que desciende del lenguaje de
programacin A, que a su vez fue creado para sustituir a APL en 1988. Arthur
Whitney desarroll la parte de "A" de A+, mientras otros desarrolladores como
Morgan Stanley lo ampliaban, aadindole una interfaz grfica de usuario y otras
caractersticas del lenguaje. A+ fue diseada para aplicaciones numricas
intensivas, especialmente operaciones financieras. A+ funciona en distintas
variantes de Unix, incluyendo Linux. A+ es un lenguaje de programacin de alto
nivel, interactivo e interpretado.
A+ dispone de un amplio conjunto de funciones y operadores, una interfaz grfica de
usuario con sincronizacin automtica de variables y widgets. Ejecucin asincrnica de
funciones asociadas con variables y eventos, carga dinmica de subrutinas de usuario
compiladas y otras caractersticas. Una nueva interfaz grfica an no ha sido adaptada a
todas las plataformas.
A+ implementa los siguientes cambios del lenguaje APL:

Una funcin de A+ puede tener hasta nueve parmetros formales.

Las declaraciones de cdigo A+ estn separadas por punto y coma. Por lo que
una sola declaracin puede ser dividida en dos o ms lneas fsicas.

El resultado explcito de una funcin u operador es el resultado de la ltima


instruccin ejecutada.

A + implementa un objeto llamado dependencia que es una variable global (la


variable dependiente) y una definicin asociada que es como una funcin sin
argumentos. Los valores se pueden establecer explcitamente y se hace referencia en
exactamente la misma forma que para una variable global, pero tambin se puede
establecer a travs de la definicin asociada.

Un desarrollo interactivo de A+ se realiza principalmente en el editor XEmacs, a travs de


extensiones para editor. Debido a que el cdigo A+ utiliza los smbolos APL originales, para
mostrar A+ se requiere una fuente con los caracteres especiales, una fuente llamada "Kapl"
que se ofrece en el sitio web con este objetivo.
Arturo Whitney lleg a crear el lenguaje K, un lenguaje matriz propietario. Al igual que J, K
omite el juego de caracteres APL. No tiene por qu algunas de las complejidades percibidas
de A+, como la existencia de estados y dos modos diferentes de sintaxis.

Lenguaje J#.
Paradigma: Orientado a objetos
Apareci en 2005
Diseado por Microsoft Corporation
ltima versin estable: 2.0 (10 de enero 2007)
Tipo de dato: Fuerte, Esttico
Implementaciones: Visual Studio .NET, Mono
Influido por: Java
Sistema operativo: .NET Framework.

El lenguaje de programacin J# (o J-sharp) es un lenguaje transicional para


programadores del lenguaje de programacin Java y del lenguaje J++ de Microsoft,
creado con la intencin de que ambos puedan usar sus conocimientos actuales para
crear aplicaciones en la plataforma .NET de Microsoft. J# se supone compatible con
Java, tanto a nivel cdigo fuente, como binario. En teora, J# puede ser usado para
transicional aplicaciones que usan bibliotecas de terceros, aun cuando el cdigo de
stas no est disponible.

De la misma forma que suceda con J++, J# slo soporta un subconjunto limitado de
las caractersticas de Java.
Si se desea ejecutar cdigo de Java, como en un ambiente real de Java, en un
entorno .NET, debe considerarse IKVM. Mientras que J# proporciona compatibilidad
con la sintaxis de Java en el contexto de un ambiente .NET, IKVM es en realidad un
ambiente Java ejecutndose en el contexto de un ambiente .NET.
J# nicamente sali en Visual Studio 2005 y en Visual Studio 2008 dej
de producirse.

S-ar putea să vă placă și