SlideShare ist ein Scribd-Unternehmen logo
1 von 8
LENGUAJES DE PROGRAMACIÓN
Lenguajes de programación
 Definición: es un idioma artificial, diseñado para expresar computaciones que
pueden ser llevadas a cabo por máquinas como las computadoras. Pueden
usarse para crear programas que controlen el comportamiento físico y lógico de
una máquina, para expresar algoritmos con precisión, o como modo de
comunicación humana. Está formado de 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
llama programación.
 Tipos:
Lenguaje de máquina
Lenguajes ensambladores
Lenguajes de alto nivel
Lenguajes compilados
Lenguajes interpretativos
Leguajes de programación declarativos
Lenguaje de Máquina
El lenguaje máquina de una computadora consta de cadenas de números
binarios (ceros y unos) y es el único que "entienden" directamente los
procesadores. Todas las instrucciones preparadas en cualquier lenguaje de
máquina tienen por lo menos dos partes. La primera es el comando u
operación, que dice a la computadora cuál es la función que va a realizar. Todas
las computadoras tienen un código de operación para cada una de sus
funciones. La segunda parte de la instrucción es el operando, que indica a la
computadora dónde hallar o almacenar los datos y otras instrucciones que se
van a manipular; el número de operandos de una instrucción varía en las
distintas computadoras.
Según los estándares actuales, las primeras computadoras eran poco
tolerantes. Los programadores tenían que traducir las instrucciones de manera
directa a la forma de lenguaje de máquina que comprendían las computadoras.
Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para
una de las primeras máquinas IBM hubiera escrito:
000100000000000000000000000010111000
Lenguajes ensambladores
A principios de la década de 1950, y con el fin de facilitar la labor de los
programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones
simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de
los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los
códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que
son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos
nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes
marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para
procesar los datos, pero los programas ensambladores traducen antes los símbolos de
códigos de operación especificados a sus equivalentes en lenguaje de máquina.
Este procedimiento preparó avances posteriores. Si la computadora era capaz de
traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que
realizara otras funciones rutinarias de codificación, como la asignación de direcciones de
almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar
una dirección no en términos de su localización numérica absoluta, sino en términos de
símbolos convenientes para el programador.
Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina.
Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y
los que se cometen son más fáciles de localizar. Además, los programas en lenguaje
ensamblador son más fáciles de modificar que los programas en lenguaje de máquina.
Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso
lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la
máquina. Es decir, están diseñados para la marca y modelo específico de procesador que
se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar
los programas.
Lenguajes de alto nivel
El desarrollo de las técnicas nemotécnicas y las macroinstrucciones
condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo están
orientados hacia una clase determinada de problemas de proceso. Por ejemplo,
se han diseñado varios lenguajes para procesar problemas científico-
matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las
aplicaciones de proceso de archivos.
A diferencia de los programas de ensamble, los programas en lenguaje de
alto nivel se pueden utilizar con diferentes marcas de computadores sin tener
que hacer modificaciones considerables. Esto permite reducir sustancialmente
el costo de la reprogramación cuando se adquiere equipo nuevo. Otras ventajas
de los lenguajes de alto nivel son:
 Son más fáciles de aprender que los lenguajes ensambladores.
 Se pueden escribir más rápidamente.
 Permiten tener mejor documentación.
 Son más fáciles de mantener.
 Un programador que sepa escribir programas en uno de estos lenguajes no está
limitado a utilizar un solo tipo de máquina.
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.
Lenguajes de programación
declarativos
Se les conoce como lenguajes declarativos en ciencias
computacionales a aquellos lenguajes de programación en los cuales se
le indica a la computadora qué es lo que se desea obtener o qué es lo
que se esta buscando, por ejemplo: Obtener los nombres de todos los
empleados que tengan más de 32 años. Eso se puede lograr con un
lenguaje declarativo como SQL.
La programación declarativa es una forma de programación que
implica la descripción de un problema dado en lugar de proveer una
solución para dicho problema, dejando la interpretación de los pasos
específicos para llegar a dicha solución a un intérprete no especificado.
La programación declarativa adopta, por lo tanto, un enfoque diferente
al de la programación imperativa tradicional.
En otras palabras, la programación declarativa provee el "qué",
pero deja el "cómo" liberado a la implementación particular del
intérprete. Por lo tanto se puede ver que la programación declarativa
tiene dos fases bien diferenciadas, la declaración y la interpretación.
Es importante señalar que a pesar de hacer referencia a
intérprete, no hay que limitarse a "lenguajes interpretados" en el
sentido habitual del término, sino que también se puede estar
trabajando con "lenguajes compilados".

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Leccion1 2
Leccion1 2Leccion1 2
Leccion1 2
 
