Elementos bsicos.
Identificadores:
Permiten nombrar mdulos, rutinas, datos y etiquetas. Ejemplo:
MODULE nombre_mdulo
PROC nomre_rutina()
VAR pos nombre_dato;nombre_etiqueta:
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
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:
(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 = Y
%unificacin simblica
X=:=Y
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
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.
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).
grficos integrados
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".
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.
Mtodos o Funciones: Dentro del archivo raz de la clase, estn declaradas como funciones
(stop(), gotoAndPlay(), getURL(),...).
ActionScript 3
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.
Lenguaje Erlang.
Lenguaje funcional
Soporte de concurrencia
Tolerancia a fallas
Cambio de cdigo en caliente
Posibilidad de conectar con cdigo C, Java y otros lenguajes
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
Cadenas de caracteres
Delimitadores
Comentarios
Palabras reservadas.
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:
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].
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
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
de
de
de
de
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
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.
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.
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
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.
fmt.Printf("Hola, mundo.\n")
}
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.
Expresiones lambda
Literales XML
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:
Tipos de coleccin para trabajar con datos inmutables, incluidos tipos de lista y
secuencia.
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
Declarations
Main program
Subprogram 1
Subprogram 2
Subprogram n
Los subprogramas son pequeos programas que se ejecutan a voluntad del programador.
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.
Lenguaje ALICE.
Paradigma
Multiparadigma,
imperativo,
funcional,
paralelo,
imperativo.
Apareci en
2000
Diseado por
Fuertemente tipado,
inferencia de tipos.
Influido por
Meta Lenguaje,
Oz.
Sistema operativo
Multiplataforma
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.
>
>
>
>
>
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
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))
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.
Control de excepciones.
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
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.
decimal(p, e)
La precisin mxima es de 38
dgitos.
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.
La precisin mxima es de 38
dgitos.
real
smallint
Hasta 32767 bytes en PLSQL.
long
Hasta 2 gigabytes.
long raw
Hasta 2 gigabytes.
date
timestamp
(fractional
seconds
precision)
timestamp
(fractional
seconds
precision)
with time
zone
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)
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)
Datos binarios
de ancho fijo.
Cada registro
de la base de
datos tiene una
direccin fsica
o rowid.
urowid
[tamao]
boolean
nchar
(tamao)
nvarchar2
(tamao)
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.
clob
Hasta 4 gigabytes.
nclob
Hasta 4 gigabytes.
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.
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:
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)))
Llamada a la funcin:
(vacia '(1 3 4))
(vacia '())
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:
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.
2.
3.
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.
Lenguaje D.
Apareci en
2011
Diseado por
Walter Bright, Andrei Alexandrescu (desde 2006)
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:
Una lista es una coleccin ordenada de escalares (una variable que almacena
una lista se llama array)
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.
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
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
factorial(x):
if x == 0:
return 1
else:
return x * factorial(x - 1)
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.
Rango
Significado
Entero sin
signo
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.
3.
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.
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;
}
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
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
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
Introduccin y Repaso
Repasar:
Comandos Bsicos y Avanzados
comandos en uno
o
o
Tuberas o Pipes: |
Listas de Comandos
Qu es un script
ejecutable + exit)
Importancia del intrprete del shell ( /bin/bash, o /usr/bin/perl, o
/usr/bin/tcl )
Comentarios: #
Variables
etc
Gestin de Variables de entorno: env, set, unset y export
Uso de las comillas dobles ( " ) , simple ( ' ) y comilla hacia atrs
(backstick)
Name. Identificadores
Metacharacter. Caracteres con funcionamiento especial | & ; ( ) <
Expresiones y Comparacin
Expresiones Condicionales:
Sintaxis Test expression [expression] (para un operando o
dos)
Ejemplos de Opciones:
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
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 funcional
programacin data-driven
.. concatenacin de strings
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:
number : todos los nmeros son reales, punto flotante doble precisin
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:
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:
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.
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.
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.