martes, 3 de febrero de 2009

DIFERENCIAS

DIFERENCIAS ENTRE LOS LENGUAJES DE PROGRAMACIÓN

PROGRAMACIÓN ESTRUCTURADA
1.-Tipos de estructuras: secuencia, selección e iteración
2.-Es innecesario el uso de instrucciones de transferencia incondicional (goto, exit funtion, exit sub o multiples return)
3.-Se escribe siguiendo las 3 instrucciones de control: secuencia, instrucción condicional e iteración (bucle de instrucciones) con condición al principio.
4.-Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial, sin necesidad de hacer seguimiento a saltos de línea (GOTO) dentro de los bloques de código para entender la lógica.
5.-La estructura del programa es clara, puesto que las instrucciones están más ligadas o relacionadas entre sí.
6.-Reducción del esfuerzo en las pruebas. El seguimiento de los fallos o errores del programa ("debugging") se facilita debido a la estructura más visible, por lo que los errores se pueden detectar y corregir más fácilmente.
7.-Reducción de los costes de mantenimiento de los programas.
8.-Programas más sencillos y más rápidos (ya que es más fácil su optimización).
9.-Los bloques de código son auto explicativos, lo que facilita la documentación.
10.-Los GOTO se reservan para construir las instrucciones básicas. Aunque no se usan de forma directa, por estar prohibida su utilización, están incluidas implícitamente en las instrucciones de selección e iteración.
11.-Un programa escrito de acuerdo a estos principios no solamente tendrá una mejor estructura sino también una excelente presentación.
12.-La programación estructurada ofrece estos beneficios, pero no se la debe considerar como una panacea ya que el desarrollo de programas es, principalmente, una tarea de dedicación, esfuerzo y creatividad.
13.- Cuando se hace muy grande puede resultar problemático su manejo.
14.-Sólo se escriben funciones que procesan datos.
EJEMPLOS:
· C
· C++
· Delphi
· Cobol
· Visual C++
· Visual Basic
· Estándar ML
· Scheme
· ASP
· JSP
· PL/SQL
· Scrips Bash

PROGRAMACIÓN LÓGICA
1.-Comprende dos paradigmas de programación: la programación declarativa y la programación funcional. La programación declarativa gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.
2.-Encuentra su hábitat natural en aplicaciones de inteligencia artificial o relacionada:
· Sistemas expertos, donde un sistema de información imita las recomendaciones de un experto sobre algún dominio de conocimiento.
· Demostración automática de teoremas, donde un programa genera nuevos teoremas sobre una teoría existente.
· Reconocimiento de lenguaje natural, donde un programa es capaz de comprender (con limitaciones) la información contenida en una expresión lingüística humana.
3.-Se utiliza en aplicaciones más "mundanas" pero de manera muy limitada, ya que la programación tradicional es más adecuada a tareas de propósito general.
4.-Se basan en la teoría lógica de primer orden, aunque también incorporan algunos comportamientos de orden superior.
5.-Permite formalizar hechos del mundo real, por ejemplo:
· Las aves vuelan
· Los pingüinos no vuelan
· "pichurri" es un ave
· "sandokan" es un perro
· "alegría" es un ave
6.-El lenguaje de programación lógica por excelencia es Prolog, que cuenta con diversas variantes. La más importante es la programación lógica con restricciones que posibilita la resolución de ecuaciones lineales además de la demostración de hipótesis.
EJEMPLOS:
• Prolog
PROGRAMACIÓN ORIENTADA A OBJETOS
1.-Es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora.
2.-Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.
3.-Expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.
4.-Es un paradigma que utiliza objetos como elementos fundamentales en la construcción de la solución.
5.-Un objeto es una abstracción de algún hecho o cosa del mundo real que tiene atributos que representan sus características o propiedades y métodos que representan su comportamiento o acciones que realizan.
6.-Las definiciones de los objetos pueden usarse una y otra vez para construir múltiples objetos con las mismas propiedades o modificarse para construir nuevos objetos con propiedades similares pero no exactamente iguales.
EJEMPLOS:
• ABAP
• ActionScript
• ActionScript 3
• Ada
• C++
• C#
• Clarion
• Lenguaje de programación D
• Object Pascal (Delphi)
• Flex builder (adobe)
• Gambas
• Harbour
• Eiffel
• Java
• JavaScript (la herencia se realiza por medio de la programación basada en prototipos)
• Lexico (en castellano)
• Objective-C
• Ocaml
• Oz
• Lenguaje de programación R
• Perl (soporta herencia múltiple. La resolución se realiza en preorden, pero puede modificarse al algoritmo C3 por medio del módulo Class::C3 en CPAN)
• PHP (en su versión 5)
• Python
• Ruby
• Smalltalk
• Magik (SmallWorld)
• VB.NET
• Visual FoxPro (en su versión 6)
• Visual Basic
• XBase++

PROGRAMACIÓN NATURAL
1.-Es una creación y como tal ha sido cuidadosamente diseñado.
2.-Debe ser universal. Es decir, cualquier problema debe tener una solución que puede ser programada en el lenguaje y dicha solución ser implementada en cualquier computador.
3.-Debe ser implementable en una computadora, es decir; debe ser posible ejecutar un programa en términos del lenguaje en cualquier máquina.
4.-Tampoco son implementables por razones totalmente diferentes: ellos son tan imprecisos y tienden a ser muy ambiguos.
5.-Influencian notablemente la manera en que pensamos acerca del diseño y construcción del software y los algoritmos y estructuras de datos que utilicemos para desarrollar software.

No hay comentarios:

Publicar un comentario