Ir al contenido

Diferencia entre revisiones de «Lenguaje de programación»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
SieBot (discusión · contribs.)
Línea 1: Línea 1:
Con la aparicion de las [[computadora]]s desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada, una clave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones ([[programa (computación)|programa]]) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina [[lenguaje máquina | lenguaje máquina o código máquina]].
Un '''paradigma de programación''' representa un enfoque particular o [[filosofías del desarrollo de software | filosofía para la construcción del software]]. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un [[paradigma]] resulta más apropiado que otro.


La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó [[lenguaje ensamblador | lenguaje ensamblador]].
'''Algunos ejemplos de paradigmas de programación''':

Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura [[sintáctica]] similar a los lenguajes escritos por los humanos.

==Concepto==
[[Imagen:Programming language textbooks.jpg|thumb|right|200px|Varios libros sobre diversos '''lenguajes de programación'''.]]
Un '''[[lenguaje]] de [[programación]]''' es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una [[computadora]]. Consiste en un conjunto de símbolos y reglas [[sintaxis|sintácticas]] y [[semántica|semánticas]] que definen su estructura y el significado de sus elementos y expresiones.

Aunque muchas veces se usa lenguaje de programación y [[lenguaje informático]] como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el [[HTML]] (lenguaje para el marcado de [[página web|páginas web]]).

Un lenguaje de programación permite a uno o más [[programador|programadores]] especificar de ''manera precisa'': sobre qué datos una computadora debe operar, cómo deben ser estos almacenados, transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un [[lenguaje]] que intenta estar ''relativamente'' próximo al lenguaje humano o natural, tal como sucede con el lenguaje [[Léxico]]. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.

Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado [[lenguaje de máquina]]. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:

* Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama ''interpretar'' y a los programas que lo hacen se los conoce como [[intérprete informático|intérprete]]s.
* Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama ''compilar'' y al traductor se lo conoce como un malhecho [[compilador]].

{{endesarrollo}}

==Clasificación de los lenguajes de programación==

Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser:

===Según su nivel de abstracción===
====Lenguajes de bajo nivel====
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el [[código máquina]]. A éste le sigue el [[lenguaje ensamblador]], ya que al programar en ensamblador se trabajan con los [[registros]] de [[memoria]] de la computadora de forma directa.

====Lenguajes de medio nivel====
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del [[lenguaje de programación C|lenguaje C]]) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

====Lenguajes de alto nivel====
{{AP|Lenguaje de alto nivel}}
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.788o

===Según la forma de ejecución===
====Lenguajes compilados====

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código

====Lenguajes interpretados====

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción

===Según el paradigma de programación===
{{AP|Paradigma de programación}}

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro.

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :


* El [[Programación imperativa | paradigma imperativo o por procedimientos]] es considerado el más común y está representado, por ejemplo, por el [[lenguaje de programación C|C]] o por [[BASIC]].
* El [[Programación imperativa | paradigma imperativo o por procedimientos]] es considerado el más común y está representado, por ejemplo, por el [[lenguaje de programación C|C]] o por [[BASIC]].
Línea 12: Línea 66:


Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la [[programación orientada a objetos]].
Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la [[programación orientada a objetos]].


====Lenguajes imperativos====
{{AP|Programación imperativa}}

