Sie sind auf Seite 1von 21

INSTITUTO TECNOLGICO DE TIJUANA

DEPARTAMENTO DE INGENIERA INDUSTRIAL


AGOSTO - DICIEMBRE 2015

Manufactura Avanzada
UNIDAD II
Lenguajes de programacin.
Guzmn del Saz Jorge Eduardo 11211404

22/11/2015

1.1 Diferencias, aplicaciones y particularidades de los lenguajes de programacin

Un lenguaje de programacin consiste en todos los smbolos, caracteres y


reglas de uso que permiten a las personas "comunicarse" con las
computadoras. Existen varios cientos de lenguajes y dialectos de programacin
diferentes. Algunos se crean para una aplicacin especial, mientras que otros
son herramientas de uso general ms flexibles que son apropiadas para
muchos tipos de aplicaciones. En todo caso los lenguajes de programacin
deben tener instrucciones que pertenecen a las categoras ya familiares de
entrada/salida, clculo/manipulacin de textos, lgica/comparacin y
almacenamiento / recuperacin.
Aunque todos los lenguajes de programacin tienen un conjunto de
instrucciones que permiten realizar dichas operaciones, existe una marcada
diferencia en los smbolos, caracteres y sintaxis de los lenguajes de mquina,
lenguajes ensambladores y lenguajes de alto nivel.
Son herramientas que nos permiten crear programas y software. Entre ellos
tenemos: C#, Delphi, C, PHP, Perl, Python,Visual Basic, Pascal, Java, entre
otros.
La programacin consiste en desarrollar programas para procesar informacin,
se utiliza para designar la creacin de programas a pequea escala, el
desarrollo de sistemas complejos se denomina ingeniera de software.
Una computadora es totalmente intil si no dispone de un programa capaz de
procesar informacin, para que se realice dicho procesamiento de informacin
habr sido necesario pensar, construir, y crear un programa y ejecutar dicho
programa o aplicacin en la computadora.
Para el desarrollo de grandes sistemas informticos se divide el trabajo en
tareas que diversos programadores desarrollaran, al terminar se unen las
piezas para completar el sistema en s, la programacin tambin se aplica para
el desarrollo de grandes sistemas en las ingenieras de software.
La programacin tiene como objetivo el tratamiento de la informacin
correctamente, con lo que se espera que un programa de el resultado correcto
y no uno errneo, cada aplicacin debe funcionar segn lo esperado en
trminos de programacin.
Otro objetivo fundamental de la programacin es que sean de cdigos claros y
legibles, con lo que si un programador inicia un programa y no lo termina, otro
programador sea capaz de entender la codificacin y poder terminarlo, en
programacin existen ciertas normas no escritas de cmo han de nombrarse
los componentes, objetos o controles de cada sistema, as como sus variables
que deben ser relativas al termino al cual se van a vincular.

Por ltimo la programacin pretende que sus programas sean tiles y


eficientes, de muchs formas diferentes, la programacin nos dar el mismo
resultado de un programa, un buen programador llegara al mismo resultado

con un mnimo de cdigo y de la forma ms clara y lgica posible, un cdigo


claro y legible facilita el mantenimiento de la aplicacin o sistema.

Una computadora funciona bajo control de un programa el cual debe estar


almacenado en la unidad de memoria o unidades de almacenamiento como por
ejemplo, el disco duro.

Los lenguajes de programacin de una computadora en particular se conocen


como cdigo de mquinas o lenguaje de mquinas. Estos lenguajes codificados
en una computadora especfica no podrn ser ejecutados en otra computadora
diferente.

Para que estos programas funcionen para diferentes computadoras hay que
realizar una versin para cada una de ellas, lo que implica el aumento del costo
de desarrollo. Por otra parte, los lenguajes de programacin en cdigo de
mquina son verdaderamente difciles de entender para una persona, ya que
estn compuestos de cdigos numricos sin sentido nemotcnico.

Los lenguajes de programacin facilitan la tarea de programacin, ya que


disponen de formas adecuadas que permiten ser ledas y escritas por personas,
a su vez resultan independientes del modelo de computadora utilizada,
representan en forma simblica y en manera de un texto los cdigos que
podrn ser ledos por una persona.

Existen estrategias que permiten ejecutar en una computadora un programa


realizado en un lenguaje de programacin simblico. Los procesadores del
lenguaje son los programas que permiten el tratamiento de la informacin en
forma de texto, representada en los lenguajes de programacin simblicos.

Hay lenguajes de programacin que utilizan compilador, la ejecucin de un


programa con un compilador requiere de dos etapas:

1) Traducir el programa simblico a cdigo mquina.


2) Ejecucin y procesamiento de los datos.
Otros lenguajes de programacin utilizan un programa intrprete o traductor, el
cual analiza directamente la descripcin simblica del programa fuente y
realiza las instrucciones dadas.

El intrprete en los lenguajes de programacin simula una mquina virtual,


donde el lenguaje de mquina es similar al lenguaje fuente.

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar
el programa, sin embargo su inconveniente es que la velocidad de ejecucin es
ms lenta ya que debe analizar e interpretar las instrucciones contenidas en el
programa fuente.

Los lenguajes de programacin estn conformados por una serie de reglas


