Está en la página 1de 6

Los lenguajes de programacin aparecieron para permitir la comunicacin entre la mquina y el

programador o usuario. Estos lenguajes permiten, por un lado, escribir las operaciones que son
necesarias realizar para resolver el problema de un modo parecido a como se escribira
convencionalmente (es decir, redactar adecuadamente el algoritmo de resolucin del problema) y, por
el otro, se encarga de traducir el algoritmo al lenguaje mquina (proceso conocido como compilacin)
con lo que se le confiere al programa la capacidad de correr (ser ejecutado) en el equipo u ordenador
que es capaz de resolver todos los problemas que los usuarios sean capaces de expresar mediante
un algoritmo (programa).

Los primeros lenguajes de programacin surgieron de la idea de Charles Babagge, la cual se le


ocurri a este hombre a mediados del siglo XIX. Los ordenadores se programaban en lenguaje
mquina pero las dificultades que esto conllevaba, junto con la enorme facilidad de cometer errores,
cuya localizacin era larga y compleja, hicieron concebir, en la dcada de los 40, la posibilidad de
usar lenguajes simblicos. Los primeros en aparecer fueron los ensambladores, fundamentalmente
consista en dar un nombre (mnemnico) a cada tipo de instruccin y cada direccin (etiqueta). Al
principio se hacia el programa sobre papel y, despus se traduca a mano con la ayuda de unas
tablas, y se introducan en la mquina en forma numrica, pero pronto aparecieron programas que se
ensamblaban automticamente. En la actualidad hay muchos tipos de lenguajes de programacin,
cada uno de ellos con su propia gramtica, su terminologa especial y una sintaxis particular. Por
ejemplo, existen algunos creados especialmente para aplicaciones cientficas o matemticas
generales (BASIC, FORTRAN, PASCAL, etc. ); otros, en cambio, se orientan al campo empresarial y
al manejo de textos y ficheros, es decir, son en realidad fundamentalmente gestores de informacin
(COBOL, PL/1, etc. ), o muy relacionados con el lenguaje mquina del ordenador (como el C y el
ASSEMBLER).
DEFINICIONES
Es un conjunto de palabras y smbolos que permiten al usuario generar comandos e instrucciones
para que la computadora los ejecute. Los lenguajes de programacin deben tener instrucciones que
pertenecen a las categoras ya familiares de entrada/salida, calculo/manipulacin, de textos,
lgica/comparacin, y almacenamiento/recuperacin.

Es un conjunto de reglas, notaciones, smbolos y/o caracteres que permiten a un programador poder
expresar el procesamiento de datos y sus estructuras en la computadora. Cada lenguaje posee sus
propias sintaxis. Tambin se puede decir que un programa es un conjunto de rdenes o instrucciones
que resuelven un problema especfico basado en un Lenguaje de Programacin.

CARACTERSTICAS

Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla, fciles de leer y fciles de
compilar

Ortogonalidad: permite combinar en una sola instruccin diversas caractersticas del


lenguaje, de esta manera se consiguen programas ms cortos y ms compactos.

Naturalidad para la aplicacin: consiste en el lenguaje proporcione herramientas adecuadas


para el fin para el que est pensado.

Soporte a la abstraccin: Solucionar tipos de problemas y no problemas concretos. Debe


permitir que el programador pueda crear funciones y procedimientos.

Entorno de programacin: Los lenguajes han de ir acompaados de un entorno donde


programar.

Portabilidad de los programas: Es un lenguaje que permite crear programas que funcionen
en cualquier mquina pertenezca a la plataforma que quiera, distinto fabricante, etc.

IMPORTANCIA
Los lenguajes de programacin son importantes porque permiten la comunicacin entre un usuario y
el computador para resolver problemas, necesidades, permitir la evolucin y mejoramiento de un
proceso, actividad o tarea en cualquier mbito o rea.

HERRAMIENTAS
Algunas herramientas son:
Intrpretes: Traducen a lenguaje mquina, cada lnea del programa fuente y la ejecuta de inmediato.
Compiladores: traducen todo el programa entero y luego lo integran generando un programa
ejecutable por s solo. Con esto se consigue ms eficacia e independencia, ya que una vez compilado
el programa, el compilador no tiene por qu estar presente, pudiendo ser transportado el programa
ejecutable a cualquier computadora, sin ver el listado de rdenes, ni manejar el compilador.
Libreras: conjunto de funciones bsicas (aritmticas, de pantalla, etc) que tienen determinados
lenguajes de programacin para poder operar, por ejemplo lenguaje C: tiene las libreras stdio.h,
iostream.h y conio.h, cada una de estas libreras tienen funciones como la printf, las sentencias de
control, scanf, etc.
COMPONENTES
Un lenguaje de programacin contiene o puede contener ciertos elementos como:
Palabras reservadas: Son palabras que estn definidas en cada lenguaje para realizar una actividad
dentro del mismo.