*[[BASIC]]
*[[Lenguaje de programación C|C]]
*[[C++]]
*[[Lenguaje de programación Java|Java]]
*[[C Sharp|C#]]
*[[Perl]]
*[[unerg]]
=====Lenguajes Funcionales=====
{{AP|Programación funcional}}

Puros:
*[[Haskell]]
*[[Miranda (lenguaje)|Miranda]]

Híbridos:
*[[Lisp]]
*[[Scheme]]
*[[Ocaml]]
*[[Standard ML]]
*[[ML]]
*[[Lenguaje de programación Scala|Scala]]

=====Lenguajes Logicos=====
{{AP|Programación lógica}}

*[[Prolog]]

====Lenguajes orientados a objetos====
{{AP|Programación orientada a objetos}}

*[[ActionScript]]
*[[Lenguaje de programación Ada|Ada]]
*[[C++]]
*[[C Sharp|C#]]
*[[VB.NET]]
*[[Visual FoxPro]]
*[[Clarion]]
*[[Delphi]]
*[[Harbour]]
*[[Lenguaje de programación Eiffel|Eiffel]]
*[[Lenguaje de programación Java|Java]]
*[[JavaScript]]
*[[Lexico]] (en castellano)
*[[Objective-C]]
*[[Ocaml]]
*[[Lenguaje de programación Oz|Oz]]
*[[Perl]] (soporta herencia múltiple)
*[[PHP]] (en su versión 5)
*[[Python]]
*[[Ruby]]
*[[Smalltalk]]
*[[Magik]] ([[SmallWorld]])

==Algunos lenguajes de programación==
{| border="0"
| valign="top" |
*[[ABAP]]
*[[Lenguaje de programación ABC|ABC]]
*[[ActionScript]]
*[[Lenguaje de programación Ada|Ada]]
*[[Afnix (lenguaje de programación)|Afnix]]
*[[ALGOL]]
*[[AmigaE]]
*[[APL]]
*[[Active Server Pages|ASP]]
*[[ASP.NET]]
*[[AWK]]
*[[Lenguaje de programación B|B]]
*[[BASIC]]
*[[Batch]]
*[[BCPL]]
*[[Befunge]]
| valign="top" |
*[[Boo (programación)|Boo]]
*[[Lenguaje de programación C|C]]
*[[C++]]
*[[C Sharp|C#]]
*[[Caml]]
*[[Clipper (lenguaje de programación)|Clipper]]
*[[CLIPS]]
*[[CLU]]
*[[COBOL]]
*[[CORAL]]
*[[Lenguaje de programación D|D]]
*[[Delphi]]
*[[DIV]]
*[[Dylan]]
*[[Lenguaje de programación Eiffel|Eiffel]]
| valign="top" |
*[[Erlang]]
*[[Ensamblador]]
*[[Extended ML]]
*[[Euphoria]]
*[[Proyecto Fenix|Fénix]]
*[[Flow-Matic]]
*[[Forth]]
*[[FORTRAN]]
*[[Lenguaje de programación FP|FP]]
*[[Gambas]]
*[[GML]]
*[[Lenguaje de programación GRAFCET|GRAFCET]]
*[[Haskell]]
*[[Icon]]
*[[Inform]]
| valign="top" |
*[[INTERCAL]]
*[[ISWIM]]
*[[Lenguaje de programación J|J]]
*[[Lenguaje de programación Java|Java]]
*[[JavaScript]]
*[[Lenguaje de programación Joy|Joy]]
*[[Lenguaje de programación KWC|KWC]]
*[[Lenguaje Ladder|Ladder]]
*[[Lenguaje de programación Letra|Letra]]
*[[Lexico]]
*[[Lingo]]
*[[Lisp]]
*[[Lenguaje de programación Logo|Logo]]
*[[Lua]]
*[[MAGIC]]
| valign="top" |
*[[Mainsail]]
*[[Mac Army]]
*[[Mesa (lenguaje de programación)|Mesa]]
*[[Lenguaje de programación Miranda|Miranda]]
*[[ML]]
*[[Modula]]
*[[Modula-2]]
*[[Modula-3]]
*[[Lenguaje de programación Natural|Natural]]
*[[NetREXX]]
*[[Lenguaje de programación Oberon|Oberon]]
*[[Object REXX]]
*[[Objective-C]]
*[[ObjectPAL]]
*[[Ocaml]]
*[[Occam]]
| valign="top" |
*[[Lenguaje de programación Oz|Oz]]
*[[Lenguaje de programación Pascal|Pascal]]
*[[Parlog]]
*[[Perl]]
*[[PHP]]
*[[PL/1]]
*[[Plankalkül]]
*[[PostScript]]
*[[PowerBuilder]]
*[[Prolog]]
*[[Python]]
*[[Lenguaje de programación R|R]]
*[[Rapid]]
*[[REXX]]
*[[RPN]]
| valign="top" |
*[[Lenguaje de programación RPG|RPG]]
*[[Ruby]]
*[[Sail]]
*[[Sappler]]
*[[Sather]]
*[[Scheme]]
*[[Scriptol]]
*[[Seed7]]
*[[Self]]
*[[Sh]]
*[[Simula]]
*[[Smalltalk]]
*[[Snobol]]
*[[SPARK]]
*[[Squeak]]
*[[SR]]
| valign="top" |
*[[Standard ML]]
*[[TI-Basic]]
*[[TCL]]
*[[VBA]]
*[[Velneo]]
*[[Visual Basic]]
*[[Visual Basic .NET]]
*[[Visual C++]]
*[[Visual DialogScript]]
*[[Visual Foxpro]]
*[[XBase%2B%2B]]
*[[Yurix]]
*[[ZPL]]
*etc.
|}


==Véase también==
==Véase también==
*[[Computadora]]
* [[Programación imperativa]]
* [[Programación lógica]]
*[[Programación]]
*[[Lenguaje de alto nivel]]
** [[Programación funcional]]
*[[Lenguaje interpretado]]
** [[Programación estructurada|Programación estructurada o declarativa]]
*[[Lenguaje de programación esotérico|Lenguajes esotéricos]]
* [[Programación dirigida por eventos]]

* [[Programación modular]]
==Enlaces externos==
* [[Programación Orientada a Aspectos]]
*[http://www.levenez.com/lang/history.html Árbol genealógico de los lenguajes de programación]
* [[Programación orientada a objetos]]
*[http://www.levenez.com/lang/ Árbol cronológico de los lenguajes de programación] (en inglés)
* [[Programación con restricciones]]
*[http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm Lista de lenguajes de programación] (en inglés)
* [[Programación por capas]]
*[http://www.alegsaonline.com/art/13.php Paradigmas de los lenguajes de programación] (clasificación)
* [[Programación a nivel funcional]] ([[John Backus]])
{{destacado|he}}
* [[Programación a nivel de valores]] ([[John Backus]])
{{destacado|it}}
{{destacado|vi}}

{{bueno|en}}


[[Categoría:Paradigmas de programación| ]]
[[Categoría:Lenguajes de programación]]


[[af:Programmeertaal]]
[[bg:Парадигма на програмиране]]
[[als:Programmiersprache]]
[[bs:Programska paradigma]]
[[am:የፕሮግራም ቋንቋ]]
[[ca:Paradigma de programació]]
[[an:Lenguache de programazión]]
[[da:Programmeringsparadigme]]
[[ar:لغة برمجة]]
[[de:Programmierparadigma]]
[[ast:Llinguaxe de programación]]
[[el:Προγραμματιστικό παράδειγμα]]
[[bg:Език за програмиране]]
[[en:Programming paradigm]]
[[bn:প্রোগ্রামিং ভাষা]]
[[fr:Paradigme (programmation)]]
[[br:Areg]]
[[gl:Paradigma de programación]]
[[bs:Programski jezik]]
[[he:פרדיגמת תכנות]]
[[ca:Llenguatge de programació]]
[[hu:Programozási paradigmák]]
[[cs:Programovací jazyk]]
[[id:Paradigma pemrograman]]
[[da:Programmeringssprog]]
[[it:Paradigma di programmazione]]
[[de:Programmiersprache]]
[[ja:プログラミングパラダイム]]
[[el:Γλώσσα προγραμματισμού]]
[[ko:프로그래밍 패러다임]]
[[en:Programming language]]
[[lv:Programmēšanas paradigma]]
[[eo:Programlingvo]]
[[mk:Програмерска парадигма]]
[[et:Programmeerimiskeel]]
[[nl:Programmeerparadigma]]
[[eu:Programazio-lengoaia]]
[[pl:Paradygmat programowania]]
[[fi:Ohjelmointikieli]]
[[pt:Paradigma de programação]]
[[fr:Langage de programmation]]
[[ru:Парадигма программирования]]
[[gl:Linguaxe de programación]]
[[sv:Programmeringsparadigm]]
[[he:שפת תכנות]]
[[ta:நிரலாக்க கருத்தோட்டம்]]
[[hr:Programski jezik]]
[[uk:Парадигма програмування]]
[[hu:Programozási nyelv]]
[[zh:编程范型]]
[[ia:Linguage de programmation]]
[[id:Bahasa pemrograman]]
[[ilo:Lengguahe ti panangprograma]]
[[is:Forritunarmál]]
[[it:Linguaggio di programmazione]]
[[ja:プログラミング言語]]
[[ka:დაპროგრამების ენა]]
[[ko:프로그래밍 언어]]
[[lb:Programméiersprooch]]
[[lt:Programavimo kalba]]
[[lv:Programmēšanas valoda]]
[[ml:പ്രോഗ്രാമിംഗ് ഭാഷ]]
[[nl:Programmeertaal]]
[[nn:Programmeringsspråk]]
[[no:Programmeringsspråk]]
[[pl:Język programowania]]
[[pt:Linguagem de programação]]
[[ro:Limbaj de programare]]
[[ru:Язык программирования]]
[[simple:Programming language]]
[[sk:Programovací jazyk]]
[[sl:Programski jezik]]
[[sq:Gjuhë programimi]]
[[su:Basa pamrograman]]
[[sv:Programspråk]]
[[ta:ஆணைமூலம்]]
[[te:ప్రోగ్రామింగు భాష]]
[[tg:Забони барномасозӣ]]
[[th:ภาษาโปรแกรม]]
[[tl:Wikang pamprograma]]
[[tr:Programlama dilleri]]
[[uk:Мова програмування]]
[[vi:Ngôn ngữ lập trình]]
[[zh:编程语言]]
[[zh-min-nan:Thêng-sek gí-giân]]

Revisión del 01:13 15 ago 2008

Con la aparicion de las computadoras desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada, una clave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101...) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.

La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje ensamblador.

Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos.

Concepto

Varios libros sobre diversos lenguajes de programación.

Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.

Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas web).

Un lenguaje de programación permite a uno o más programadores especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados, transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.

Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:

  • Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes.
  • Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al traductor se lo conoce como un malhecho compilador.

Clasificación de los lenguajes de programación

Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser:

Según su nivel de abstracción

Lenguajes de bajo nivel

Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.

Lenguajes de medio nivel

Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

Lenguajes de alto nivel

Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.788o

Según la forma de ejecución

Lenguajes compilados

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.

Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).

Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código

Lenguajes interpretados

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción

Según el paradigma de programación

Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta más apropiado que otro.

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en :

Nota: La representación orientada a objetos mejora la estructura de los datos y por lo tanto se ha aplicado a diferentes paradigmas como Redes de Petri, Imperativo Secuencial, Lógica de Predicados, Funcional, etc. No obstante, la manipulación no queda fundamentalmente afectada y por lo tanto el paradigma inicial tampoco a pesar de ser re-orientado a objetos.

Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.

Actualmente el paradigma de programación más usado debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.


Lenguajes imperativos

Lenguajes Funcionales

Puros:

Híbridos:

Lenguajes Logicos

Lenguajes orientados a objetos

Algunos lenguajes de programación

Véase también

Enlaces externos