Sunteți pe pagina 1din 9

Lenguaje de programacin

Un lenguaje de programacin es un idioma artificial diseado para


expresar computaciones que pueden ser llevadas a cabo por mquinas
como las computadoras. Pueden usarse para crear programas que
controlen el comportamiento fsico y lgico de una mquina, para
expresar algoritmos con precisin, o como modo de comunicacin
humana.1 Est formado por un conjunto de smbolos y reglas sintcticas y
semnticas que definen su estructura y el significado de sus elementos y
expresiones. Al proceso por el cual se escribe, se prueba, se depura, se
compila y se mantiene el cdigo fuente de un programa informtico se le
llama programacin.
Tambin la palabra programacin se define como el proceso de creacin
de un programa de computadora, mediante la aplicacin de
procedimientos lgicos, a travs de los siguientes pasos:
El desarrollo lgico del programa para resolver un problema en
particular.
Escritura de la lgica del programa empleando un lenguaje de
programacin especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje
de mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.
Permite especificar de manera precisa sobre qu datos debe operar una
computadora, cmo deben ser almacenados o transmitidos y qu
acciones debe tomar bajo una variada gama de circunstancias. Todo esto,
a travs de un lenguaje que intenta estar relativamente prximo al
lenguaje humano o natural. Una caracterstica relevante de los lenguajes
de programacin es precisamente que ms de un programador pueda
usar un conjunto comn de instrucciones que sean comprendidas entre
ellos para realizar la construccin de un programa de forma colaborativa.

Desventajas de lenguajes de programacin

Existe un error comn que trata por sinnimos los trminos 'lenguaje
de programacin' y 'lenguaje informtico'. Los lenguajes
informticos engloban a los lenguajes de programacin y a otros
ms, como por ejemplo HTML (lenguaje para el marcado de pginas
web que no es propiamente un lenguaje de programacin, sino un
conjunto de instrucciones que permiten disear el contenido de los
documentos).
La ejecucin del programa por medio de un intrprete es
usualmente mucho menos eficiente que la ejecucin de un
programa compilado. No es eficiente en tiempo porque, o cada
instruccin debe pasar por una interpretacin en tiempo de
ejecucin, o como en ms recientes implementaciones, el cdigo
tiene que ser compilado a una representacin intermedia antes de
cada ejecucin. La mquina virtual es una solucin parcial al
problema de la eficiencia del tiempo pues la definicin del lenguaje
intermedio es mucha ms cercana al lenguaje de mquina y por lo
tanto ms fcil de ser traducida en tiempo de ejecucin. Otra
desventaja es la necesidad de un intrprete en la mquina local para
poder hacer la ejecucin posible.

Ventajas de los lenguajes interpretados


Los lenguajes interpretados dan a los programas cierta flexibilidad
adicional sobre los lenguajes compilados. Algunas caractersticas que son
ms fciles de implementar en intrpretes que en compiladores incluyen,
pero no se limitan, a:

Independencia de plataforma (por ejemplo el byte code de Java)


Reflexin y uso reflexivo del evaluador (ej. una funcin eval de primer
orden)
Tipos Dinmicos

Facilidad en la depuracin (es ms fcil obtener informacin del cdigo


fuente en lenguajes interpretados)
Pequeo tamao del programa (puesto que los lenguajes interpretados
tienen flexibilidad para elegir el cdigo de instruccin)
mbito dinmico
Gestin de memoria automtica
Programacin estructurada

