SlideShare una empresa de Scribd logo
Programación Instituto Tecnológico de Celaya
Ingeniería Química
LLEENNGGUUAAJJEESS
Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para
expresar ideas, comunicarse, y establecer relaciones entre los seres humanos.
Un lenguaje no sólo consta de “palabras”, sino también de su pronunciación y
los métodos para combinar las palabras en frases y oraciones; los lenguajes se
forman mediante combinaciones de palabras definidas en un diccionario
terminológico previamente establecido. Las combinaciones posibles deben
respetar un conjunto de reglas sintácticas establecidas, a ello se le conoce con
el nombre de Sintaxis. Además, las palabras deben tener determinado sentido,
deben ser comprendidas por un grupo humano en un contexto dado, a ello se le
denomina Semántica.
TTIIPPOOSS DDEE LLEENNGGUUAAJJEESS
Aunque existen muchas clasificaciones, en general se puede distinguir entre dos
clases de lenguajes: los lenguajes naturales (ingles, alemán, español, etc.) y
los lenguajes artificiales o formales (matemático, lógico, computacional,
etc.). Tanto el lenguaje natural como el lenguaje artificial son humanos. El
primero es natural porque se aprende (o adquiere) inconsciente e
involuntariamente. Ningún bebé decide aprender o no la lengua que hablan sus
padres, y ningún padre sienta a su hijo y le enseña las reglas sintácticas de su
lengua. Las personas hablan y se entienden, pero generalmente no se
cuestionan las reglas que utilizan al hablar. Por otra parte, los lenguajes
artificiales sí se aprenden de manera voluntaria y conscientemente. Un ejemplo
de lenguaje artificial son los lenguajes de programación utilizados para
desarrollar programas informáticos.
Programación Instituto Tecnológico de Celaya
Ingeniería Química
LLOOSS LLEENNGGUUAAJJEESS DDEE PPRROOGGRRAAMMAACCIIÓÓNN
Un Lenguaje de Programación es un conjunto de reglas, notaciones,
símbolos y/o caracteres que permiten a un programador poder expresar el
procesamiento de datos y sus estructuras en la computadora. Cada lenguaje
posee sus propias sintaxis. También se puede decir que un programa es un
conjunto de órdenes o instrucciones que resuelven un problema específico
basado en un Lenguaje de Programación.
Existen varias clasificaciones para los lenguajes de programación.
Clasificación de los Lenguajes de Programación
Los programadores escriben instrucciones en diversos lenguajes de
programación. La computadora puede entender directamente algunos de ellos,
pero otros requieren pasos de traducción intermedios. Hoy día se utilizan
cientos de lenguajes de computadora.
Los Lenguajes de Programación pueden clasificarse de acuerdo con su uso
en:
1. Lenguajes desarrollados para el cálculo numérico. Tales como FORTRAN,
Mathematica y Matlab.
2. Lenguajes para sistemas. Como C, C++ y ensamblador.
3. Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog,
y Lisp.
También se pueden clasificar de acuerdo con el tipo de instrucciones de que
constan. En esta clasificación se tiene al lenguaje máquina, al lenguaje
ensamblador y al lenguaje de alto nivel. Se presenta a continuación una
descripción de cada uno de ellos.
Programación Instituto Tecnológico de Celaya
Ingeniería Química
Lenguaje máquina (Binario)
Una computadora sólo puede entender el lenguaje máquina. El lenguaje de
máquina ordena a la computadora realizar sus operaciones fundamentales una
por una. Dicho lenguaje es difícil de usar para lar persona porque trabajar con
números no es muy cómodo además de que estos números están en formato
binario. ¿Cómo es que se representan las operaciones como números? John Von
Neumann desarrolló el modelo que lleva su nombre para esta representación.
Ya se estudió que representar números usando el sistema binario no es
complicado, pero se tenía luego el problema de representar las acciones (o
instrucciones) que iba a realizar la computadora también en el sistema binario;
pues la memoria, al estar compuesta por bits, solamente permite almacenar
números binarios. La solución que se tomó fue la siguiente: a cada acción que
sea capaz de realizar la computadora, se le asocia un número, que corresponde
a su código de operación (opcode). Por ejemplo, una calculadora programable
simple podría asignar los siguientes opcodes :
1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE
Supóngase entonces que se quiere realizar la operación 5 * 3 + 2, en la
calculadora descrita arriba. En la memoria de la calculadora se podría
representar el programa de la siguiente forma:
Posición Opcode Significado Comentario
0 5 5 Primer número de la fórmula
1 3 *
3 es el opcode que representa la
multiplicación.
2 3 3 Segundo número de la fórmula
3 1 + 1 es el opcode para la suma.
4 2 2 Último número de la fórmula
Programación Instituto Tecnológico de Celaya
Ingeniería Química
y en código binario:
5 3 3 1 2
101 011 011 001 010
Podemos ver que, con esta representación, es simple expresar las operaciones
de las que es capaz de realizar el hardware en la memoria. La descripción y uso
de los opcodes es lo que se llama lenguaje de máquina. El lenguaje máquina es
el lenguaje más primitivo y depende directamente del hardware.
Lenguajes de bajo nivel (ensamblador)
Para facilitar y agilizar su labor a los programadores, se buscaron nuevos
lenguajes. Cuando abstraemos los opcodes y los sustituimos por una palabra
que sea una clave de su significado, se tiene el concepto de Lenguaje
Ensamblador. Así, el lenguaje ensamblador representa las acciones del
ordenador mediante pequeñas abreviaturas de palabras en inglés. Podemos
entonces definir al Lenguaje Ensamblador de la siguiente forma:
Lenguaje Ensamblador consiste en asociar a los opcodes palabras clave que
faciliten su uso por parte del programador
No obstante, el lenguaje ensamblador requiere de muchas instrucciones para
realizar simples operaciones.
Lenguajes de alto nivel
Para acelerar aun más el proceso de programación se desarrollaron los
lenguajes de alto nivel, en los que se puede escribir un sólo enunciado para
realizar tareas sustanciales. Los lenguajes de alto nivel permiten a los
programadores escribir instrucciones que asemejan al inglés cotidiano y
contiene notaciones matemáticas de uso común. El concepto de lenguaje de
alto nivel nació con el lenguaje FORTRAN (FORmula TRANslation) que, como su
nombre indica, surgió como un intento de traducir fórmulas matemáticas al
lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de
FORTRAN, se han desarrollado innumerables lenguajes que siguen el mismo
concepto: buscar la mayor abstracción posible y facilitar la vida al programador,
aumentando la productividad. Entre estos lenguajes de alto nivel se encuentra
el lenguaje C++ que servirá de base para el desarrollo del curso.
Programación Instituto Tecnológico de Celaya
Ingeniería Química
EEJJEEMMPPLLOO DDEE TTIIPPOOSS DDEE LLEENNGGUUAAJJEESS
Lenguaje Máquina
100001010101010
100100101010100
100011100101110
Lenguaje de Nivel Bajo (Ensamblador)
LOAD R1, (B)
LOAD R2, (C)
ADD R1, R2
STORE (A), R1
Lenguajes de Alto Nivel
A = B + C;
Programación Instituto Tecnológico de Celaya
Ingeniería Química
HHIISSTTOORRIIAA DDEE LLOOSS LLEENNGGUUAAJJEESS DDEE PPRROOGGRRAAMMAACCIIÓÓNN
Se presentan a continuación datos relevantes de algunos de los lenguajes de
programación de mayor importancia histórica.
FORTRAN
FORTRAN es el más viejo de los lenguajes de alto nivel. Fue diseñado por IBM
en 1950. El idioma se hizo tan popular en los 60´s que otros desarrolladores
empezaron a producir sus propias versiones y esto llevó a una gran cantidad de
dialectos (en 1963 había 40 compiladores de FORTRAN diferentes). En 1972 se
creó FORTRAN66, como una forma de estandarizar la estructura del lenguaje.
Luego, en 1980, se estableció una norma oficial para el lenguaje avalada por la
Organización de Normas Internacionales (ISO). Tal versión es normalmente
conocida como FORTRAN 77 (dado que el proyecto final se completó en 1977).
En 1991 surge FORTRAN90, un desarrollo mayor del idioma pero que incluye
todos los elementos de FORTRAN77 para facilitar la compatibilidad. Finalmente,
en 1997, surge FORTRAN95 o High Performance Fortran (HPF).
BASIC
BASIC es la abreviación de Beginners All-purpose Symbolic Instruction Code.
Basic fue desarrollado en la Universidad de Dartmouth en 1964 bajo la dirección
de J. Kemeny y T. Kurtz. Surgió como un idioma simple de aprender y fácil de
traducir. En los 70´s, cuando se creó la computadora personal Altair, Bill Gates
y Paul Allen implementaron su propia versión de Basic en dicha computadora.
Con ello comenzó el futuro de BASIC y de la PC. En ese tiempo, Gates era
estudiante de Harvard y Allen era un empleado de Honeywell. La versión BASIC
de Gates ocupaba un total de 4KB de memoria incluyendo el código y los datos
que se usaron para el código fuente. Luego Gates implementó BASIC en otras
plataformas (Apple, Comodor y Atari) y fue a partir de entonces que la
corporación de Microsoft empezó su reinado en el mundo de las PC. Más tarde
en los 70’s, surgió el sistema operativo MS-DOS de Bill Gates que incluía un
intérprete de BASIC. La versión distribuida con MS-DOS era GW-BASIC y podía
ser ejecutada en cualquier máquina que pudiera ejecutar DOS.
Programación Instituto Tecnológico de Celaya
Ingeniería Química
C
El lenguaje C reúne características de programación tanto de los lenguajes
ensambladores como de los lenguajes de alto nivel; este lenguaje posee gran
poderío basado en sus operaciones a nivel de bits (propias de ensambladores)
y la mayoría de los elementos de la programación estructurada de los lenguajes
de alto nivel. Por ello es que C ha sido el lenguaje preferido para el desarrollo
de software de sistemas y aplicaciones profesionales de la programación de
computadoras.
En 1970 Ken Thompson de los laboratorios Bell creó la primera versión del
lenguaje, la cual podía ejecutarse en el sistema operativo UNIX; a este lenguaje
se le llamó lenguaje B y tenía la desventaja de ser lento. En 1971 Dennis
Ritchie, con base en el lenguaje B, desarrolló NB que luego cambió su nombre
por C. Su diseño incluyó una sintaxis simplificada, la aritmética de direcciones
de memoria (permite al programador manipular bits, bytes y direcciones de
memoria) y el concepto de apuntador. Además, al ser diseñado para mejorar
software de sistemas, se buscó que generase códigos eficientes y uno
portabilidad total, es decir el que pudiese correr en cualquier máquina.
Logrados los objetivos anteriores, C se convirtió en el lenguaje preferido de los
programadores profesionales.
C++
En 1980 Bjarne Stroustrup, también de los laboratorios Bell, adicionó al
lenguaje C las características de la programación orientada a objetos
(incluyendo la ventaja de una biblioteca de funciones orientada a objetos) y lo
denominó C con clases. Para 1983 dicha denominación cambió a la de C++.