Presentación1
Presentación1Presentación1
Presentación1
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Informática
InformáticaInformática
Informática
 
Informática
InformáticaInformática
Informática
 
Lenguajes de programación programación visual
Lenguajes de programación  programación visualLenguajes de programación  programación visual
Lenguajes de programación programación visual
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Taller saberes previos
Taller saberes previosTaller saberes previos
Taller saberes previos
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
La programación
La programaciónLa programación
La programación
 
Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Programcion
ProgramcionProgramcion
Programcion
 
Ensamblador y enlazador
Ensamblador y enlazadorEnsamblador y enlazador
Ensamblador y enlazador
 
Apuntes c
Apuntes cApuntes c
Apuntes c
 

Andere mochten auch

Uso seguro de internet
Uso seguro de internetUso seguro de internet
Uso seguro de internet
SebytaAndres
 
إدارة الوقت
إدارة الوقتإدارة الوقت
إدارة الوقت
Koko Hamza
 
Anomalias de trabajo de parto
Anomalias de trabajo de partoAnomalias de trabajo de parto
Anomalias de trabajo de parto
jakypao
 
ادارة الوقت
ادارة الوقتادارة الوقت
ادارة الوقت
nemra1
 
I seminário da disciplina estado e política educacional
I seminário da disciplina estado e política educacionalI seminário da disciplina estado e política educacional
I seminário da disciplina estado e política educacional
Rosyane Dutra
 
Ventajas y desventajas de las vías de administración
Ventajas y desventajas de las vías de administraciónVentajas y desventajas de las vías de administración
Ventajas y desventajas de las vías de administración
Angiie Hernández
 
Drogas na adolescencia
Drogas na adolescenciaDrogas na adolescencia
Drogas na adolescencia
RafaPinto2001
 

Andere mochten auch (20)

Optimizacion de una red de transporte colombiano para la exportacion de carbon
Optimizacion de una red de transporte colombiano para la exportacion de carbonOptimizacion de una red de transporte colombiano para la exportacion de carbon
Optimizacion de una red de transporte colombiano para la exportacion de carbon
 
Tipos de-evaluacion
Tipos de-evaluacionTipos de-evaluacion
Tipos de-evaluacion
 
Uso seguro de internet
Uso seguro de internetUso seguro de internet
Uso seguro de internet
 
TDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETsTDMA Slot Reservation in Cluster-Based VANETs
TDMA Slot Reservation in Cluster-Based VANETs
 
Microscópio (2)
Microscópio (2)Microscópio (2)
Microscópio (2)
 
Cartilla coherencia y cohesión
Cartilla coherencia y cohesiónCartilla coherencia y cohesión
Cartilla coherencia y cohesión
 
Exposición 9-b
Exposición 9-bExposición 9-b
Exposición 9-b
 
E-Business & E-Commerce Basics
E-Business & E-Commerce BasicsE-Business & E-Commerce Basics
E-Business & E-Commerce Basics
 
إدارة الوقت
إدارة الوقتإدارة الوقت
إدارة الوقت
 
Trabajo De Parto
Trabajo De PartoTrabajo De Parto
Trabajo De Parto
 
Asesoría para el uso de las tic yaritza activida1 sena
Asesoría para el uso de las tic  yaritza activida1 senaAsesoría para el uso de las tic  yaritza activida1 sena
Asesoría para el uso de las tic yaritza activida1 sena
 
Anomalias de trabajo de parto
Anomalias de trabajo de partoAnomalias de trabajo de parto
Anomalias de trabajo de parto
 
Modernismo power point
Modernismo power point Modernismo power point
Modernismo power point
 
Programa
ProgramaPrograma
Programa
 
ادارة الوقت
ادارة الوقتادارة الوقت
ادارة الوقت
 
I seminário da disciplina estado e política educacional
I seminário da disciplina estado e política educacionalI seminário da disciplina estado e política educacional
I seminário da disciplina estado e política educacional
 
Ventajas y desventajas de las vías de administración
Ventajas y desventajas de las vías de administraciónVentajas y desventajas de las vías de administración
Ventajas y desventajas de las vías de administración
 
Drogas na adolescencia
Drogas na adolescenciaDrogas na adolescencia
Drogas na adolescencia
 
Presentacion artes-visuales
Presentacion artes-visualesPresentacion artes-visuales
Presentacion artes-visuales
 
Consumo drogas,álcool,tabaco na adolescência
Consumo drogas,álcool,tabaco na adolescênciaConsumo drogas,álcool,tabaco na adolescência
Consumo drogas,álcool,tabaco na adolescência
 