Variables: Son estructuras de almacenamiento de datos que permiten guardar valores dependiendo
del tipo de dato declarado.
Constantes: Son estructuras de almacenamiento que permiten guardar un valor que no cambia
durante la ejecucin de un programa.
Arreglos: Son estructuras de almacenamiento de datos que permiten guardar diferentes valores del
mismo tipo al mismo tiempo.
Sentencias de control: Permiten la ejecucin de instrucciones dependiendo de una condicin o
parmetro previamente establecido (if)
Estructuras Repetitivas (bucles): Permiten la ejecucin de una o varias instrucciones una cantidad
especfica de veces de acuerdo a un parmetro o hasta que el usuario final decida (while, for)
Funciones: contiene un conjunto de instrucciones que permiten ejecutar o efectuar una actividad o
tarea y/o retornar un resultado
Clases: Permiten describir un conjunto de objetos. Es un modelo que permite manejar un grupo de
objetos, est compuesto por atributos y funciones

El uso de estos componentes est sujeto a unas reglas (sintaxis) que son propias de cada lenguaje
de programacin.

CLASIFICACIN
Existen diversos lenguajes y paradigmas de programacin para facilitar la tarea de programacin en
diferentes mbitos. Por ejemplo, la programacin orientada a objetos es un paradigma dirigido al
mejoramiento en la calidad del software por medio de la observacin de aspectos tales como la
correccin, robustez, extensibilidad, compatibilidad y sobre todo la reusabilidad del software.
La programacin lgica, por su parte, es un paradigma orientado a la expresin de los problemas en
trminos lgicos para su posterior solucin por mtodos de inferencia y tcnicas lgicas. En la
prctica, cada paradigma de programacin es implementado a travs de diversos lenguajes. Solo
como un ejemplo, la programacin orientada a objetos encuentra recipientes en lenguajes JAVA,
C++, etc.

Los lenguajes de programacin son clasificados de muchas formas, dentro de estas se encuentran:
Segn Nivel de Abstraccin

Los lenguajes de bajo nivel: Son lenguajes de programacin que se acercan al funcionamiento de
una computadora. El lenguaje de ms bajo nivel es, por excelencia, el cdigo mquina. A ste le
sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de
memoria de la computadora de forma directa.

Los lenguajes de alto nivel: Los lenguajes de alto nivel son normalmente fciles de aprender porque
estn formados por elementos de lenguajes naturales, como el ingls.
Segn Paradigma

Paradigma imperativo: Describe la programacin como una secuencia instrucciones o comandos


que cambian el estado de un programa. El cdigo mquina en general est basado en el paradigma
imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma
procedimental (procedural) entre otros.

Paradigma declarativo: No se basa en el cmo se hace algo (cmo se logra un objetivo paso a
paso), sino que describe (declara) cmo es algo. En otras palabras, se enfoca en describir las
propiedades de la solucin buscada, dejando indeterminado el algoritmo (conjunto de instrucciones)
usado para encontrar esa solucin. Es ms complicado de implementar que el paradigma imperativo,
tiene desventajas en la eficiencia, pero ventajas en la solucin de determinados problemas.

Paradigma estructurado: La programacin estructurada se basa en una metodologa de desarrollo


de programas llamada refinamientos 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.

Paradigma orientado 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.

Paradigma funcional: Este paradigma concibe a la computacin como la evaluacin de funciones


matemticas y evita declarar y cambiar datos. En otras palabras, hace hincapi en la aplicacin de las
funciones y composicin entre ellas, ms que en los cambios de estados y la ejecucin secuencial de
comandos (como lo hace el paradigma procedimental). Permite resolver ciertos problemas de forma
elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otro tipo
de programaciones.

Paradigma lgico: Se basa en la definicin de reglas lgicas para luego, a travs de un motor de
inferencias lgicas, responder preguntas planteadas al sistema y as resolver los problemas.

Segn la forma de Ejecucin

Lenguajes compilados: Los compiladores son aquellos cuya funcin es traducir un programa escrito
en un determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con cdigo
binario). Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de
Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de
haber compilado el programa, ya no aparecen errores en el cdigo.