Más contenido relacionado

La actualidad más candente

LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN Esteban Torres
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionAriel Medina
 
Lenguajes de progrmacion
Lenguajes de progrmacionLenguajes de progrmacion
Lenguajes de progrmacionXangetsu
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionEdagaJunior
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacionKarol
 
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...Sarai Rodriguez
 
Diapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysDiapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysgladys
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónmarco
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacionbretorio
 
Historia e evoluvion de los lenguaje de programcion
Historia e evoluvion de los lenguaje de programcionHistoria e evoluvion de los lenguaje de programcion
Historia e evoluvion de los lenguaje de programcionJuanMiguelCustodioMo
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionElder Giron
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
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ónKatherine Gonzales
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores947369
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Ernes 28
 

La actualidad más candente (19)

LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
 
1er Trabajo
1er Trabajo1er Trabajo
1er Trabajo
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
Lenguajes de progrmacion
Lenguajes de progrmacionLenguajes de progrmacion
Lenguajes de progrmacion
 
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
 
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maqu...
 
Diapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysDiapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladys
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
introducción a lenguajes de programacion
introducción a lenguajes de programacionintroducción a lenguajes de programacion
introducción a lenguajes de programacion
 
Historia de la programación
Historia de la programaciónHistoria de la programación
Historia de la programación
 