Ähnlich wie Powerpoint jimpulgar

Lenguaje de programacion
Lenguaje  de  programacionLenguaje  de  programacion
Lenguaje de programacion
Dannis Barrera
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
adark
 
Lenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptLenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.ppt
Sergio Sorelas
 
Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
Daniela Brignolo
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
kinverdar
 

Ähnlich wie Powerpoint jimpulgar (20)

Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
02- Clase 1 - UD2 - Lenguajes.pdf
02- Clase 1 - UD2 -  Lenguajes.pdf02- Clase 1 - UD2 -  Lenguajes.pdf
02- Clase 1 - UD2 - Lenguajes.pdf
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Clase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptosClase3 guia1-introduccion-compiladores-conceptos
Clase3 guia1-introduccion-compiladores-conceptos
 
El Software
El SoftwareEl Software
El Software
 
Lenguaje de programacion
Lenguaje  de  programacionLenguaje  de  programacion
Lenguaje de programacion
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
2
22
2
 
Historia de la programacion
Historia de la programacionHistoria de la programacion
Historia de la programacion
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.pptLenguaje de programacion sgs.ppt
Lenguaje de programacion sgs.ppt
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Traductores de lenguajes de programación
Traductores de lenguajes de programaciónTraductores de lenguajes de programación
Traductores de lenguajes de programación
 
Diapositivas
DiapositivasDiapositivas
Diapositivas
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 

Kürzlich hochgeladen

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 

Kürzlich hochgeladen (20)

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
plande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdfplande accion dl aula de innovación pedagogica 2024.pdf
plande accion dl aula de innovación pedagogica 2024.pdf
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 

Powerpoint jimpulgar

  • 2. Lenguajes de programación  Definición: es un idioma artificial, diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de 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 llama programación.  Tipos: Lenguaje de máquina Lenguajes ensambladores Lenguajes de alto nivel Lenguajes compilados Lenguajes interpretativos Leguajes de programación declarativos
  • 3. Lenguaje de Máquina El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que "entienden" directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción "SUMAR 0814" para una de las primeras máquinas IBM hubiera escrito: 000100000000000000000000000010111000
  • 4. Lenguajes ensambladores A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos. Todas las computadoras actuales tienen códigos nemotécnicos aunque, naturalmente, los símbolos que se usan varían en las diferentes marcas y modelos. La computadora sigue utilizando el lenguaje de máquina para procesar los datos, pero los programas ensambladores traducen antes los símbolos de códigos de operación especificados a sus equivalentes en lenguaje de máquina. Este procedimiento preparó avances posteriores. Si la computadora era capaz de traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar una dirección no en términos de su localización numérica absoluta, sino en términos de símbolos convenientes para el programador. Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar los programas.
  • 5. Lenguajes de alto nivel El desarrollo de las técnicas nemotécnicas y las macroinstrucciones condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo están orientados hacia una clase determinada de problemas de proceso. Por ejemplo, se han diseñado varios lenguajes para procesar problemas científico- matemático, asimismo han aparecido otros lenguajes que hacen hincapié en las aplicaciones de proceso de archivos. A diferencia de los programas de ensamble, los programas en lenguaje de alto nivel se pueden utilizar con diferentes marcas de computadores sin tener que hacer modificaciones considerables. Esto permite reducir sustancialmente el costo de la reprogramación cuando se adquiere equipo nuevo. Otras ventajas de los lenguajes de alto nivel son:  Son más fáciles de aprender que los lenguajes ensambladores.  Se pueden escribir más rápidamente.  Permiten tener mejor documentación.  Son más fáciles de mantener.  Un programador que sepa escribir programas en uno de estos lenguajes no está limitado a utilizar un solo tipo de máquina.
  • 6. 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.
  • 7. 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.
  • 8. Lenguajes de programación declarativos Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programación en los cuales se le indica a la computadora qué es lo que se desea obtener o qué es lo que se esta buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje declarativo como SQL. La programación declarativa es una forma de programación que implica la descripción de un problema dado en lugar de proveer una solución para dicho problema, dejando la interpretación de los pasos específicos para llegar a dicha solución a un intérprete no especificado. La programación declarativa adopta, por lo tanto, un enfoque diferente al de la programación imperativa tradicional. En otras palabras, la programación declarativa provee el "qué", pero deja el "cómo" liberado a la implementación particular del intérprete. Por lo tanto se puede ver que la programación declarativa tiene dos fases bien diferenciadas, la declaración y la interpretación. Es importante señalar que a pesar de hacer referencia a intérprete, no hay que limitarse a "lenguajes interpretados" en el sentido habitual del término, sino que también se puede estar trabajando con "lenguajes compilados".