La programacin estructurada es una tcnica para escribir programas (programacin de


computadora) de manera clara. Para ello se utilizan nicamente tres estructuras: secuencia, seleccin
e iteracin; siendo innecesario el uso de la instruccin o instrucciones de transferencia incondicional
(GOTO, EXIT FUNCTION, EXIT SUB o mltiples RETURN).
Hoy en da las aplicaciones informticas son mucho ms ambiciosas que las necesidades de
programacin existentes en los aos 1960, principalmente debido a las aplicaciones grficas, por lo
que las tcnicas de programacin estructurada no son suficientes. Ello ha llevado al desarrollo de
nuevas tcnicas, tales como la programacin orientada a objetos y el desarrollo de entornos de
programacin que facilitan la programacin de grandes aplicaciones.
Programacin Estructurada es una tcnica en la cual la estructura de un
programa, esto es, la interpelacin de sus partes realiza tan claramente como
es posible mediante el uso de tres estructuras lgicas de control:
Secuencia: Sucesin simple de dos o mas operaciones.
Seleccin: bifurcacin condicional de una o mas operaciones.
Interaccin: Repeticin de una operacin mientras se cumple una condicin.
Estos tres tipos de estructuras lgicas de control pueden ser combinados para producir programas que
manejen cualquier tarea de procesamiento de informacin.
Un programa estructurado est compuesto de segmentos, los cuales puedan estar constituidos por
unas pocas instrucciones o por una pgina o ms de codificacin. Cada segmento tiene solamente
una entrada y una salida, estos segmentos, asumiendo que no poseen lazos infinitos y no tienen
instrucciones que jams se ejecuten, se denominan programas propios. Cuando varios programas
propios se combinan utilizando las tres estructuras bsicas de control mencionadas anteriormente, el
resultado es tambin un programa propio.
La programacin Estructurada est basada en el Teorema de la Estructura, el cual establece que
cualquier programa propio (un programa con una entrada y una salida exclusivamente) es
equivalente a un programa que contiene solamente las estructuras lgicas mencionadas anteriormente

Una caracterstica importante en un programa estructurado es que puede ser ledo en secuencia,
desde el comienzo hasta el final sin perder la continuidad de la tarea que cumple el programa, lo
contrario de lo que ocurre con otros estilos de programacin. Esto es importante debido a que, es
mucho ms fcil comprender completamente el trabajo que realiza una funcin determinada, si todas
las instrucciones que influyen en su accin estn fsicamente contiguas y encerradas por un bloque.
La facilidad de lectura, de comienzo a fin, es una consecuencia de utilizar solamente tres estructuras
de control y de eliminar la instruccin de desvo de flujo de control, excepto en circunstancias muy
especiales tales como la simulacin de una estructura lgica de control en un lenguaje de
programacin que no la posea.

Ventajas de la programacin estructurada


1. Los programas son ms fciles de entender, pueden ser ledos de
forma secuencial, no hay necesidad de hacer engorrosos seguimientos en
saltos de lnea (GOTO) dentro de los bloques de cdigo para intentar
entender la lgica.
2. La estructura de los programas es clara, puesto que las instrucciones
estn ms ligadas o relacionadas entre s.
3. Reduccin del esfuerzo en las pruebas y depuracin. El seguimiento de
los fallos o errores del programa ("debugging") se facilita debido a su
estructura ms sencilla y comprensible, por lo que los errores se pueden
detectar y corregir ms fcilmente.
4. Reduccin de los costos de mantenimiento. Anlogamente a la
depuracin, durante la fase de mantenimiento, modificar o extender los
programas resulta ms fcil.
5. Programas son ms sencillos y ms rpidos de confeccionar (y se
facilita su optimizacin).
6. Los bloques de cdigo son casi auto-explicativos, lo que reduce y
facilita la documentacin.
7. Las instrucciones de salto, GOTO, quedan reservadas para construir las
instrucciones bsicas, si fuera realmente imprescindible. Aunque no se
usan de forma directa, por estar prohibida su utilizacin, estn incluidas
implcitamente en las instrucciones de seleccin e iteracin.

8. Un programa escrito de acuerdo a los principios de programacin


estructurada no solamente tendr una mejor estructura sino tambin una
excelente presentacin.
9. Se incrementa el rendimiento de los programadores, comparada con la
forma tradicional que utiliza GOTO.
La programacin estructurada ofrece estos beneficios, pero no se la debe
considerar como una panacea ya que el desarrollo de programas es,
esencialmente, una tarea de dedicacin, esfuerzo y creatividad;
programar es casi un arte.