Lenguaje maquina
Lenguaje maquinaLenguaje maquina
Lenguaje maquina
 
Historia e evoluvion de los lenguaje de programcion
Historia e evoluvion de los lenguaje de programcionHistoria e evoluvion de los lenguaje de programcion
Historia e evoluvion de los lenguaje de programcion
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
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
 
Programación de computadores
Programación de computadoresProgramación de computadores
Programación de computadores
 
Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1Tipos de lenguaje de programacion part 1
Tipos de lenguaje de programacion part 1
 

Destacado

Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)
Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)
Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)Mohamed Nazul Ismail
 
Estructura de hidrocarburos
Estructura de hidrocarburosEstructura de hidrocarburos
Estructura de hidrocarburosEmilioGS
 
Epic research daily agri report 2nd may 2016
Epic research daily agri report 2nd may 2016Epic research daily agri report 2nd may 2016
Epic research daily agri report 2nd may 2016Epic Research
 
шмо англійська мова
шмо англійська мовашмо англійська мова
шмо англійська моваKate Mamenko
 
[React Native Tutorial] Lecture 3: More on ES6/ES2015
[React Native Tutorial] Lecture 3: More on ES6/ES2015[React Native Tutorial] Lecture 3: More on ES6/ES2015
[React Native Tutorial] Lecture 3: More on ES6/ES2015Kobkrit Viriyayudhakorn
 