Lenguajes interpretados: Se puede tambin utilizar una alternativa diferente de los compiladores
para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma
4

permanente el cdigo objeto que se produce durante la corrida de compilacin para utilizarlo en una
corrida de produccin futura, el programador slo carga el programa fuente en la computadora junto
con los datos que se van a procesar.
PROGRAMACIN ORIENTADA A OBJETOS (POO)
Es un paradigma de programacin que usa los objetos en sus interacciones, para disear
aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia,
cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a
principios de la dcada de los aos 1990. En la actualidad, existe una gran variedad de lenguajes de
programacin que soportan la orientacin a objetos: Java, C++, PHP, Phyton, ADA, etc.
Un objeto contiene toda la informacin que permite definirlo e identificarlo frente a otros objetos
pertenecientes a otras clases e incluso frente a objetos de una misma clase, al poder tener valores
bien diferenciados en sus atributos. A su vez, los objetos disponen de mecanismos de interaccin
llamados mtodos, que favorecen la comunicacin entre ellos. Esta comunicacin favorece a su vez
el cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como unidades
indivisibles, en las que no se separa el estado y el comportamiento.
La POO difiere de la programacin estructurada tradicional, en la que los datos y los procedimientos
estn separados y sin relacin, ya que lo nico que se busca es el procesamiento de unos datos de
entrada para obtener otros de salida. La programacin estructurada anima al programador a pensar
sobre todo en trminos de procedimientos o funciones, y en segundo lugar en las estructuras de
datos que esos procedimientos manejan. En la programacin estructurada solo se escriben funciones
que procesan datos. Los programadores que emplean Programacin Orientada a Objetos, en cambio,
primero definen objetos para luego enviarles mensajes solicitndoles que realicen sus mtodos por s
mismos.
CONCEPTOS O TRMINOS RELACIONADOS CON LA POO
Objeto: Es una entidad que puede ser fsica o abstracta que posee identidad propia, atributos y una
serie de mtodos. Es una instancia de una clase. Los objetos son entidades que tienen un
determinado estado, comportamiento o mtodo e identidad. El estado est compuesto de datos o
informaciones; sern uno o varios atributos a los que se habrn asignado unos valores concretos
(datos). El comportamiento est definido por los mtodos o mensajes a los que sabe responder dicho
objeto, es decir, qu operaciones se pueden realizar con l. La identidad es una propiedad de un
objeto que lo diferencia del resto; dicho con otras palabras, es su identificador o nombre
Clase: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto. Una clase es
una plantilla que define las variables y los mtodos que son comunes para todos los objetos de un
cierto tipo.

Herencia: Es la capacidad que tienen los objetos para utilizar atributos y funciones de otros como si
fuesen parte de ellos o estuviesen dentro de ellos (Por ejemplo, herencia de la clase C a la clase D)
es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de
C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede
usar los mismos mtodos y variables pblicas declaradas en C. Los componentes registrados como
"privados" (private) tambin se heredan, pero como no pertenecen a la clase, se mantienen
escondidos al programador y slo pueden ser accedidos a travs de otros mtodos pblicos.
Mtodo: Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena
tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto
puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, o la generacin de
un "evento" con un nuevo mensaje para otro objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interaccin del usuario con la mquina, o un
mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto
pertinente. Tambin se puede definir como evento la reaccin que puede desencadenar un objeto; es
decir, la accin que genera.
Atributos: Contenedor de un tipo de datos asociados a un objeto Caractersticas que tiene la clase.
Mensaje: Una comunicacin dirigida a un objeto, que le ordena que ejecute uno de sus mtodos con
ciertos parmetros asociados al evento que lo gener.
Abstraccin: Denota las caractersticas esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede
realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin
revelar cmo se implementan estas caractersticas, el proceso de abstraccin permite seleccionar las
caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir
nuevos tipos de entidades en el mundo real. La abstraccin es clave en el proceso de anlisis y
diseo orientado a objetos, ya que mediante ella se puede llegar a armar un conjunto de clases que
permitan modelar la realidad o el problema que se quiere atacar.
Encapsulamiento: Significa reunir todos los elementos que pueden considerarse pertenecientes a
una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los
componentes del sistema.
Modularidad: Se denomina modularidad a la propiedad que permite subdividir una aplicacin en
partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como
sea posible de la aplicacin en s y de las restantes partes. Estos mdulos se pueden compilar por
separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes
soportan la modularidad de diversas formas.
Polimorfismo: Comportamientos diferentes, asociados a objetos distintos, pueden compartir el
mismo nombre; al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto
que se est usando.