sintcticas y semnticas que sern utilizadas por el programador y a travs de
las cuales crear un programa o subprograma, las instrucciones que forman
dicho programa son conocidas como cdigo fuente.

Los lenguajes de programacin pueden clasificarse de diversas maneras, como


por ejemplo segn su nivel de abstraccin: lenguaje de bajo nivel; lenguaje de
nivel medio y lenguaje de alto nivel.

Tambin puede haber lenguajes segn la forma de ejecucin, encontrndonos


as con l y lenguajes interpretados.

CARACTERSTICAS:

Existen muchos lenguajes de programacin, que responden a necesidades


especficas y que poseen caractersticas y funcionalidades especficas. Por lo
tanto, la eleccin del lenguaje de programacin depende, sobre todo, de los
requerimientos a satisfacer, as como de los recursos existentes para la
comprensin y la prctica del lenguaje. Criterios de seleccin de un lenguaje de
programacin.

Utilidad: fcil de aprender, fcil de usar por un programador experimentado


Rendimiento: velocidad de ejecucin de los programas, velocidad de ejecucin
del compilador.
Portabilidad y flexibilidad a posibilidad de desarrollar el lenguaje y su
implementacin, existencia de bibliotecas de funciones, clases, etc.
Continuidad: continuidad del fabricante, continuidad del lenguaje, continuidad
de implementacin, existencia de una norma internacional para definir el
lenguaje, conformidad de implementacin con respecto a la norma, existencia
de varios fabricantes para un mismo lenguaje.

Basic y Pascal que son herramientas de programacin, idneas para la


inicializacin de los programadores.
C y C++ que sirven para la programacin de sistemas.
Cobol, que es una herramienta de programacin orientada hacia sistemas de
gestin empresarial como nominas y contabilidad.
Fortran, que son lenguajes especficos para clculos matemticos y o
numricos.
Herramientas de programacin para ambientes grficos como son Visual Basic,
Delphi y Visual C.
HTML y Java, que permiten la creacin de pginas WEB para Internet.
CLASIFICACIN:

Lenguajes de bajo nivel.

Son lenguajes totalmente dependientes de la mquina, es decir que el


programa que se realiza con este tipo de lenguajes no se pueden migrar o
utilizar en otras maquinas, al estar prcticamente diseados a la medida del
hardware, aprovechan al mximo las caractersticas del mismo.

Dentro de este grupo se encuentran:

El lenguaje maquina: este lenguaje ordena a la mquina las operaciones


fundamentales para su funcionamiento, consiste en la combinacin de 0's y 1's
para formar las ordenes entendibles por el hardware de la maquina, es mucho
ms rpido que los lenguajes de alto nivel, la desventaja es que son bastantes
difciles de manejar y usar, adems de tener cdigos fuente enormes donde
encontrar un fallo es casi imposible.

El lenguaje ensamblador es un derivado del lenguaje maquina y est formado


por abreviaturas de letras y nmeros llamadas mnemotcnicos, con la
aparicin de este lenguaje se crearon los programas traductores para poder
pasar los programas escritos en lenguaje ensamblador a lenguaje mquina,
como ventaja con respecto al cdigo mquina es que los cdigos fuentes eran
ms cortos y los programas creados ocupaban menos memoria, las
desventajas de este lenguaje siguen siendo prcticamente las mismas que las
del lenguaje ensamblador, aadiendo la dificultad de tener que aprender un
nuevo lenguaje difcil de probar y mantener.

Lenguajes de alto nivel

Se encuentran ms cercanos al lenguaje natural que al lenguaje mquina,


estn dirigidos a solucionar problemas mediante el uso de EDDs (Estructuras
Dinmicas de Datos), son estructuras que pueden cambiar de tamao durante
la ejecucin del programa, permiten crear estructuras de datos que se adapten
a las necesidades reales de un programa, son lenguajes independientes de la
arquitectura de la computadora, es decir que en principio, un programa escrito
en un lenguaje de alto nivel, se puede migrar de una mquina a otra sin ningn
tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del


funcionamiento interno de la maquinas para la que estn diseando el
programa, solo necesitan un traductor que entiendan el cdigo fuente como las
caractersticas de la maquina, suelen usar diferentes tipos de datos para la
programacin, hay lenguajes de propsito general y de propsito especifico.

Lenguajes de Medio nivel

Estos lenguajes se encuentran en un punto medio entre los dos anteriores,


dentro de estos lenguajes podra situarse C ya que puede acceder a los
registros del sistema, trabajar con direcciones de memoria, todas ellas
caractersticas de lenguajes de bajo nivel y a la vez realizar operaciones de alto
nivel.

GENERACIONES
Primera generacin: lenguaje maquina.
Segunda generacin: se crearon los primeros lenguajes ensambladores.
Tercera generacin: se crean los primeros lenguajes de alto nivel.
Cuarta generacin: son lenguajes capaces de generar cdigo por si solos, con
lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje, aqu
tambin se encuentran los lenguajes orientados a objetos, haciendo posible la
reutilizacin de partes del cdigo para otros programas.
Quinta generacin: aqu se encuentran los lenguajes orientados a la
inteligencia artificial, etos lenguajes todava estn poco desarrollados.
PROGRAMACIN EN C
El lenguaje de programacin en C, es un lenguaje conocido como de alto nivel,
es que es un lenguaje estructurado, lo que permite generar cdigo claro y
sencillo, ya que est basado en la modularidad, est estructurado en tres
partes fundamentales, las cuales son, una librera estndar, un programa
compilador y un procesador.