Kerangka konsep penjana kejayaan penyelidikan
Kerangka konsep penjana kejayaan penyelidikanKerangka konsep penjana kejayaan penyelidikan
Kerangka konsep penjana kejayaan penyelidikanMohamed Nazul Ismail
 
Kepimpinan Transformasi
Kepimpinan TransformasiKepimpinan Transformasi
Kepimpinan Transformasiguestd95e21
 
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasi
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasiKepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasi
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasiMuhamad Bustaman Abdul Manaf
 

Destacado (9)

Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)
Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)
Perhimpunan Tahun Baru 2016 bersama Pensyarah dan Staf)
 
Teemana Eteläinen Afrikka
Teemana Eteläinen AfrikkaTeemana Eteläinen Afrikka
Teemana Eteläinen Afrikka
 
Estructura de hidrocarburos
Estructura de hidrocarburosEstructura de hidrocarburos
Estructura de hidrocarburos
 
Epic research daily agri report 2nd may 2016
Epic research daily agri report 2nd may 2016Epic research daily agri report 2nd may 2016
Epic research daily agri report 2nd may 2016
 
шмо англійська мова
шмо англійська мовашмо англійська мова
шмо англійська мова
 
[React Native Tutorial] Lecture 3: More on ES6/ES2015
[React Native Tutorial] Lecture 3: More on ES6/ES2015[React Native Tutorial] Lecture 3: More on ES6/ES2015
[React Native Tutorial] Lecture 3: More on ES6/ES2015
 
Kerangka konsep penjana kejayaan penyelidikan
Kerangka konsep penjana kejayaan penyelidikanKerangka konsep penjana kejayaan penyelidikan
Kerangka konsep penjana kejayaan penyelidikan
 
Kepimpinan Transformasi
Kepimpinan TransformasiKepimpinan Transformasi
Kepimpinan Transformasi
 
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasi
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasiKepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasi
Kepimpinan strategik: Pendekatan untuk terjemah dasar dan hala tuju ke operasi
 

Similar a Lenguajes

Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionGladysmg Lema
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la ProgramaciónAlessandro Viera
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionMary Guaman
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Jonatan Rivera
 
Lenguajes de alto_nivel
Lenguajes de alto_nivelLenguajes de alto_nivel
Lenguajes de alto_nivelANALI GOMEZ
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT jose chavez
 
Clasificasion de los lenguajes
Clasificasion de los lenguajesClasificasion de los lenguajes
Clasificasion de los lenguajesagustinbilmer
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionandrearincon56
 
Organizacion de sistemas
Organizacion de sistemasOrganizacion de sistemas
Organizacion de sistemaskarinaportilla
 
Lenguaje de programacióndiapost1.
Lenguaje de programacióndiapost1.Lenguaje de programacióndiapost1.
Lenguaje de programacióndiapost1.Dominga Quispe Diaz
 
lenguaje de programacion
lenguaje de programacionlenguaje de programacion
lenguaje de programacionpefrayo5
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programaciónpefrayo5
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Vladimir Pomares
 
Lenguaje de programacion .doc
Lenguaje de programacion .docLenguaje de programacion .doc
Lenguaje de programacion .docarmandolarosa2
 

