Sunteți pe pagina 1din 11

SOFTWARE EN INGENIERA CIVIL

LENGUAJES DE PROGRAMACIN
GADIEL ZURISADA AGUILAR GARCIA

PROFESOR: JORGE CARRASCO GUERRERO


04 DE DICIEMBRE DEL 2014
LENGUAJES DE PROGRAMACIN
Un lenguaje de programacin" es un lenguaje diseado para describir el
conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un
lenguaje de programacin es un modo prctico para que los seres humanos puedan
dar instrucciones a un equipo.
Los lenguajes de programacin son herramientas que nos permiten crear
programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.
Una computadora funciona bajo control de un programa el cual debe estar
almacenado en la unidad de memoria; tales como el disco duro.
Los lenguajes de programacin de una computadora en particular se
conocen como cdigo de mquinas o lenguaje de mquinas.

HISTORIA
Para que la computadora entienda nuestras instrucciones debe usarse un
lenguaje especfico conocido como cdigo mquina, el cual la mquina comprende
fcilmente, pero que lo hace excesivamente complicado para las personas. De
hecho slo consiste en cadenas extensas de nmeros 0 y 1.
Para facilitar el trabajo, los primeros operadores de computadoras decidieron
hacer un traductor para reemplazar los 0 y 1 por palabras o abstraccin de palabras
y letras provenientes del ingls; ste se conoce como lenguaje ensamblador. Por
ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). El lenguaje
ensamblador sigue la misma estructura del lenguaje mquina, pero las letras y
palabras son ms fciles de recordar y entender que los nmeros.
La necesidad de recordar secuencias de programacin para las acciones
usuales llev a denominarlas con nombres fciles de memorizar y asociar: ADD
(sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta
secuencia de posiciones se le denomin "instrucciones", y a este conjunto de
instrucciones se le llam lenguaje ensamblador. Posteriormente aparecieron
diferentes lenguajes de programacin, los cuales reciben su denominacin porque
tienen una estructura sintctica similar a los lenguajes escritos por los humanos,
denominados tambin lenguajes de alto nivel.
La primera programadora de computadora conocida fue Ada Lovelace, hija
de Anabella Milbanke Byron y Lord Byron. Anabella introdujo en las matemticas a
Ada quien, despus de conocer a Charles Babbage, tradujo y ampli una
descripcin de su mquina analtica. Incluso aunque Babbage nunca complet la
construccin de cualquiera de sus mquinas, el trabajo que Ada realiz con stas
le hizo ganarse el ttulo de primera programadora de computadoras del mundo. El
nombre del lenguaje de programacin Ada fue escogido como homenaje a esta
programadora.
A finales de 1953, John Backus someti una propuesta a sus superiores en
IBM para desarrollar una alternativa ms prctica al lenguaje ensamblador para
programar la computadora central IBM 704. El histrico equipo Fortran de Backus
consisti en los programadores Richard Goldberg, Sheldon F. Best, Harlan Herrick,
Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.
El primer manual para el lenguaje Fortran apareci en octubre de 1956, con
el primer compilador Fortran entregado en abril de 1957. Esto era un compilador
optimizado, porque los clientes eran reacios a usar un lenguaje de alto nivel a menos
que su compilador pudiera generar cdigo cuyo desempeo fuera comparable al de
un cdigo hecho a mano en lenguaje ensamblador.
En 1960, se cre COBOL, uno de los lenguajes usados an en la actualidad,
en informtica de gestin.
A medida que la complejidad de las tareas que realizaban las computadoras
aumentaba, se hizo necesario disponer de un mtodo ms eficiente para
programarlas. Entonces, se crearon los lenguajes de alto nivel, como lo fue BASIC
en las versiones introducidas en los microordenadores de la dcada de 1980.
Mientras que una tarea tan sencilla como sumar dos nmeros puede necesitar
varias instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastar
una sola sentencia.

ELEMENTOS DE LOS LENGUAJES DE PROGRAMACIN


Variables y vectores
Las variables podran calificarse como contenedores de datos y por ello se
diferencian segn el tipo de dato que son capaces de almacenar. En la mayora de
lenguajes de programacin se requiere especificar un tipo de variable concreto para
guardar un dato concreto. Por ejemplo, en Java, si deseamos guardar una cadena
de texto deberemos especificar que la variable es del tipo String. Por otra parte, en
lenguajes como el PHP este tipo de especificacin de variables no es necesario.
Adems, existen variables compuestas por varias variables llamadas vectores. Un
vector no es ms que un conjunto de variables consecutivas en memoria y del
mismo tipo guardadas dentro de una variable contenedor. Los tipos de variables y
vectores ms comunes:

Variables tipo Char: Estas variables contienen un nico carcter, es decir, una
letra, un signo o un nmero.
Variables tipo Int: Contienen un nmero entero.
Variables tipo float: Contienen un nmero decimal.
Variables tipo String: Contienen cadenas de texto, o lo que es lo mismo, es un
vector con varias variables del tipo Char.
Variables del tipo Boolean: Solo pueden contener un 0 o un 1. El cero es
considerado para muchos lenguajes como el literal "False", mientras que el 1 se
considera "True".

Condicionantes

Los condicionantes son estructuras de cdigo que indican que, para que cierta
parte del programa se ejecute, deben cumplirse ciertas premisas; por ejemplo: que
dos valores sean iguales, que un valor exista, que un valor sea mayor que otro...
Estos condicionantes por lo general solo se ejecutan una vez a lo largo del
programa. Los condicionantes ms conocidos y empleados en programacin son:

If: Indica una condicin para que se ejecute una parte del programa.
Else if: Siempre va precedido de un "If" e indica una condicin para que se
ejecute una parte del programa siempre que no cumpla la condicin del if
previo y si se cumpla con la que el "else if" especifique.
Else: Siempre precedido de "If" y en ocasiones de "Else If". Indica que debe
ejecutarse cuando no se cumplan las condiciones prvias.

Bucles

Los bucles son parientes cercanos de los condicionantes, pero ejecutan


constantemente un cdigo mientras se cumpla una determinada condicin. Los ms
frecuentes son:

For: Ejecuta un cdigo mientras una variable se encuentre entre 2


determinados parmetros.
While: Ejecuta un cdigo mientras se cumpla la condicin que solicita.

A pesar de que existan distintos tipos de bucles, ambos son capaces de realizar
exactamente las mismas funciones. El empleo de uno u otro depende, por lo
general, del gusto del programador.

Funciones

Las funciones se crearon para evitar tener que repetir constantemente


fragmentos de cdigo. Una funcin podra considerarse como una variable que
encierra cdigo dentro de s. Por lo tanto cuando accedemos a dicha variable (la
funcin) en realidad lo que estamos es diciendo al programa que ejecute un
determinado cdigo predefinido anteriormente.
Todos los lenguajes de programacin tienen algunos elementos de formacin
primitivos para la descripcin de los datos y de los procesos o transformaciones
aplicadas a estos datos (tal como la suma de dos nmeros o la seleccin de un
elemento que forma parte de una coleccin). Estos elementos primitivos son
definidos por reglas sintcticas y semnticas que describen su estructura y
significado respectivamente.

Sintaxis

A la forma visible de un lenguaje de programacin se le conoce como sintaxis.


La mayora de los lenguajes de programacin son puramente textuales, es decir,
utilizan secuencias de texto que incluyen palabras, nmeros y puntuacin, de
manera similar a los lenguajes naturales escritos. Por otra parte, hay algunos
lenguajes de programacin que son ms grficos en su naturaleza, utilizando
relaciones visuales entre smbolos para especificar un programa.

La sintaxis de un lenguaje de programacin describe las combinaciones


posibles de los smbolos que forman un programa sintcticamente correcto. El
significado que se le da a una combinacin de smbolos es manejado por su
semntica (ya sea formal o como parte del cdigo duro de la referencia de
implementacin). Dado que la mayora de los lenguajes son textuales, este artculo
trata de la sintaxis textual.

Con frecuencia se resaltan los elementos de la sintaxis con colores diferentes


para facilitar su lectura. Este ejemplo est escrito en Python.
La sintaxis de los lenguajes de programacin es definida generalmente
utilizando una combinacin de expresiones regulares (para la estructura lxica) y la
Notacin de Backus-Naur 1(para la estructura gramtica).

expresin ::= tomo | lista


tomo ::= nmero | smbolo
nmero ::= [+-]? ['0'-'9']+
smbolo ::= ['A'-'Z'] ['a'-'z'].*
lista ::= '(' expresin* ')'

Con esta gramtica se especifica lo siguiente:

Una expresin puede ser un tomo o una lista;


Un tomo puede ser un nmero o un smbolo;
Un nmero es una secuencia continua de uno o ms dgitos decimales,
precedido opcionalmente por un signo ms o un signo menos;
Un smbolo es una letra seguida de cero o ms caracteres (excluyendo
espacios); y
Una lista es un par de parntesis que abren y cierran, con cero o ms
expresiones en medio.

Semntica esttica
La semntica esttica define las restricciones sobre la estructura de los textos
vlidos que resulta imposible o muy difcil expresar mediante formalismos
sintcticos estndar. Para los lenguajes compilados, la semntica esttica
bsicamente incluye las reglas semnticas que se pueden verificar en el momento
de compilar. Por ejemplo el chequeo de que cada identificador sea declarado antes
de ser usado (en lenguajes que requieren tales declaraciones) o que las etiquetas
en cada brazo de una estructura case sean distintas. Muchas restricciones
importantes de este tipo, como la validacin de que los identificadores sean usados
en los contextos apropiados (por ejemplo no sumar un entero al nombre de una
funcin), o que las llamadas a subrutinas tengan el nmero y tipo de parmetros
adecuado, puede ser implementadas definindolas como reglas en una lgica
conocida como sistema de tipos. Otras formas de anlisis estticos, como los
anlisis de flujo de datos, tambin pueden ser parte de la semntica esttica. Otros
lenguajes de programacin como Java y C# tienen un anlisis definido de

1
Es un metalenguaje usado para expresar gramticas libres de contexto: es decir, una
manera formal de describir lenguajes formales.
asignaciones, una forma de anlisis de flujo de datos, como parte de su semntica
esttica.

CARACTERSTICAS DEL LENGUAJE DE PROGRAMACIN:

Tienen una sintaxis: un conjunto de reglas que definen qu expresiones de


texto son correctas. Por ejemplo, en C todas las sentencias deben terminar
en ';'.
Los lenguajes de programacin se ejecutan en un computador y tienen una
determinada semntica que define cul ser el resultado de la ejecucin de
un programa.
Definen un conjunto de tipos de datos que representan los posibles valores
que pueden devolver las expresiones del lenguaje.
Tienen mecanismos de abstraccin para definir nuevos tipos de datos a partir
de los primeros datos o nuevas funciones y procedimientos.
Facilitan la tarea de programacin, ya que disponen de formas adecuadas
que permiten ser ledas y escritas por personas.
Los lenguajes de programacin representan en forma simblica yen manera
de un texto los cdigos que podrn ser ledos por una persona.
Son independientes de las computadoras a utilizar.
Describe el conjunto de acciones consecutivas que un equipo debe ejecutar.

TIPOS DE LENGUAJE DE PROGRAMACIN


En la actualidad hay ms de 100 lenguajes de programacin diferentes.
Un ordenador no entiende un lenguaje como el que utilizan los humanos,
sino que el lenguaje que entiende se llama lenguaje binario o cdigo
binario o cdigo mquina que consiste enceros y unos bsicamente, es decir, una
mquina slo utiliza los nmeros 0 y 1 para codificar cualquier accin a tomar.
Se clasifican en dos tipos:
Los Lenguajes de Programacin de Bajo Nivel: que son aquellos
utilizados fundamentalmente para controlar el hardware del ordenador y dependen
totalmente de la mquina y no se pueden utilizar en otras mquinas. Estn
orientados exclusivamente para la mquina estos lenguajes son los que ordenan a
la mquina operaciones fundamentales para que pueda funcionar. Utiliza
bsicamente ceros, unos y abreviaturas de letras. Estos lenguajes tambin se
llaman de cdigo mquina. Son los ms complicados, pero solo los usan
prcticamente los creadores de las mquinas. Con este tipo de lenguajes
programan la asignacin y liberacin de memoria, el uso de punteros, el poder usar
paso por valor y por referencia, la creacin de tipos de datos, etc.
Los Lenguajes de Programacin de Alto Nivel: Estos lenguajes son ms
parecidos al lenguaje natural humano y no dependen de la mquina y sirven
fundamentalmente para crear programas informticos que solucionan diferentes
problemas. Son los ms usados por los programadores y por todo del mundo que
realiza programas informticos.
La diferencia fundamental se puede explicar con el siguiente ejemplo:
En un lenguaje de alto nivel slo tengo que poner sqt(x), que sera una funcin
predeterminada, calcular el cuadrado de x.
Si fuera de bajo nivel, yo mismo tendra que crear la funcin sabiendo cmo funciona
el cuadrado de un nmero:
cuadrado(x) = x * x
Para aprender a programar con un lenguaje de alto nivel se debe conocer el
propio lenguaje que utiliza y todos sus comandos, en el ejemplo saber que sqt
realiza el cuadrado de un nmero.

LENGUAJES DE PROGRAMACIN MS USADOS


Lenguaje de Programacin HTML: Este lenguaje es con el que se crean
las pginas web, por ejemplo, que bsicamente es un conjunto de etiquetas que
sirven para definir el texto y otros elementos que puedes ver en las pginas web.
HTML significa HyperText Markup Lenguaje (lenguaje de marcas de hipertexto)
y es muy fcil de aprender. Luego ya depende de si queremos una web ms o
menos elaborada podremos profundizar en este lenguaje. Por ejemplo, el lenguaje
de programacin CSS (Cascading Style Sheets) son hojas que sirven para dar
estilo a las pginas web como su color, definir su fondo, tipos de letraetc

Lenguaje de Programacin SQL: Este lenguaje est creado para realizar


consultas a bases de datos principalmente. SQL son las siglas de Structured Query
Lenguaje (Lenguaje estructurado de consultas) y se utiliza para pginas web y
tambin para aplicaciones de ordenadores, para manejar datos sobre todo.
(Introducir datos, actualizar datos, eliminar o seleccionar datos).
Lenguaje de Programacin Java: Probablemente ste podra ser el
favorito de ms de uno ya que es el lenguaje utilizado para programas punteros
como herramientas, juegos y aplicaciones. Este lenguaje de programacin se utiliza
en miles de millones de dispositivos mviles y aparatos de televisin y en ms de
850 millones de ordenadores personales de todo el mundo. Java est instalado en
inmensidad de aplicaciones y sitios web. Probablemente tambin te suene
JavaScript, que es otro lenguaje utilizado para crear pequeos programas
encargados de realizar acciones dentro de una web como por ejemplo para crear
efectos especiales o para definir interactividades con los usuarios.
Lenguaje de Programacin C: Este lenguaje de programacin est
orientado a los Sistemas Operativos y es muy eficaz y con l podemos crear
Softwares de sistemas operativos como Windows o Linux y tambin para
aplicaciones. Tambin sirve para experimentos informticos, fsicos,
matemticosetc. Es tambin muy utilizado en robtica con el que se programan
simuladores, etc.
Lenguaje de Programacin XML: Este lenguaje es tambin un lenguaje
de etiquetas como el HTML, pero a diferencia de ste, el lenguaje XML separa el
contenido de la presentacin, es decir, XML se preocupa del significado del texto
que define el HTML. Te da el dato + el significado de ese dato, mientras que el
HTML te da el dato nada ms. El XML es un complemento fundamental al HTML.
Lenguaje de Programacin PHP: El PHP es un lenguaje de
programacin similar al HTML que nos sirve fundamentalmente para pginas web y
se puede combinar con el lenguaje HTML. El lenguaje PHP se basa en
los scripts que es un guion de rdenes o instrucciones que recibe un servidor de
una pgina web para leer su cdigo fuente.

IMPLEMENTACIN DE UN LENGUAJE DE PROGRAMACIN


La implementacin de un lenguaje es la que provee una manera de que se
ejecute un programa para una determinada combinacin de software y hardware.
Existen bsicamente dos maneras de implementar un lenguaje: compilacin e
interpretacin.

Compilacin: es el proceso que traduce un programa escrito en un lenguaje de


programacin a otro lenguaje de programacin, generando un programa
equivalente que la mquina ser capaz interpretar. Los programas traductores
que pueden realizar esta operacin se llaman compiladores. stos, como los
programas ensambladores avanzados, pueden generar muchas lneas de
cdigo de mquina por cada proposicin del programa fuente.
Interpretacin: es una asignacin de significados a las frmulas bien
formadas de un lenguaje formal. Como los lenguajes formales pueden definirse
en trminos puramente sintcticos, sus frmulas bien formadas pueden no ser
ms que cadenas de smbolos sin ningn significado. Una interpretacin otorga
significado a esas frmulas.
TCNICA DE LOS LENGUAJES DE PROGRAMACIN
Para escribir programas que proporcionen los mejores resultados, cabe tener en
cuenta una serie de detalles.

Correccin: Un programa es correcto si hace lo que debe hacer tal y como


se estableci en las fases previas a su desarrollo. Para determinar si un
programa hace lo que debe, es muy importante especificar claramente qu
debe hacer el programa antes de desarrollarlo y, una vez acabado,
compararlo con lo que realmente hace.

Claridad: Es muy importante que el programa sea lo ms claro y legible


posible, para facilitar as su desarrollo y posterior mantenimiento. Al elaborar
un programa se debe intentar que su estructura sea sencilla y coherente, as
como cuidar el estilo en la edicin; de esta forma se ve facilitado el trabajo
del programador, tanto en la fase de creacin como en las fases posteriores
de correccin de errores, ampliaciones, modificaciones, etc. Fases que
pueden ser realizadas incluso por otro programador, con lo cual la claridad
es an ms necesaria para que otros programadores puedan continuar el
trabajo fcilmente

Eficiencia: Se trata de que el programa, adems de realizar aquello para lo


que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor
forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia
de un programa, se suele hacer referencia al tiempo que tarda en realizar la
tarea para la que ha sido creado y a la cantidad de memoria que necesita,
pero hay otros recursos que tambin pueden ser de consideracin al obtener
la eficiencia de un programa, dependiendo de su naturaleza (espacio en
disco que utiliza, trfico de red que genera, etc.).

Portabilidad: Un programa es portable cuando tiene la capacidad de poder


ejecutarse en una plataforma, ya sea hardware o software, diferente a aquella
en la que se elabor. La portabilidad es una caracterstica muy deseable para
un programa, ya que permite, por ejemplo, a un programa que se ha
desarrollado para sistemas GNU/Linux ejecutarse tambin en la familia de
sistemas operativos Windows. Esto permite que el programa pueda llegar a
ms usuarios ms fcilmente.
PARADIGMAS
Los programas se pueden clasificar por el paradigma del lenguaje que se use para
producirlos. Los principales paradigmas son: imperativos, declarativos y orientacin
a objetos.
Programacin imperativa
La programacin imperativa, en contraposicin a la programacin declarativa, es
un paradigma de programacin que describe la programacin en trminos del estado del
programa y sentencias que cambian dicho estado. Los programas imperativos son un
conjunto de instrucciones que le indican al computador cmo realizar una tarea.
La implementacin de hardware de la mayora de computadores es imperativa;
prcticamente todo el hardware de los computadores est diseado para ejecutar cdigo
de mquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a
que el hardware de los computadores implementa el paradigma de las Mquinas de Turing.
Desde esta perspectiva de bajo nivel, el estilo del programa est definido por los contenidos
de la memoria, y las sentencias son instrucciones en el lenguaje de mquina nativo del
computador (por ejemplo el lenguaje ensamblador).

Programacin declarativa
La Programacin Declarativa, en contraposicin a la programacin imperativa es
un paradigma de programacin que est basado en el desarrollo
de programas especificando o "declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que
describen el problema y detallan su solucin. La solucin es obtenida mediante
mecanismos internos de control, sin especificar exactamente cmo encontrarla (tan
slo se le indica a la computadora qu es lo que se desea obtener o qu es lo que
se est buscando).
Diferencia entre imperativo y declarativo
En la programacin imperativa se describe paso a paso un conjunto de instrucciones
que deben ejecutarse para variar el estado del programa y hallar la solucin, es
decir, un algoritmo en el que se describen los pasos necesarios para solucionar
el problema.
En la programacin declarativa las sentencias que se utilizan lo que hacen
es describir el problema que se quiere solucionar, pero no las instrucciones
necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos
internos de inferencia de informacin a partir de la descripcin realizada.

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