Inconvenientes de la programacin
estructurada
El principal inconveniente de este mtodo de programacin es que se
obtiene un nico bloque de programa, que cuando se hace demasiado
grande puede resultar problemtico el manejo de su cdigo fuente; esto
se resuelve empleando conjuntamente la programacin modular, es decir,
si es necesario, se definen mdulos independientes, programados y
compilados por separado (en realidad esto no es necesario, pero s es
recomendable para su mejor mantenimiento y depuracin).
En realidad, cuando se programa hoy en da (inicios del siglo XXI) se
utilizan normalmente, tanto las tcnicas de programacin estructurada
como las de programacin modular, de forma conjunta y por lo tanto es
muy comn que cuando se hace referencia a la programacin
estructurada muchos entiendan que ella incluye tambin las tcnicas
modulares, estrictamente no es as.
Un mtodo un poco ms sofisticado es la programacin por capas, en la
que los mdulos tienen una estructura jerrquica en la que se pueden
definir funciones dentro de funciones o de procedimientos.
Si bien las metodologas en cuestin ya son de antigua data ("en plazos
informticos"), aun en la actualidad la conjuncin "Programacin
estructurada" y "programacin modular" es una de la ms utilizadas,

juntamente con un ms moderno paradigma, en pleno auge,


completamente distinto, llamado programacin orientada a objetos.

Programacin orientada a objetos

La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de
programacin que usa objetos y sus interacciones, para disear aplicaciones y programas
informticos. Est basado en varias tcnicas, incluyendo herencia, abstraccin, polimorfismo y
encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad,
existe variedad de lenguajes de programacin que soportan la orientacin a objetos.

Introduccin
Los objetos son entidades que tienen un determinado estado, comportamiento (mtodo) e identidad:

El estado est compuesto de datos, ser 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 (concepto anlogo al de
identificador de una variable o una constante).

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.
Los mtodos (comportamiento) y atributos (estado) estn estrechamente relacionados por la
propiedad de conjunto. Esta propiedad destaca que una clase requiere de mtodos para poder tratar
los atributos con los que cuenta. El programador debe pensar indistintamente en ambos conceptos,
sin separar ni darle mayor importancia a alguno de ellos. Hacerlo podra producir el hbito errneo
de crear clases contenedoras de informacin por un lado y clases con mtodos que manejen a las
primeras por el otro. De esta manera se estara realizando una programacin estructurada
camuflada en un lenguaje de programacin orientado a objetos.
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 POO, en cambio, primero definen objetos para
luego enviarles mensajes solicitndoles que realicen sus mtodos por s mismos.

Lenguajes orientados a objetos


Simula (1967) es aceptado como el primer lenguaje que posee las caractersticas principales de un

lenguaje orientado a objetos. Fue creado para hacer programas de simulacin, en donde los
"objetos" son la representacin de la informacin ms importante. Smalltalk (1972 a 1980) es
posiblemente el ejemplo cannico, y con el que gran parte de la teora de la programacin
orientada a objetos se ha desarrollado.
Entre los lenguajes orientados a objetos se destacan los siguientes:
ABAP -> SAP Lenguaje orientado a eventos
ABL Lenguaje de programacin de OpenEdge de Progress Software
ActionScript
ActionScript 3
Ada
C++
C#

Clarion
Clipper (lenguaje de programacin) (Versin 5.x con librera de
objetos Class(y))
D
Object Pascal (Embarcadero Delphi)
Gambas
Harbour
Eiffel
Java
JavaScript (la herencia se realiza por medio de la programacin
basada en prototipos)
Lexico (en castellano)
Objective-C
Ocaml
Oz
R
Perl (soporta herencia mltiple. La resolucin se realiza en preorden,
pero puede modificarse al algoritmo linearization C3 por medio del
mdulo Class::C3 en CPAN)
PHP (a partir de su versin 5)
PowerBuilder
Python
Ruby
Smalltalk (Entorno de objetos puro)

Magik (SmallWorld)
Vala
VB.NET
Visual FoxPro (en su versin 6)
Visual Basic 6.0
Visual DataFlex
Visual Objects
XBase++
Lenguaje DRP
Lenguaje de programacin Scala (lenguaje usado por Twitter)
Muchos de estos lenguajes de programacin no son puramente
orientados a objetos, sino que son hbridos que combinan la POO
con otros paradigmas.
Al igual que C++ otros lenguajes, como OOCOBOL, OOLISP, OOPROLOG y Object
REXX, han sido creados aadiendo extensiones orientadas a objetos a un lenguaje de
programacin clsico.
Un nuevo paso en la abstraccin de paradigmas de programacin es la Programacin
Orientada a Aspectos (POA). Aunque es todava una metodologa en estado de maduracin,
cada vez atrae a ms investigadores e incluso proyectos comerciales en todo el mundo.

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