Similar a Lenguajes (20)

Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Tipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacionTipos y lasificacion de lenguajes de programacion
Tipos y lasificacion de lenguajes de programacion
 
Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205Ad1 rivera corpus jonathan 205
Ad1 rivera corpus jonathan 205
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Lenguajes de alto_nivel
Lenguajes de alto_nivelLenguajes de alto_nivel
Lenguajes de alto_nivel
 
Lenguaje de programacion UFT
Lenguaje de programacion UFT Lenguaje de programacion UFT
Lenguaje de programacion UFT
 
Clasificasion de los lenguajes
Clasificasion de los lenguajesClasificasion de los lenguajes
Clasificasion de los lenguajes
 
Deber
DeberDeber
Deber
 
Tipos de lenguaje
Tipos de lenguajeTipos de lenguaje
Tipos de lenguaje
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Organizacion de sistemas
Organizacion de sistemasOrganizacion de sistemas
Organizacion de sistemas
 
Lenguaje de programacióndiapost1.
Lenguaje de programacióndiapost1.Lenguaje de programacióndiapost1.
Lenguaje de programacióndiapost1.
 
lenguaje de programacion
lenguaje de programacionlenguaje de programacion
lenguaje de programacion
 
tipos de lenguaje de programación
tipos de lenguaje de programacióntipos de lenguaje de programación
tipos de lenguaje de programación
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 
Lenguaje de programacion .doc
Lenguaje de programacion .docLenguaje de programacion .doc
Lenguaje de programacion .doc
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 

Más de Ashley Stronghold Witwicky

Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Ashley Stronghold Witwicky
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasAshley Stronghold Witwicky
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesAshley Stronghold Witwicky
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncionalAshley Stronghold Witwicky
 

Más de Ashley Stronghold Witwicky (20)

Clase 0.3 normalizacion. sql server aplicado
Clase 0.3   normalizacion. sql server aplicadoClase 0.3   normalizacion. sql server aplicado
Clase 0.3 normalizacion. sql server aplicado
 
Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)Carpeta de investidura para guias mayores (venezuela)
Carpeta de investidura para guias mayores (venezuela)
 
Sanson mata un leon con sus manos
Sanson mata un leon con sus manosSanson mata un leon con sus manos
Sanson mata un leon con sus manos
 
Consecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogasConsecuencias personales y sociales del uso de drogas
Consecuencias personales y sociales del uso de drogas
 
Constancia de servicio
Constancia de servicioConstancia de servicio
Constancia de servicio
 
Requisitos para Guia Mayor
Requisitos para Guia MayorRequisitos para Guia Mayor
Requisitos para Guia Mayor
 
Instructivo de llenado carta poder
Instructivo de llenado carta poderInstructivo de llenado carta poder
Instructivo de llenado carta poder
 
Constancia experiencia profesional
Constancia experiencia profesionalConstancia experiencia profesional
Constancia experiencia profesional
 
Ideales ja
Ideales jaIdeales ja
Ideales ja
 
Mysql
MysqlMysql
Mysql
 
Especialidad de insectos desarrollada
Especialidad de insectos desarrolladaEspecialidad de insectos desarrollada
Especialidad de insectos desarrollada
 
Manual basico autocad_2012
Manual basico autocad_2012Manual basico autocad_2012
Manual basico autocad_2012
 
Derivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantesDerivadas e integrales apunte para principiantes
Derivadas e integrales apunte para principiantes
 
Ecuaciones primer grado con una incognita
Ecuaciones primer grado con una incognitaEcuaciones primer grado con una incognita
Ecuaciones primer grado con una incognita
 
Conversion de unidades
Conversion de unidadesConversion de unidades
Conversion de unidades
 
Curso de my sql
Curso de my sqlCurso de my sql
Curso de my sql
 
Manual de microsoft publisher 2007
Manual de microsoft publisher 2007Manual de microsoft publisher 2007
Manual de microsoft publisher 2007
 
Unidad v paradigma funcional de programacion fiuncional
Unidad v   paradigma funcional de programacion fiuncionalUnidad v   paradigma funcional de programacion fiuncional
Unidad v paradigma funcional de programacion fiuncional
 