La librera estndar en el lenguaje de programacin C, no es ms que libreras


realizadas en cdigo objeto y puede haber sido realizada en otro lenguaje
diferente que el C, etas libreras se deben colocar el un programa de lenguaje
programacin en C, en la instruccin conocida como INCLUDE.
El programa compilador en el lenguaje de programacin en C, es el que tiene
como funcin traducir las instrucciones del programa fuente en C al lenguaje
conocido por las computadoras, el llamado lenguaje maquina, el compilador,
depura y detecta los posibles errores en el lenguaje fuente, y es capaz de
notificar el error ocurrido al programador, mediante un mensaje de texto.

En el lenguaje de programacin en C, el preprocesador es un componente


perteneciente propiamente al lenguaje C, el cual transforma el programa
fuente traduciendo cada instruccin del programa fuente, de la siguiente
forma: Elimina los comentarios colocados por el programador, incluye en el
programa fuente el contenido de los archivos que se encuentran declarados en
el INCLUDE, a estos archivos se le suele llamar cabeceras, y por ltimo ,
sustituye los valores de las constantes declaradas en l define, por su
flexibilidad y por ser un lenguaje de alto nivel, es empleado por muchos
programadores.
PROGRAMACIN EN PASCAL

El lenguaje de programacin Pascal, es un lenguaje de alto nivel, y de propsito


general, lo cual quiere decir que se puede utilizar para cualquier tipo de
propsitos, 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 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, se pueden realizar desde programas formales, rutinas,
utilitarios, hasta cualquier clase de video juego, es un lenguaje de sintaxis
sencilla, muy estructurado y que comprueba exhaustivamente todo tipo de
datos, ensea buenas formas de programacin, por su sencillez, su
estructuracin y su facilidad de lectura y entendimiento.

PROGRAMACIN JAVA

El lenguaje para la programacin Java, es un lenguaje orientado a objeto, de


una plataforma independiente, fue desarrollado por la compaa Sun
Microsystems, con la idea original de usarlo para la creacin de pginas WEB,
tiene muchas similitudes con el lenguaje C y C++, el aprendizaje de la
programacin Java ser de fcil comprensin por un programador que haya
realizado programas en estos lenguajes.

Con Java, se pueden realizar distintos aplicativos, como son applets, que son
aplicaciones especiales, que se ejecutan dentro de un navegador al ser
cargada una pgina HTML en un servidor WEB, por lo general los applets son
programas pequeos y de propsitos especficos.

Con la programacin Java, se pueden realizar aplicaciones como un procesador


de palabras, una hoja que sirva para clculos, una aplicacin grafica, permite la
modularidad por lo que se pueden hacer rutinas individuales que sean usadas
por ms de una aplicacin, por ejemplo tenemos una rutina de impresin que
puede servir para el procesador de palabras, como para la hoja de clculo.

La programacin en Java, permite el desarrollo de aplicaciones bajo el esquema


de Cliente Servidor, como de aplicaciones distribuidas, lo que lo hace capaz de
conectar dos o ms computadoras, ejecutando tareas simultneamente, y de
esta forma logra distribuir el trabajo a realizar.

PROGRAMACIN EN VISUAL BASIC

Programacin en Visual Basic es una forma gil y simple de crear aplicaciones


para Microsoft Windows, proporciona todas las herramientas necesarias para el
desarrollo rpido de aplicaciones.
Visual Basic le proporciona una herramienta ilimitada para crear aplicaciones
en la red, permite construir de forma rpida aplicaciones de Windows, no es
necesario conocer otros lenguajes de programacin para poder saber
programar en Visual Basic, es una manera sencilla de crear aplicaciones,
adems el lenguaje le ofrece una cantidad de herramientas para simplificar
esta labor, como proyectos, formularios, plantillas de objetos, controles
personalizados, add-ins y un gestor de base de datos.
PROGRAMACIN WEB

La programacin Web, parte de las siglas www, que significan World Wide Web
o telaraa mundial, para realizar una pgina con la programacin Web, se
deben tener claros, tres conceptos fundamentales los cuales son, el URL es un
sistema con el cual se localiza un recurso dentro de la red, este recurso puede
ser una pgina Web, un servicio o cualquier otra cosa. En resumen el URL no es
ms que un nombre, que identifica una computadora, dentro de esa
computadora un archivo que indica el camino al recurso que se solicita.

El siguiente concepto dentro de la programacin Web, es el protocolo


encargado de llevar la informacin que contiene una pgina Web por toda la
red de Internet, como es el HTTP (Hypertext Transfer Protocol). Y por ltimo el
lenguaje necesario cuya funcionalidad es la de representar cualquier clase de
informacin que se encuentre almacenada en una pgina Web, este lenguaje
es el HTML (Hypertext Markup Language).
En la programacin Web, el HTML es el lenguaje que permite codificar o
preparar documentos de hipertexto, que viene a ser el lenguaje comn para la
construccin de una pgina Web.
PROGRAMACIN DELPHI

