lunes, 6 de febrero de 2012

Según La Productividad.

10. Según La Productividad.
 
Según se caractericen por tener virtudes útiles o productivas, u oscuras y enrevesadas:



  • Lenguajes útiles o productivos: Sus virtudes en cuanto a eficiencia, sencillez, claridad, productividad, etc., motiva que sean utilizados en empresas, administraciones públicas y/o en la enseñanza. Ejemplos: Cualquier lenguaje de uso habitual (C, Java, C++, Lisp, Python, Ruby, …).



  • Lenguajes esotéricos o exóticos: Inventados con la intención de ser los más raros, oscuros, difíciles, simples ó retorcidos de los lenguajes, para diversión y entretenimiento de programadores. A veces exploran nuevas ideas en programación. Estos lenguajes poseen una sintaxis muy básica, con un alfabeto muy restringido, lo que los hace especialmente peculiares en su implementación. En su creación muchas veces ha primado la diversión por parte de los desarrolladores, sobre la utilidad. Sin embargo, al mismo tiempo se trata de lenguajes que funcionan como un desafío tanto para quienes los crean, como para aquellos que intentan programar con ellos.  Ejemplo: Brainfuck, Whitespace, Ook! .

Según El Determinismo.

9. Según El Determinismo.


 Según se pueda predecir o no el siguiente estado del programa a partir del estado actual:



  •  Lenguajes deterministas: Es completamente predictivo si se conocen sus entradas. Dicho de otra forma, si se conocen las entradas del algoritmo siempre producirá la misma salida, y la máquina interna pasará por la misma secuencia de estados. Este tipo de algoritmos ha sido el más estudiado durante la historia y por lo tanto resulta ser el tipo más familiar de los algoritmos, así como el más práctico ya que puede ejecutarse en las máquinas eficientemente.Ejemplos: Todos los anteriores.


 
  •  Lenguajes probabilísticos o no deterministas: Sirven para explorar grandes espacios de búsqueda, (como gramáticas), y en la investigación teórica de hipercomputación. Ejemplo: mutt .

Según La Realización Visual.

8. Según La Realización Visual.



  • Lenguajes de programación visual: El programa se realiza moviendo bloques de construcción de programas (objetos visuales) en un interfaz adecuado para ello. Ejemplo: Mindscript, Visual Basic.Net, Borland Delphi.

  • Lenguajes de programación textual: El código del programa se realiza escribiéndolo. Ejemplos: C/C++, Java, Lisp.

Según La Interactividad.

7. Según La Interactividad.

 Según la interactividad del programa con el usuario u otros programas:






  • Lenguajes no orientados a sucesos: El flujo del programa no depende de sucesos exteriores, sino que se conoce de antemano, siendo los procesos batch el ejemplo más claro (actualizaciones de bases de datos, colas de impresión de documentos, etc.). Ejemplos: CLua, Java. Lenguajes de programación imperativos.

domingo, 5 de febrero de 2012

Según La Concurrencia.

6. Según La Concurrencia.




Según admitan o no concurrencia de procesos, esto es, la ejecución simultánea de varios procesos lanzados por el programa:



  • Lenguajes concurrentes: Incorporan la noción de proceso, Cada proceso tiene un flujo de control independiente.Las instrucciones de los procesos se ejecutan intercalándose unas con otras. Ejemplos: Ada, Limbo, Curry.


  • Lenguajes no concurrentes. Ejemplo: C.

Según El Lugar De Ejecución.

5. Según El Lugar De Ejecución.


 En sistemas distribuidos, según dónde se ejecute:






  • Lenguajes de servidor: Se ejecutan en el servidor. Ejemplo: PHP



  •  Lenguajes de cliente: Se ejecutan en el cliente. Ejemplo: JavaScript, HTML.

Según La manera De Abordar La Tarea A Realizar.

4. Según La manera De Abordar La Tarea A Realizar.










 
  • Lenguajes declarativos: Está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. Ejemplos: Lisp, Prolog, HTML, SQL, Haskell.



Según El Propósito.