Biblia de publisher 2007
Biblia de publisher 2007Biblia de publisher 2007
Biblia de publisher 2007
 
Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007Ejercicios en microsoft publisher 2007
Ejercicios en microsoft publisher 2007
 

Último

UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.HaroldKewinCanaza1
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfjoseabachesoto
 
Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdfIvanIsraelPiaColina
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariamesiassalazarpresent
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalJOSHUASILVA36
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPTLuisLobatoingaruca
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadKevinCabrera96
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporalema3825
 
Instalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasoInstalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasosanjinesfreddygonzal
 
El abecedario constituye el conjunto de grafías que son utilizadas para repre...
El abecedario constituye el conjunto de grafías que son utilizadas para repre...El abecedario constituye el conjunto de grafías que son utilizadas para repre...
El abecedario constituye el conjunto de grafías que son utilizadas para repre...MarjorieDeLeon12
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionctrlc3
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdfDavidHunucoAlbornoz
 
Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdffrankysteven
 
habilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdfhabilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdfJosemanuelMayradamia
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.thatycameron2004
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )FELIXGUMERCINDOFLORE
 
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASGUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASClaudiaRamirez765933
 

Último (20)

UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de DeustoDeusto Ingeniería 24 (Año 2023) - Universidad de Deusto
Deusto Ingeniería 24 (Año 2023) - Universidad de Deusto
 
Tasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las CondesTasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las Condes
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continental
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
Mecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vaporMecanismos de transferencia de un generador de vapor
Mecanismos de transferencia de un generador de vapor
 
Instalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a pasoInstalación de GLPI en Debian Linux paso a paso
Instalación de GLPI en Debian Linux paso a paso
 
El abecedario constituye el conjunto de grafías que son utilizadas para repre...
El abecedario constituye el conjunto de grafías que son utilizadas para repre...El abecedario constituye el conjunto de grafías que son utilizadas para repre...
El abecedario constituye el conjunto de grafías que son utilizadas para repre...
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacion
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdf
 
habilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdfhabilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdf
 
DESVIACION
DESVIACION DESVIACION
DESVIACION
 
Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.Flujograma de gestión de pedidos de usuarios.
Flujograma de gestión de pedidos de usuarios.
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
 
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTASGUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
GUIA DE SEGURIDAD PARA MAQUINAS Y HERRAMIENTAS
 