La programacin en Delphi es un entorno de desarrollo flexible y potente, es


intrprete de un lenguaje llamado Object Pascal, no es solo un intrprete, sino
que adems incluye otras herramientas para facilitar la escritura del cdigo y
el diseo de la aplicacin.
En la interfaz de programacin Delphi podemos encontrar multitud de
ventanas, iconos, men de opciones, la versin profesional tiene ms
componentes, as como cdigos fuentes prefabricados, ms completa aun es la
versin cliente/servidor, que posibilita las acciones para Internet o intranet.
Una de las mayores ventajas de la programacin delphi es que es una
programacin orientada a objeto.
Un programa en Delphi consta de las siguientes secciones: un compilador el
cual crea el ejecutable; una librera: conocida como VCL, la cual es una librera
de clases; el IDE que viene siendo el ambiente de desarrollo integrado.

La programacin Delphi almacena la aplicacin con archivos de extensin .dpr,


que define al proyecto en s. Y archivos .dfm el que guarda el formulario creado
en Delphi.

PROGRAMACIN EN EXCEL

Excel, es un aplicativo el cual trabaja con datos numricos, representados en


unas casillas contiguas, llamadas celdas, con la programacin en Excel, se

pueden realizar clculos de gran utilidad y muy complejos, as como funciones


combinando celdas de filas y columnas. Tambin se pueden crear listas las
cuales trabajan como si fueran Bases de Datos, grficos y cualquier tipo de
imgenes pueden ser agregadas en la programacin en Excel.
En Excel, se encuentra la hoja principal conocida como el libro o el archivo
bsico, cada libro est conformado por hojas de clculo, en cada celda de estas
hojas de clculo, se pueden agregar formatos para personalizar estas, estos
formatos pueden ser, cambio de color de las celdas, cambio del tipo de letra,
cambiar el diseo de los bordes, se pueden utilizar formulas, con solo la
instruccin = en la celdas, estas formulas, admiten desde una constante
numricas, hasta un clculo entre dos fechas dadas.
En la programacin en Excel, se pueden utilizar tablas y grficos dinmicos, los
cuales permiten combinar datos en forma de matrices con agrupaciones de
datos, por ltimo y como un aadido ms, un libro completo de Excel, puede
ser colocado como una pgina WEB en Internet.

PROGRAMACIN ESTRUCTURADA

La programacin estructurada es una teora de programacin que consiste en


construir programas de fcil comprensin.
Es especialmente til, cuando se necesitan realizar correcciones o
modificaciones despus de haber concluido un programa o aplicacin. Al
haberse utilizado la programacin estructurada, es mucho ms sencillo
entender la codificacin del programa, que se habr hecho en diferentes
secciones.
Se basa en una metodologa de desarrollo de programas llamada refinamiento
sucesivos: Se plantea una operacin como un todo y se divide en segmentos
ms sencillos o de menor complejidad. Una vez terminado todos los segmentos
del programa, se procede a unificar las aplicaciones realizadas por el pool de
programadores. Si se ha utilizado adecuadamente la programacin
estructurada, esta integracin debe ser sencilla y no presentar problemas al
integrar la misma, y de presentar algn problema, ser rpidamente
detectable para su correccin.

La representacin grfica de la programacin estructurada se realiza a travs


de diagramas de flujo o flow chart, el cual representa el programa con sus
entradas, procesos y salidas.
La programacin estructurada propone segregar los procesos en estructuras lo
ms simple posibles, las cuales se conocen como secuencia, seleccin e
interaccin. Ellas estn disponibles en todos los lenguajes modernos de
programacin imperativa en forma de sentencias. Combinando esquemas

sencillos se pueden llegar a construir sistemas amplios y complejos pero de


fcil entendimiento.

PROGRAMACIN ORIENTADA A OBJETOS

La programacin orientada a objetos, intenta simular el mundo real a travs


del significado de objetos que contiene caractersticas y funciones. Los
lenguajes orientados a objetos se clasifican como lenguajes de quinta
generacin.
Como su mismo nombre indica, la programacin orientada a objetos se basa en
la idea de un objeto, que es una combinacin de variables locales y
procedimientos llamados mtodos que juntos conforman una entidad de
programacin.
El termino encapsulacin significa, reunir y controlar el grupo resultante como
un todo y no individualmente se usa para describir la combinacin de
estructuras de datos y de mtodos que son manipulados por el objeto. La
llamada a un objeto es lo que se denomina pasar un "aviso" a un objeto.
En la programacin orientada a objetos la abstraccin es un trmino externo al
objeto, que controla la forma en que es visto por los dems. La modularidad se
considera de la siguiente manera: Un programa grande siempre ser ms
complicado que la suma de varios programas pequeos, con lo que se
considera ventajoso dividir un gran sistema en diversos mdulos.
En la programacin orientada a objetos tenemos la jerarqua, la cual consiste
en la clasificacin y organizacin de las abstracciones segn su naturaleza. El
ms claro ejemplo de jerarqua es la herencia. Se define la herencia como una
jerarqua de extracciones, y la relacin entre clases, donde se comparte la
estructura y el comportamiento de una o ms clase considerada como clases
superiores o una superclase, con lo cual se resume que la herencia es una
unidad independiente por si misma heredada de una abstraccin o superclase.