3. Según El Propósito.



  •  Lenguajes de propósito general: Aptos para todo tipo de tareas. Ejemplos:  C, C++, PASCAL, Ada.
  • Lenguajes de propósito específico ó especial: Hechos para un objetivo muy concreto ó como los lenguajes de simulación que facilitan enormemente el desarrollo y ejecución de simulaciones de sistemas complejos del mundo real.  Ejemplo: Csound, C-Simscript, Ada, SLAM , GPSS.


  •  Lenguajes de programación de sistemas: Diseñados para realizar sistemas operativos o drivers. Ejemplo: C, Arduino .

  •  Lenguajes de script: Para realizar tareas varias de control y auxiliares. Antiguamente eran los llamados lenguajes de procesamiento por lotes (batch) ó JCL . Se subdividen en varias clases (de shell, de GUI, de programación web, etc.). Ejemplos: bash, mIRC script, JavaScript .




Según La Forma De Ejecutarse.

    2. Según La Forma De Ejecutarse.







  •  Lenguajes compilados: Un programa traductor traduce el código del programa (código fuente) en código máquina (código objeto). Otro programa, el enlazador, unirá los ficheros de código objeto del programa principal con los de las librerías para producir el programa ejecutable. Esto implica que una vez escrito el programa, éste se traduce a partir de su código fuente por medio de un compilador en un archivo ejecutable para una determinada plataforma. Los lenguajes compilados son lenguajes de alto nivel en los que las instrucciones se traducen del lenguaje utilizado a código máquina para una ejecución rápida. Ejemplo:C, ALGOL, Ada, Pascal, C++.





  • Lenguajes Interpretados: Es aquel está diseñado para ser ejecutado por medio de un intérprete, es decir para ejecutar las instrucciones del programa de manera directa. Por Ejemplo: Gambas (visual basic mejorado para gnu/linux), JavaScript (todas las plataformas), Lisp, PHPPython (todas las plataformas), Ruby .





También hay lenguajes intermedios como Java, que primero pasan por una fase de compilación en la que el código fuente se transforma en “bytecode”, y este “bytecode” puede ser ejecutado luego (interpretado) en ordenadores con distintas arquitecturas (procesadores) que tengan todos instalados la misma “máquina virtual” Java.

Según El Nivel De Abstracción.

 1.    Según El Nivel De Abstracción.



  • Bajo Nivel: La programación se realiza tomando muy en cuenta las características del procesador, Dicho lenguaje es muy simple o nada complicado, pero estructurar programas a ese nivel es muy difícil. Dado que este lenguaje viene dado por las especificaciones técnicas del hardware, no permite una abstracción fuera de lo estipulado para el microprocesador de un ordenador. Por Ejemplo:
El lenguaje maquina: Este lenguaje ordena al dispositivo las operaciones fundamentales para su funcionamiento. Consiste en un codigo binario (0,1) que forma las ordenes entendibles por el hardware. Este lenguaje es mucho más rápido que los lenguajes de alto nivel. La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible. 

El lenguaje ensamblador: Es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, añadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.




  • Alto Nivel: Los lenguajes de alto nivel manejan conceptos, tipos de datos, entre otros de una manera similar al pensamiento humano ignorando (abstrayéndose) en parte, del funcionamiento del dispositivo. Entre los principales lenguajes de alto nivel:

sábado, 4 de febrero de 2012

Clasificación De Los Lenguajes De Programación

Los lenguajes de programación se pueden clasificar según varios criterios. Hay que tener en cuenta también, que en la práctica, la mayoría de lenguajes no pueden ser puramente clasificados en una categoría, pues surgen incorporando ideas de otros lenguajes y de otras filosofías de programación, pero no importa al establecer las clasificaciones, pues el auténtico objetivo de las mismas es mostrar los rangos, las posibilidades y tipos de lenguajes que existen. Entre las categorías tenemos:

  1. Según El Nivel De Abstracción.
  2. Según La Forma De Ejecutarse.
  3. Según El Propósito.
  4. Según La manera De Abordar La Tarea A Realizar.
  5. Según El Lugar De Ejecución.
  6. Según La Concurrencia.
  7. Según La Interactividad.
  8. Según La Realización Visual.
  9. Según El Determinismo.
  10. Según La Productividad.

¿Que Es Un Lenguaje De Programación?

 
 
Un lenguaje de programación es un idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por dispositivos electrónicos como las computadoras. Pueden usarse para crear programas que controlen su comportamiento físico y lógico, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas 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 código fuente de un programa informático se le denomina programación.