Lenguajes

  • 1. Programación Instituto Tecnológico de Celaya Ingeniería Química LLEENNGGUUAAJJEESS Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de “palabras”, sino también de su pronunciación y los métodos para combinar las palabras en frases y oraciones; los lenguajes se forman mediante combinaciones de palabras definidas en un diccionario terminológico previamente establecido. Las combinaciones posibles deben respetar un conjunto de reglas sintácticas establecidas, a ello se le conoce con el nombre de Sintaxis. Además, las palabras deben tener determinado sentido, deben ser comprendidas por un grupo humano en un contexto dado, a ello se le denomina Semántica. TTIIPPOOSS DDEE LLEENNGGUUAAJJEESS Aunque existen muchas clasificaciones, en general se puede distinguir entre dos clases de lenguajes: los lenguajes naturales (ingles, alemán, español, etc.) y los lenguajes artificiales o formales (matemático, lógico, computacional, etc.). Tanto el lenguaje natural como el lenguaje artificial son humanos. El primero es natural porque se aprende (o adquiere) inconsciente e involuntariamente. Ningún bebé decide aprender o no la lengua que hablan sus padres, y ningún padre sienta a su hijo y le enseña las reglas sintácticas de su lengua. Las personas hablan y se entienden, pero generalmente no se cuestionan las reglas que utilizan al hablar. Por otra parte, los lenguajes artificiales sí se aprenden de manera voluntaria y conscientemente. Un ejemplo de lenguaje artificial son los lenguajes de programación utilizados para desarrollar programas informáticos.
  • 2. Programación Instituto Tecnológico de Celaya Ingeniería Química LLOOSS LLEENNGGUUAAJJEESS DDEE PPRROOGGRRAAMMAACCIIÓÓNN Un Lenguaje de Programación es un conjunto de reglas, notaciones, símbolos y/o caracteres que permiten a un programador poder expresar el procesamiento de datos y sus estructuras en la computadora. Cada lenguaje posee sus propias sintaxis. También se puede decir que un programa es un conjunto de órdenes o instrucciones que resuelven un problema específico basado en un Lenguaje de Programación. Existen varias clasificaciones para los lenguajes de programación. Clasificación de los Lenguajes de Programación Los programadores escriben instrucciones en diversos lenguajes de programación. La computadora puede entender directamente algunos de ellos, pero otros requieren pasos de traducción intermedios. Hoy día se utilizan cientos de lenguajes de computadora. Los Lenguajes de Programación pueden clasificarse de acuerdo con su uso en: 1. Lenguajes desarrollados para el cálculo numérico. Tales como FORTRAN, Mathematica y Matlab. 2. Lenguajes para sistemas. Como C, C++ y ensamblador. 3. Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog, y Lisp. También se pueden clasificar de acuerdo con el tipo de instrucciones de que constan. En esta clasificación se tiene al lenguaje máquina, al lenguaje ensamblador y al lenguaje de alto nivel. Se presenta a continuación una descripción de cada uno de ellos.
  • 3. Programación Instituto Tecnológico de Celaya Ingeniería Química Lenguaje máquina (Binario) Una computadora sólo puede entender el lenguaje máquina. El lenguaje de máquina ordena a la computadora realizar sus operaciones fundamentales una por una. Dicho lenguaje es difícil de usar para lar persona porque trabajar con números no es muy cómodo además de que estos números están en formato binario. ¿Cómo es que se representan las operaciones como números? John Von Neumann desarrolló el modelo que lleva su nombre para esta representación. Ya se estudió que representar números usando el sistema binario no es complicado, pero se tenía luego el problema de representar las acciones (o instrucciones) que iba a realizar la computadora también en el sistema binario; pues la memoria, al estar compuesta por bits, solamente permite almacenar números binarios. La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar la computadora, se le asocia un número, que corresponde a su código de operación (opcode). Por ejemplo, una calculadora programable simple podría asignar los siguientes opcodes : 1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE Supóngase entonces que se quiere realizar la operación 5 * 3 + 2, en la calculadora descrita arriba. En la memoria de la calculadora se podría representar el programa de la siguiente forma: Posición Opcode Significado Comentario 0 5 5 Primer número de la fórmula 1 3 * 3 es el opcode que representa la multiplicación. 2 3 3 Segundo número de la fórmula 3 1 + 1 es el opcode para la suma. 4 2 2 Último número de la fórmula
  • 4. Programación Instituto Tecnológico de Celaya Ingeniería Química y en código binario: 5 3 3 1 2 101 011 011 001 010 Podemos ver que, con esta representación, es simple expresar las operaciones de las que es capaz de realizar el hardware en la memoria. La descripción y uso de los opcodes es lo que se llama lenguaje de máquina. El lenguaje máquina es el lenguaje más primitivo y depende directamente del hardware. Lenguajes de bajo nivel (ensamblador) Para facilitar y agilizar su labor a los programadores, se buscaron nuevos lenguajes. Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, se tiene el concepto de Lenguaje Ensamblador. Así, el lenguaje ensamblador representa las acciones del ordenador mediante pequeñas abreviaturas de palabras en inglés. Podemos entonces definir al Lenguaje Ensamblador de la siguiente forma: Lenguaje Ensamblador consiste en asociar a los opcodes palabras clave que faciliten su uso por parte del programador No obstante, el lenguaje ensamblador requiere de muchas instrucciones para realizar simples operaciones. Lenguajes de alto nivel Para acelerar aun más el proceso de programación se desarrollaron los lenguajes de alto nivel, en los que se puede escribir un sólo enunciado para realizar tareas sustanciales. Los lenguajes de alto nivel permiten a los programadores escribir instrucciones que asemejan al inglés cotidiano y contiene notaciones matemáticas de uso común. El concepto de lenguaje de alto nivel nació con el lenguaje FORTRAN (FORmula TRANslation) que, como su nombre indica, surgió como un intento de traducir fórmulas matemáticas al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes que siguen el mismo concepto: buscar la mayor abstracción posible y facilitar la vida al programador, aumentando la productividad. Entre estos lenguajes de alto nivel se encuentra el lenguaje C++ que servirá de base para el desarrollo del curso.
  • 5. Programación Instituto Tecnológico de Celaya Ingeniería Química EEJJEEMMPPLLOO DDEE TTIIPPOOSS DDEE LLEENNGGUUAAJJEESS Lenguaje Máquina 100001010101010 100100101010100 100011100101110 Lenguaje de Nivel Bajo (Ensamblador) LOAD R1, (B) LOAD R2, (C) ADD R1, R2 STORE (A), R1 Lenguajes de Alto Nivel A = B + C;
  • 6. Programación Instituto Tecnológico de Celaya Ingeniería Química HHIISSTTOORRIIAA DDEE LLOOSS LLEENNGGUUAAJJEESS DDEE PPRROOGGRRAAMMAACCIIÓÓNN Se presentan a continuación datos relevantes de algunos de los lenguajes de programación de mayor importancia histórica. FORTRAN FORTRAN es el más viejo de los lenguajes de alto nivel. Fue diseñado por IBM en 1950. El idioma se hizo tan popular en los 60´s que otros desarrolladores empezaron a producir sus propias versiones y esto llevó a una gran cantidad de dialectos (en 1963 había 40 compiladores de FORTRAN diferentes). En 1972 se creó FORTRAN66, como una forma de estandarizar la estructura del lenguaje. Luego, en 1980, se estableció una norma oficial para el lenguaje avalada por la Organización de Normas Internacionales (ISO). Tal versión es normalmente conocida como FORTRAN 77 (dado que el proyecto final se completó en 1977). En 1991 surge FORTRAN90, un desarrollo mayor del idioma pero que incluye todos los elementos de FORTRAN77 para facilitar la compatibilidad. Finalmente, en 1997, surge FORTRAN95 o High Performance Fortran (HPF). BASIC BASIC es la abreviación de Beginners All-purpose Symbolic Instruction Code. Basic fue desarrollado en la Universidad de Dartmouth en 1964 bajo la dirección de J. Kemeny y T. Kurtz. Surgió como un idioma simple de aprender y fácil de traducir. En los 70´s, cuando se creó la computadora personal Altair, Bill Gates y Paul Allen implementaron su propia versión de Basic en dicha computadora. Con ello comenzó el futuro de BASIC y de la PC. En ese tiempo, Gates era estudiante de Harvard y Allen era un empleado de Honeywell. La versión BASIC de Gates ocupaba un total de 4KB de memoria incluyendo el código y los datos que se usaron para el código fuente. Luego Gates implementó BASIC en otras plataformas (Apple, Comodor y Atari) y fue a partir de entonces que la corporación de Microsoft empezó su reinado en el mundo de las PC. Más tarde en los 70’s, surgió el sistema operativo MS-DOS de Bill Gates que incluía un intérprete de BASIC. La versión distribuida con MS-DOS era GW-BASIC y podía ser ejecutada en cualquier máquina que pudiera ejecutar DOS.
  • 7. Programación Instituto Tecnológico de Celaya Ingeniería Química C El lenguaje C reúne características de programación tanto de los lenguajes ensambladores como de los lenguajes de alto nivel; este lenguaje posee gran poderío basado en sus operaciones a nivel de bits (propias de ensambladores) y la mayoría de los elementos de la programación estructurada de los lenguajes de alto nivel. Por ello es que C ha sido el lenguaje preferido para el desarrollo de software de sistemas y aplicaciones profesionales de la programación de computadoras. En 1970 Ken Thompson de los laboratorios Bell creó la primera versión del lenguaje, la cual podía ejecutarse en el sistema operativo UNIX; a este lenguaje se le llamó lenguaje B y tenía la desventaja de ser lento. En 1971 Dennis Ritchie, con base en el lenguaje B, desarrolló NB que luego cambió su nombre por C. Su diseño incluyó una sintaxis simplificada, la aritmética de direcciones de memoria (permite al programador manipular bits, bytes y direcciones de memoria) y el concepto de apuntador. Además, al ser diseñado para mejorar software de sistemas, se buscó que generase códigos eficientes y uno portabilidad total, es decir el que pudiese correr en cualquier máquina. Logrados los objetivos anteriores, C se convirtió en el lenguaje preferido de los programadores profesionales. C++ En 1980 Bjarne Stroustrup, también de los laboratorios Bell, adicionó al lenguaje C las características de la programación orientada a objetos (incluyendo la ventaja de una biblioteca de funciones orientada a objetos) y lo denominó C con clases. Para 1983 dicha denominación cambió a la de C++.