PROGRAMACIN DE ALGORITMOS

La programacin de algoritmos no es ms que el estudio de un problema, su


anlisis e implementacin final del mismo.
En la programacin de los algoritmos encontramos tres fases fundamentales,
las cuales son: identificacin del problema, anlisis y desarrollo del problema e
implementacin.
En la programacin de algoritmos la identificacin del problema no es ms que,
que es lo que se quiere hacer, para ello en esta etapa, encontramos
informacin de entrada o inicial, que servir para el anlisis del problema.

La segunda etapa o fase es analizar el problema, en esta etapa es conveniente


dividir o segregar las tareas necesarias e identificadas que ayudaran a la
solucin del problema dado. De esta forma se simplificarn y sern ms
comprensibles para su desarrollo, es recomendable siempre ir de las tareas o
actividades ms simples a las ms complejas. En esta fase se transforma la
informacin de entrada recibida.
La tercera etapa en la programacin de algoritmos, consiste en la implantacin
y puesta en desarrollo del mismo, hache se obtiene la informacin y resultado
final resultante de las etapas anteriores.
En la programacin de algoritmos, se utiliza una nomenclatura llamada
pseudocdigo, una vez realizados los algoritmos en pseudocdigo, estos
pueden ser traducidos en cualquier lenguaje de programacin.

1.2 Cuatro lenguajes ms comunes

