Está en la página 1de 6

Diferencia entre los lenguajes de

programacin estructurados, orientados a


objetos, naturales y lgicos.

Programacin Estructurada
La programacin estructurada es una forma de escribir programas
de ordenador (programacin de computadora) de forma clara. Para
ello utiliza nicamente tres estructuras: secuencia, seleccin e
iteracin; siendo innecesario y no permitindose 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.

Orgenes de la programacin estructurada


A finales de los aos 1960 surgi una nueva forma de programar que
no solamente daba lugar a programas fiables y eficientes, sino que
adems estaban escritos de manera que facilitaba su comprensin
posterior.
El teorema del programa estructurado, demostrado por BhmJacopini, demuestra que todo programa puede escribirse utilizando
nicamente las tres instrucciones de control siguientes:

Secuencia

Instruccin condicional.

Iteracin (bucle de instrucciones) con condicin al principio.

Solamente con estas tres estructuras se pueden escribir todos los


programas (programas) y aplicaciones posibles. Si bien los lenguajes
de programacin tienen un mayor repertorio de estructuras de
control, stas pueden ser construidas mediante las tres bsicas.

Ventajas de la programacin estructurada


Con la programacin estructurada, elaborar programas de
computador sigue siendo una labor que exige esfuerzo, creatividad,
habilidad y cuidado. Sin embargo, con este estilo podemos obtener
las siguientes ventajas:
1. Los programas son ms fciles de entender, ya que pueden ser
ledos de forma secuencial, sin necesidad de hacer seguimiento a
saltos de lnea (GOTO) dentro de los bloques de cdigo para entender
la lgica.
2. La estructura del programa es clara, puesto que las instrucciones
estn ms ligadas o relacionadas entre s.
3. Reduccin del esfuerzo en las pruebas. El seguimiento de los fallos
o errores del programa ("debugging") se facilita debido a la estructura
ms visible, por lo que los errores se pueden detectar y corregir ms
fcilmente.
4. Reduccin de los costes de mantenimiento de los programas.
5. Programas ms sencillos y ms rpidos (ya que es ms fcil su
optimizacin).
6. Los bloques de cdigo son auto explicativos, lo que facilita la
documentacin.
7. Los GOTO se reservan para construir las instrucciones bsicas.
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 estos principios no solamente
tendr una mejor estructura sino tambin una excelente
presentacin.
9. La programacin estructurada ofrece estos beneficios, pero no se la
debe considerar como una panacea ya que el desarrollo de
programas es, principalmente, una tarea de dedicacin, esfuerzo y
creatividad.

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 su manejo; esto se resuelve
empleando
la
programacin
modular,
definiendo
mdulos
interdependientes programados y compilados por separado (en
realidad esto no es necesario, pero as ha sido histricamente). 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.

Programacin orientada a objetos

La Programacin Orientada a Objetos (POO u OOP segn sus siglas en


ingls) es un paradigma de programacin que usa objetos y sus
interacciones para disear aplicaciones y programas de computadora.
Est basado en varias tcnicas, incluyendo herencia, modularidad,
polimorfismo y encapsulamiento. Su uso se populariz a principios de
la dcada de 1990. Actualmente son muchos los lenguajes de
programacin que soportan la orientacin a objetos.

Origen
Los conceptos de la programacin orientada a objetos tienen origen
en Simula 67, un lenguaje diseado para hacer simulaciones, creado
por Ole-Johan Dahl y Kristen Nygaard del Centro de Cmputo Noruego
en Oslo. Al parecer, en este centro, trabajaban en simulaciones de
naves, y fueron confundidos por la explosin combinatoria de cmo
las diversas cualidades de diversas naves podan afectar unas a las
otras. La idea ocurri para agrupar los diversos tipos de naves en
diversas clases de objetos, siendo responsable cada clase de objetos
de definir sus propios datos y comportamiento. Fueron refinados ms
tarde en Smalltalk, que fue desarrollado en Simula en Xerox PARC (y
cuya primera versin fue escrita sobre Basic) pero diseado para ser
un sistema completamente dinmico en el cual los objetos se podran

crear y modificar "en marcha" en lugar de tener un sistema basado en


programas estticos.

Resumen
Es un paradigma que utiliza objetos como elementos fundamentales
en la construccin de la solucin. Surge en los aos 70. Un objeto es
una abstraccin de algn hecho o cosa del mundo real que tiene
atributos que representan sus caractersticas o propiedades y
mtodos que representan su comportamiento o acciones que realizan.
Todas las propiedades y mtodos comunes a los objetos se
encapsulan o se agrupan en clases. Una clase es una plantilla o un
prototipo para crear objetos, por eso se dice que los objetos son
instancias de clases. Lenguaje de programacin: C++, Java, C#,
VB.Net, etc.

Programacin lgica

La programacin lgica consiste en la aplicacin del corpus de


conocimiento sobre lgica para el diseo de lenguajes de
programacin; no debe confundirse con la disciplina de la lgica
computacional.
La programacin lgica comprende dos paradigmas de programacin:
la programacin declarativa y la programacin funcional. La
programacin declarativa gira en torno al concepto de predicado, o
relacin entre elementos. La programacin funcional se basa en el
concepto de funcin (que no es ms que una evolucin de los
predicados), de corte ms matemtico.

Motivacin

Histricamente, los ordenadores se han programado utilizando


lenguajes muy cercanos a las peculiaridades de la propia mquina:
operaciones aritmticas simples, instrucciones de acceso a memoria,
etc. Un programa escrito de esta manera puede ocultar totalmente su
propsito a la comprensin de un ser humano, incluso uno entrenado.
Hoy da, estos lenguajes pertenecientes al paradigma de la
Programacin imperativa han evolucionado de manera que ya no son
tan crpticos.
En cambio, la lgica matemtica es la manera ms sencilla, para el
intelecto humano, de expresar formalmente problemas complejos y
de resolverlos mediante la aplicacin de reglas, hiptesis y teoremas.
De ah que el concepto de "programacin lgica" resulte atractivo en
diversos campos donde la programacin tradicional es un fracaso.

Campos de aplicacin
La programacin lgica encuentra su hbitat natural en aplicaciones
de inteligencia artificial o disciplinas relacionadas:

Sistemas expertos, donde un sistema de informacin imita las


recomendaciones de un experto sobre algn dominio de
conocimiento.

Demostracin automtica de teoremas, donde un programa


genera nuevos teoremas sobre una teora existente.

Reconocimiento de lenguaje natural, donde un programa es


capaz de comprender (con limitaciones) la informacin
contenida en una expresin lingstica humana.

Etc.

La programacin lgica tambin se utiliza en aplicaciones ms


"mundanas" pero de manera muy limitada, ya que la programacin
tradicional es ms adecuada a tareas de propsito general.
El lenguaje de programacin por excelencia de la programacin lgica
es: Prolog.

En Conclusin:
Tanto en la programacin, como en todas las ramas que intervienen
en la gestin y aplicacin de la tecnologa, se est presentando una
tendencia: esta es que las aplicaciones y dispositivos, sean cada vez

ms inteligentes y eficientes, esto es (desde mi punto de vista) que


sean capaces de adaptarse a situaciones, para las que quiz no
fueron programados, pero que en base al anlisis de circunstancias,
puedan trazar una nueva lnea de accin, para seguirla y llegar a la
solucin de un problema.

También podría gustarte