viernes, 23 de abril de 2010

CARACTERISTICAS DEL LENGUAJE DE PROGRAMACION


CARACTERISTICAS DE LOS LENGUAJES DE PROGRAMACION

A diferencia de lenguajes de programación descendientes de C, Pascal utiliza:= para asignamiento en vez de =. Esto es una ventaja en diferenciar comparaciones y asignamientos. En C = = es comparación, pero = es una asignación. Esas pueden ser fáciles de confundir resultando en una línea de asignamiento en vez de comparación. También = tiene siempre siendo comparación en matemáticas, así a cambiar el significado en un lenguaje de programación resulta en confusión. Esta sintaxis conduce a muchos errores  difíciles de rastrear en código C. Desde que Pascal no permite asignamientos en línea y utiliza sintaxis distinta para asignamientos y comparaciones, esto no sufre de esos errores.
Otra mayor diferencia es que Pascal se determina el tipo fuertemente. Esto significa que toda variable debe ser definida con un tipo específico antes que puedan ser usadas. También, asignamientos de variable incompatibles no son permitidas sin un tipo explicito. Esto previene errores comunes donde variables son usadas incorrectamente por que el tipo es desconocido. Esto también aliviana la necesidad de notación húngara - la práctica de nombres de variables sufijos con tipo- identificando letras.
Propiedades
  • Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).
  • Un sistema de tipos que impide operaciones sin sentido.
  • Usa un lenguaje de preprocesador, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.
  • Interrupciones al procesador con uniones.
  • Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros.
  • Soporte para programación orientada a objetos, aunque la implementación original de C++ fue un preprocesador que traducía código fuente de C++ a C.
  • Encapsulación.
  • Funciones anidadas, aunque GCC tiene esta característica como extensión.
  • Soporte nativo para programación multihilo y redes de computadores.
Aunque la lista de las características útiles de las que carece C es larga, este factor ha sido importante para su aceptación, porque escribir rápidamente nuevos compiladores para nuevas plataformas, mantiene lo que realmente hace el programa bajo el control directo del programador, y permite implementar la solución más natural para cada plataforma. Ésta es la causa de que a menudo C sea más eficiente que otros lenguajes. Típicamente, sólo la programación cuidadosa en lenguaje ensamblador produce un código más rápido, pues da control total sobre la máquina, aunque los avances en los compiladores de C y la complejidad creciente de los microprocesadores modernos han reducido gradualmente esta diferencia.
En algunos casos, una característica inexistente puede aproximarse. Por ejemplo, la implementación original de C++ consistía en un preprocesador que traducía código fuente C++ a C. La mayoría de las funciones orientadas a objetos incluyen un puntero especial, que normalmente recibe el nombre "this", que se refiere al objeto al que pertenece la función. Mediante el paso de este puntero como un argumento de función, esta funcionalidad puede desempeñarse en C.
Ada                 - Objetos, Imperativo híbrido   http://labsopa.dis.ulpgc.es/ada/
         Smalltalk          - Objetos puro             http://www.smalltalk.org/
         Java                 - Objetos, Imperativo híbrido   http://www.java.org/
         C++                - Objetos, Imperativo, Hipertexto híbrido        http://www.masternet.com.co/prod/delphi.htm
          Delphi              - Objetos, Imperativo híbrido   http://www.masternet.com.co/prod/delphi.htm
          Ocaml              - Objetos, Imperativo y Funcional híbrido        http://www.ocaml.org/
           Haskell            - Funcional puro          http://www.haskell.org/
            Lisp                 - Funcional híbrido       http://www.lisp.org/
            Prolog              - Lógico puro   http://www.prolog.org/
            Perl                  - Objetos, Imperativo, Hipertexto, Expresiones Regulares   híbrido       http://www.perl.org/
            PHP                - Imperativo, Hipertexto, híbrido          http://www.php.org/
            SQL                - Lenguaje Declarativo, Expresiones Regulares            http://www.sql.org/
            UML               - Lenguaje Modelado  http://www.uml.org/
Para cada lenguaje seleccionando su nombre podrás ver su historia y características y a la derecha tienes un link el sitio te brinda todo.

No hay comentarios:

Publicar un comentario