ADA
Es un lenguaje estructurado parecido al Pascal destinado a controlar
mecanismos en "tiempo real" (o sea una velocidad compatible con las
necesidades reales), pero de gran complejidad.Admite una programacion
"orientada a objetos" y un sistema de alta modularidad de tipo HyperTexto. Fue
elaborado a pedido del Departamento de Defensa de los Estados Unidos y
establecido como norma para todos los fabricantes que particcipaban en el
programa de la Iniciativa de Defensa Estrategica (IDE,tambien llamado "Guerra
de las Galaxias".

ASSEMBLER (ENSAMBLADOR)
Como sealado a proposito del "Primer Nivel" de los lenguajes, el Assembler es
directamente dependiente de los circuitos electronicos de los procesadores
(que constituyen el nucleo de los computadores), por lo cual escribir en
Ensamblador sigue siendo una tarea muy compleja, a lo cual hay que sumar
que el codigo varia de un procesador a otro aunque existe ya una jerga comun
para ciertas operaciones como las aritmeticas y logicas, por ejemplo:

ALGOL
El ALGOL ("ALGOrithmic Lenguage" es el primer lenguaje que fue creado por un
comite internacional. En 1960 se reunieron representantes de varios paises
Europeos y de Estados Unidos para crear un lenguaje destinado a "describir
procesos" mediante instrucciones de control (iteraciones y alteraciones) de
nivel mas elevado que la existentes en las versiones existentes de su
predecedor, el FORTRAN.

BASIC
El BASIC ("Beginner's All-purpose Simbolic Instruction Code" nacio con los
microcomputadores, como un lenguaje simplificado y multiproposito destinado
a los usuarios no-especialistas. Permite resolver problemas numericos o
comerciales asi como crear y mantener archivos, realizar graficos lineales, etc.
Es por esencia un lenguaje interpretado y no-estructurado.

C y C++
El lenguaje "C" es bastante reciente y esta especialmente orientado hacia el
desarrollo de software de sistemas operativos y utilitarios que anteriormente se
escribian en Assembler. Se usa hoy como base para crear el software que
funciona con el sistema operativo "UNIX", logrando un alto grado de
portabilidad, es dcir de independencia respecto de los procesadores (con lo
cual es facil lograr que un mismo programa pueda ser ejecutado en diferentes
modelos de computadores). El "C++" es un lenguaje desarrollado a partir del
"C" pero con una estructura "orientada a objetos", lo cual facilita el mejor
manejo d los datos.

COBOL
El COBOL ("COmmon Business-Oriented Language" es uno de los primeros
lenguajes de programacion creados. Fue desarrollado en 1960 por CODASYL
(Conference on Data Systems Languages", un comite en que participaron
fabricantes y usuarios, a pedido de la Marina de los Estados Unidos. Este
comite estuvo dirigido por la Dra. Grace Hopper, una de las primeras
programadoras de la computadora ENIAC. Es uno de los pocos lenguajes
reconocidos como forma internacional (americana por el ANSI -American
Nacional Standars Institute- y europea por el ISO -Internacional Organization for
Standardization-).

FORTRAN
El FORTRAN ("FORmula TRANslator" fue desarrollado entre los aos 1954 y
1957 por un equipo dirigido por James Backus, fue el primer lenguaje
compilado e inclusive hoy en dia es usado ampliamente en la solucion de
problemas numericos. Aunque fue el mas comun hasta 1970, sigue siendo de
primera importancia en aplicaciones cientificas por cuanto se adapta muy bien
a la forma tradicional de escribir formulas matematicas. Al contrario, no se
presta con facilidad al manejo de archivos y produccion de tablas de
resultados.

HYPERTALK
"HyperTalk" es el lenguaje desarrollado por Dan Winkler pra Bill Atkinson, el
creador de "HyperCard" para AppleMacintosh. Esta orientado a la creacion de

aplicaciones conforme al sistema de "hiperarchivos" (sistemas de fichas


interrelacionadas donde se facilita el "navegar" de un archivo a otro).
HyperTalk es un buen ejemplo de lenguaje orientado a objetos. Este tipo de
lenguaje combina la logica declarativa con los algoritmos. Un programa ya no
es una secuencia de instrucciones sino un conjunto de objetos agrupados en
conjuntos, definidos mediante atributos y a los cuales pueden asociarse
instrucciones.

HTML
El HTML o "HyperText Marking Language" es el lenguaje que se utiliza para
crear paginas -como la presente- en World Wide Web.
El HTML se basa en los mismos principios que el HyperTalk, permitiendo definir
segmentos (de texto o ilustraciones) que remiten a otros, facilitando una
"navegacion" por multiples vias, a gusto del usuario. Asi es como el boton
"Home" tiene asociadas las instrucciones que indican al procesador que busque
la primera ficha o pagina del archivo llamado "Home" o "index" en el archivo
del computador que presta el servicio de conexion (servidor). Y si se hace un
clic en una palabra subrayada, se pasa a ver otra seccion del mismo
documento o algun otro documento (otro "objeto".

JAVA
JAVA es un lenguaje de programacion basado en el C++ (con cambios en la
sintaxis y nuevas restricciones de codificacion). Permite agregar animaciones y
puntos sensibles en paginas de texto. Aunque se lo pretende presentar como
"EL" lenguaje destinado a desarrollos para World Wide Web, es mucho mas
complejo que el HTML e incluso que otros lenguajes utilizables por los browsers
(navegadores) de la Web.
Una version muy reducida es el "JavaScript", que se puede combinar con el
lenguaje HTML, dentro de una pagina web.
1.3 Que otros lenguajes revolucionan el mercado
LabVIEW
(acrnimo de Laboratory Virtual Instrumentation Engineering Workbench) es una plataforma y
entorno de desarrollo para disear sistemas, con un lenguaje de programacin visual grfico.
Recomendado para sistemas hardware y software de pruebas, control y diseo, simulado o
real y embebido, pues acelera la productividad. El lenguaje que usa se llama lenguaje G,
donde la G simboliza que es lenguaje Grfico.

Este programa fue creado por National Instruments (1976) para funcionar sobre mquinas
MAC, sali al mercado por primera vez en 1986. Ahora est disponible para las plataformas
Windows, UNIX, MAC y GNU/Linux. La penltima versin es la 2013, con la increble

demostracin de poderse usar simultneamente para el diseo del firmware de un instrumento


RF de ltima generacin, a la programacin de alto nivel del mismo instrumento, todo ello con
cdigo abierto. Y posteriormente la versin 2014 disponible en versin demo para estudiantes
y profesional, la versin demo se puede descargar directamente de la pagina National
Instruments.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su


origen provena del control de instrumentos, aunque hoy en da se ha expandido ampliamente
no slo al control de todo tipo de electrnica (Instrumentacin electrnica) sino tambin a su
programacin embebida, comunicaciones, matemticas, etc. Un lema tradicional de LabVIEW
es: "La potencia est en el Software", que con la aparicin de los sistemas multincleo se ha
hecho an ms potente. Entre sus objetivos estn el reducir el tiempo de desarrollo de
aplicaciones de todo tipo (no slo en mbitos de Pruebas, Control y Diseo) y el permitir la
entrada a la informtica a profesionales de cualquier otro campo. LabVIEW consigue
combinarse con todo tipo de software y hardware, tanto del propio fabricante -tarjetas de
adquisicin de datos, PAC, Visin, instrumentos y otro Hardware- como de otros fabricantes.

Su principal caracterstica es la facilidad de uso, vlido para programadores


profesionales como para personas con pocos conocimientos en programacin
pueden hacer programas relativamente complejos, imposibles para ellos de
hacer con lenguajes tradicionales. Tambin es muy rpido hacer programas con
LabVIEW y cualquier programador, por experimentado que sea, puede
beneficiarse de l. Los programas en LabView son llamados instrumentos
virtuales (VIs) Para los amantes de lo complejo, con LabVIEW pueden crearse
programas de miles de VIs (equivalente a millones de pginas de cdigo texto)
para aplicaciones complejas, programas de automatizaciones de decenas de
miles de puntos de entradas/salidas, proyectos para combinar nuevos VIs con
VIs ya creados, etc. Incluso existen buenas prcticas de programacin para
optimizar el rendimiento y la calidad de la programacin. El labView 7.0
introduce un nuevo tipo de subVI llamado VIs Expreso (Express VIS). Estos son
VIs interactivos que tienen una configuracin de caja de dilogo que permite al
usuario personalizar la funcionalidad del VI Expreso. El VIs estndard son VIs
modulares y personalizables mediante cableado y funciones que son elementos
fundamentales de operacin de LabView.

Presenta facilidades para el manejo de:

Interfaces de comunicaciones:

Puerto serie
Puerto paralelo
GPIB
PXI
VXI

TCP/IP, UDP, DataSocket


Irda
Bluetooth
USB

Capacidad de interactuar con otros lenguajes y aplicaciones:

DLL: libreras de funciones


.NET
ActiveX
Multisim
Matlab/Simulink
AutoCAD, SolidWorks, etc
Herramientas grficas y textuales para el procesado digital de seales.
Visualizacin y manejo de grficas con datos dinmicos.
Adquisicin y tratamiento de imgenes.
Control de movimiento (combinado incluso con todo lo anterior).
Tiempo Real estrictamente hablando.
Programacin de FPGAs para control o validacin.
Sincronizacin entre dispositivos.

Arduino
Lenguaje de programacin de Arduino, estructura de un programa
Para programar un Arduino, el lenguaje estndar es C++, aunque es posible
programarlo en otros lenguajes. No es un C++ puro sino que es una adaptacin
que proveniente de avr-libc que provee de una librera de C de alta calidad
para usar con GCC en los microcontroladores AVR de Atmel y muchas funciones
especficas para los MCU AVR de Atmel.

avr-binutils, avr-gcc y avr-libc son las herramientas necesarias para programar


los microcontroladores AVR de Atmel.
1.4 Como se catalogan y califican los lenguajes de programacin
nuevo
Un lenguaje de programacin es un lenguaje inventado para controlar una
mquina, (normalmente, un ordenador). Hay muchsimos, de toda clase de
tipos y caractersticas, inventados para facilitar el abordaje de distintos
problemas, el mantenimiento del software, su reutilizacin, mejorar la
productividad, etc.

Los lenguajes de programacin se pueden clasificar segn varios criterios. He


encontrado doce en total: Nivel de abstraccin, propsito, evolucin histrica,
manera de ejecutarse, manera de abordar la tarea a realizar, paradigma de
programacin, lugar de ejecucin, concurrencia, interactividad, realizacin
visual, determinismo y productividad.

Hay que tener en cuenta tambin, que en la prctica, la mayora de lenguajes


no pueden ser puramente clasificados en una categora, pues surgen
incorporando ideas de otros lenguajes y de otras filosofas de programacin,
pero no importa al establecer las clasificaciones, pues el autntico objetivo de
las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que
hay.

1. Nivel de abstraccin.

Segn el nivel de abstraccin, o sea, segn el grado de cercana a la mquina:

Lenguajes de bajo nivel: La programacin se realiza teniendo muy en cuenta


las caractersticas del procesador. Ejemplo: Lenguajes ensamblador.
Lenguajes de nivel medio: Permiten un mayor grado de abstraccin pero al
mismo tiempo mantienen algunas cualidades de los lenguajes de bajo nivel.
Ejemplo: C puede realizar operaciones lgicas y de desplazamiento con bits,
tratar todos los tipos de datos como lo que son en realidad a bajo nivel
(nmeros), etc.
Lenguajes de alto nivel: Ms parecidos al lenguaje humano. Manejan
conceptos, tipos de datos, etc., de una manera cercana al pensamiento
humano ignorando (abstrayndose) del funcionamiento de la mquina.
Ejemplos: Java, Ruby.
Hay quien slo considera lenguajes de bajo nivel y de alto nivel, (en ese caso,
C es considerado de alto nivel).

2. Propsito.

Segn el propsito, es decir, el tipo de problemas a tratar con ellos:

Lenguajes de propsito general: Aptos para todo tipo de tareas: Ejemplo: C.


Lenguajes de propsito especfico: Hechos para un objetivo muy concreto.
Ejemplo: Csound (para crear ficheros de audio).
Lenguajes de programacin de sistemas: Diseados para realizar sistemas
operativos o drivers. Ejemplo: C.
Lenguajes de script: Para realizar tareas varias de control y auxiliares.
Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch)
o JCL (Job Control Languages). Se subdividen en varias clases (de shell, de

GUI, de programacin web, etc.). Ejemplos: bash (shell), mIRC script, JavaScript
(programacin web).
3. Evolucin histrica.

Con el paso del tiempo, se va incrementando el nivel de abstraccin, pero en la


prctica, los de una generacin no terminan de sustituir a los de la anterior:

Lenguajes de primera generacin (1GL): Cdigo mquina.


Lenguajes de segunda generacin (2GL): Lenguajes ensamblador.
Lenguajes de tercera generacin (3GL): La mayora de los lenguajes modernos,
diseados para facilitar la programacin a los humanos. Ejemplos: C, Java.
Lenguajes de cuarta generacin (4GL): Diseados con un propsito concreto, o
sea, para abordar un tipo concreto de problemas. Ejemplos: NATURAL,
Mathematica.
Lenguajes de quinta generacin (5GL): La intencin es que el programador
establezca el qu problema ha de ser resuelto y las condiciones a reunir, y la
mquina lo resuelve. Se usan en inteligencia artificial. Ejemplo: Prolog.
4. Manera de ejecutarse.

Segn la manera de ejecutarse:

Lenguajes compilados: Un programa traductor traduce el cdigo del programa


(cdigo fuente) en cdigo mquina (cdigo objeto). Otro programa, el
enlazador, unir los ficheros de cdigo objeto del programa principal con los de
las libreras para producir el programa ejecutable. Ejemplo: C.
Lenguajes interpretados: Un programa (intrprete), ejecuta las instrucciones
del programa de manera directa. Ejemplo: Lisp.
Tambin los hay mixtos, como Java, que primero pasan por una fase de
compilacin en la que el cdigo fuente se transforma en bytecode, y este
bytecode puede ser ejecutado luego (interpretado) en ordenadores con
distintas arquitecturas (procesadores) que tengan todos instalados la misma
mquina virtual Java.

5. Manera de abordar la tarea a realizar.

Segn la manera de abordar la tarea a realizar, pueden ser:

Lenguajes imperativos: Indican cmo hay que hacer la tarea, es decir, expresan
los pasos a realizar. Ejemplo: C.
Lenguajes declarativos: Indican qu hay que hacer. Ejemplos: Lisp, Prolog.
Otros ejemplos de lenguajes declarativos, pero que no son lenguajes de
programacin, son HTML (para describir pginas web) o SQL (para consultar
bases de datos).
6. Paradigma de programacin.

El paradigma de programacin es el estilo de programacin empleado. Algunos


lenguajes soportan varios paradigmas, y otros slo uno. Se puede decir que
histricamente han ido apareciendo para facilitar la tarea de programar segn
el tipo de problema a abordar, o para facilitar el mantenimiento del software, o
por otra cuestin similar, por lo que todos corresponden a lenguajes de alto
nivel (o nivel medio), estando los lenguajes ensambladores atados a la
arquitectura de su procesador correspondiente. Los principales son:

Lenguajes de programacin procedural: Divide el problema en partes ms


pequeas, que sern realizadas por subprogramas (subrutinas, funciones,
procedimientos), que se llaman unas a otras para ser ejecutadas. Ejemplos: C,
Pascal.
Lenguajes de programacin orientada a objetos: Crean un sistema de clases y
objetos siguiendo el ejemplo del mundo real, en el que unos objetos realizan
acciones y se comunican con otros objetos. Ejemplos: C++, Java.
Lenguajes de programacin funcional: La tarea se realiza evaluando funciones,
(como en Matemticas), de manera recursiva. Ejemplo: Lisp.
Lenguajes de programacin lgica: La tarea a realizar se expresa empleando
lgica formal matemtica. Expresa qu computar. Ejemplo: Prolog.
Hay muchos paradigmas de programacin: Programacin
programacin reflexiva, programacin orientada a procesos, etc.

genrica,

7. Lugar de ejecucin.

En sistemas distribuidos, segn dnde se ejecute:

Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP es el ms


utilizado en servidores web.
Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript en
navegadores web.
8. Concurrencia.

Segn admitan o no concurrencia de procesos, esto es, la ejecucin simultnea


de varios procesos lanzados por el programa:

Lenguajes concurrentes. Ejemplo: Ada.


Lenguajes no concurrentes. Ejemplo: C.
9. Interactividad.

Segn la interactividad del programa con el usuario u otros programas:

Lenguajes orientados a sucesos: El flujo del programa es controlado por la


interaccin con el usuario o por mensajes de otros programas/sistema
operativo, como editores de texto, interfaces grficos de usuario (GUI) o
kernels. Ejemplo: VisualBasic, lenguajes de programacin declarativos.
Lenguajes no orientados a sucesos: El flujo del programa no depende de
sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch
el ejemplo ms claro (actualizaciones de bases de datos, colas de impresin de
documentos, etc.). Ejemplos: Lenguajes de programacin imperativos.
10. Realizacin visual.

Segn la realizacin visual o no del programa:

Lenguajes de programacin visual: El programa se realiza moviendo bloques de


construccin de programas (objetos visuales) en un interfaz adecuado para
ello. No confundir con entornos de programacin visual, como Microsoft Visual
Studio y sus lenguajes de programacin textuales (como Visual C#). Ejemplo:
Mindscript.
Lenguajes de programacin textual: El cdigo del programa se realiza
escribindolo. Ejemplos: C, Java, Lisp.
11. Determinismo.

Segn se pueda predecir o no el siguiente estado del programa a partir del


estado actual:

Lenguajes deterministas. Ejemplos: Todos los anteriores.

Lenguajes probabilsticos o no deterministas: Sirven para explorar grandes


espacios de bsqueda, (como gramticas), y en la investigacin terica de
hipercomputacin. Ejemplo: mutt (generador de texto aleatorio).
12. Productividad.

Segn se caractericen por tener virtudes tiles o productivas, u oscuras y


enrevesadas:

Lenguajes tiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez,


claridad, productividad, etc., motiva que sean utilizados en empresas,
administraciones pblicas y/o en la enseanza. Ejemplos: Cualquier lenguaje
de uso habitual (C, Java, C++, Lisp, Python, Ruby, ).
Lenguajes esotricos o exticos: Inventados con la intencin de ser los ms
raros, oscuros, difciles, simples y/o retorcidos de los lenguajes, para diversin
y entretenimiento de frikis programadores. A veces exploran nuevas ideas en
programacin. Ejemplo: Brainfuck.
Etiquetas: clasificacin, lenguaje de programacin.

Fuentes de informacin.
https://aprendiendoarduino.wordpress.com/2015/03/26/lenguaje-deprogramacion-de-arduino-estructura-de-un-programa/
https://ciclodevidasoftware.wikispaces.com/Clasificacion+De+Los+Lenguajes+
De+Programacion
https://geekytheory.com/que-lenguaje-de-programacion-deberias-aprender/

Das könnte Ihnen auch gefallen