SlideShare una empresa de Scribd logo
1 de 6
INFORME: LENGUAJES DE PROGRAMACIÓN
AUTOR(A):
Patricia Mendoza V-26.064.486
Caracas, 21 septiembre 2017.
UNIVERSIDAD ALEJANDRO DE HUMBOLDT.
LOS DOS CAMINOS.
ING. INFORMÁTICA.
SEMESTRE: 2017-2017 III.
ASIGNATURA: LENGUAJE DE PROGRAMACIÓN I.
PROFESOR: MIGUEL MENA.
SECCIÓN: DCM0402.
PROGRAMACIÓN
El término programación se define como un conjunto de instrucciones consecutivas y
ordenadas que llevan a ejecutar una tarea específica. Dichas instrucciones se
denominan “código fuente”, el cual es único para cada lenguaje y está diseñado para
cumplir una función o propósito específico. Usan diferentes normas o bases para
controlar el comportamiento de un dispositivo y también pueden ser usados para crear
programas informáticos. En este proceso básicamente se escribe, se prueba, se
depura, se compila (de ser necesario) y se mantiene el código fuente de un programa
informático. Los pasos que usualmente se deben aplicar al momento de programar son:
 El desarrollo lógico del programa para resolver un problema en particular.
 Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
 Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
 Prueba y depuración del programa.
 Desarrollo de la documentación.
LENGUAJES DE PROGRAMACIÓN
Un lenguaje de programación es esencialmente un sistema estructurado de
comunicación, similar al humano, el cual nos permite comunicarnos por medio de
signos, ya sean palabras, sonidos o gestos. Puede 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.
1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritméticos
lógicos son posiciones literales de conmutadores físicos del hardware en su
representación booleana. Estos lenguajes son literales de tareas.
2. Lenguajes ensambladores - También denominados nemotécnicos o nemónicos, no
son ya programas ejecutables directamente por el ordenador, sino textos de código
fuente que necesitan de alguna herramienta para su conversión a lenguaje máquina,
son los programas llamados ensambladores. Sus instrucciones suelen ser una
denominación abreviada de la instrucción máquina que simbolizan, y tienen una
correspondencia casi directa a las instrucciones máquina que representan. El código
resultante de la ejecución del programa ensamblador generaría un código binario
ejecutable.
Son instrucciones que ensamblan los grupos de conmutadores necesarios para
expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por
norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes
están orientados a procesos. Los procesos se componen de tareas. Contienen tantas
instrucciones como la arquitectura del hardware así haya sido diseñada. Por ejemplo:
La arquitectura CISC contiene muchas más instrucciones a este nivel, que la RISC.
3. Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de
instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético,
pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están
orientados a procedimientos. Los procedimientos se componen de procesos. Ejemplos:
C, Basic.
4. Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al
programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional
entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su
posterior compilación. Estos lenguajes están orientados a objetos. Los objetos se
componen de propiedades cuya naturaleza emerge de procedimientos. Ejemplos: C++,
Fortran, Cobol, Lisp.
E.A. Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad
conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la
literalidad a la hora de invocar conceptos lógicos. Se basan en librerías creadas en
lenguajes de alto nivel. Pueden permitir la creación de nuevas librerías, pero son
propietarias y dependientes de las suministradas por la aplicación. Estos lenguajes
están orientados a eventos. Los eventos acontecen cuando las propiedades de un
objeto interactúan con otro.
Ejemplos: Visual Basic para aplicaciones.
E.B. Lenguajes de redes - Son aquellos que se basan en un convenio de instrucciones
totalmente independientes de la máquina, y completamente dependientes de la red a la
que están orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente-
Servidor (Java, PHP) y de script (javascript).
LENGUAJE C vs. C++
• C es un lenguaje creado por Dennis Ritchie a principios de la década de 1970 y
basado en el paradigma de programación estructurada. Pretende ser un lenguaje de
propósito general que dé al programador control total sobre sus programas,
permitiendo la programación de bajo nivel (es decir, permitiendo controlar directamente
cosas como el acceso a memoria y otros recursos), pero a la vez proporcionando
estructuras de alto nivel que hagan la programación de sistemas grandes más fácil. Su
primer uso fue la escritura del sistema operativo Unix (del que deriva Linux), lo que da
idea de la potencia de C en la programación de bajo nivel. Tras la publicación en 1978
de The C Programming Language (conocido como K&R por las iniciales de sus
autores, Brian Kernigham y Dennis Ritchie) alcanzó gran popularidad y pronto se
convirtió en el lenguaje de referencia para la comunidad informática.
El lenguaje estructurado es una herramienta que puede utilizarse en la especificación
de procesos, en el desarrollo de sistemas.
• C++ fue creado por Bjarne Stroustrup durante la primera mitad de los años 1980
con el fin de dotar C de mecanismos que permitieran usar el paradigma de
programación orientada a objetos. C++ evolucionó a partir del C, por lo tanto, C es un
"subconjunto" de C++. Eso quiere decir que C está incluido en C++, en general, casi
cualquier programa escrito en C podrá compilarse con un compilador de C++, y
funcionará.
La principal diferencia es que C++ está orientado a objetos, es decir tiene clases.
Los creadores de C++ crearon las clases basándose en una característica que ya tenía
C: las estructuras. Estas se han mejorado y admiten funciones además de datos como
miembros. Para mantener cierta coherencia con C, y mantener el concepto de
estructura en su idea original, se creó un nuevo concepto class.
Pero las diferencias no terminan ahí. Muchas de las mejoras introducidas para
implementar las clases se pueden usar fuera de ellas, como la sobrecarga de
funciones, y operadores, y los parámetros con valores por defecto.
También hay nuevos operadores, entre los que destacan new y delete, que mejoran
sensiblemente el tratamiento de la memoria dinámica.
Otra capacidad introducida son las referencias, normalmente usadas en los parámetros
de las funciones. En sentido estricto, no aportan nueva funcionalidad a los programas,
ya que se pueden simular mediante punteros, pero sí aportan legibilidad y claridad.
En C++ es obligatorio usar prototipos de las funciones, en C no es necesario. Esta
diferencia sí puede ser importante a la hora de migrar código de C a C++. La mayoría
de los problemas que encuentras los programadores de C cuando usan compiladores
de C++, surgen de ésta característica.
C++ introduce el nuevo formato de comentarios que comienzan con // y terminan al
terminar la línea.
También se han introducido varias mejoras en la conversión de tipos (casting). C++
incorpora nuevos conceptos de casting, por otra parte necesarios, debido sobre todo a
la nueva problemática de la programación orientada a objetos: herencia y polimorfismo.
En C++ no es obligatorio especificar void en la lista de argumentos de una función que
no los usa, en C es sí lo es.
Para que C++ pueda usar funciones definidas para C en bibliotecas "run-time", es
necesario declararlas como extern "C".
C++ admite la declaración de variables locales dentro de sentencias como for, while,
etc. Esto no está permitido en C. Por ejemplo: for(int i = 0; i < 10; i++);
Aunque typedef aún se admite en C++, y se sigue usando, ya no es necesario su uso
con estructuras y uniones, en C++ no es obligatorio especificar las struct o union en la
declaración de variables.
LENGUAJE ESTRUCTURADO
El lenguaje estructurado es un lenguaje natural limitado en palabras y construcciones,
lo que le da más más precisión y claridad, evitando ambigüedades (el lenguaje natural
humano carece de precisión y es muy ambiguo).
El lenguaje estructurado puede utilizarse para especificar un algoritmo. Luego, para
que la computadora pueda procesarlo, deberá transformarse o “traducirse” a un
lenguaje de programación específico.
LENGUAJE ORIENTADO A OBJETOS
Se le llama así a cualquier lenguaje de programación que implemente los conceptos
definidos por la programación orientada a objetos.
Cabe notar que los conceptos definidos en la programación orientada a objetos no son
una condición sino que son para definir que un lenguaje es orientado a objetos. Existen
conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar
su definición como lenguaje orientado a objetos.
Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza
mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos.
Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de
operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría
ser considerado orientado a objetos.
Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son
considerados dentro de la programación orientada a objetos, pero que podrían serlo.
Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X
utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas
usualmente en lenguaje C, pero organizando el código en una manera que "parecen
objetos" (los Widgets).

Más contenido relacionado

La actualidad más candente

Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)Fidel_Angel
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cAle2417
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidadIzabeliita
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c# Robert Rodriguez
 
Lenguajes de Programación
Lenguajes de Programación Lenguajes de Programación
Lenguajes de Programación lobi7o
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclosernest1960
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónfarmero
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionSergio Maidana
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Luiscarrodeguas
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnJana EstRada JacoBo
 

La actualidad más candente (16)

Eli rodas
Eli rodasEli rodas
Eli rodas
 
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
Trabajo programación (caracteristicas, versiones y desarrolladores de c#)
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Expocision de especialidad
Expocision de especialidadExpocision de especialidad
Expocision de especialidad
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c#
 
Lenguajes de Programación
Lenguajes de Programación Lenguajes de Programación
Lenguajes de Programación
 
C ++ Estatutos ciclos
C ++ Estatutos ciclosC ++ Estatutos ciclos
C ++ Estatutos ciclos
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Evolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacionEvolucion historica del lenguaje de programacion
Evolucion historica del lenguaje de programacion
 
Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180Lenguaje c.Luis Carrodeguas.16418180
Lenguaje c.Luis Carrodeguas.16418180
 
Software pao
Software paoSoftware pao
Software pao
 
Maryan toledo
Maryan toledoMaryan toledo
Maryan toledo
 
Lenguaje C sharp
Lenguaje C sharpLenguaje C sharp
Lenguaje C sharp
 
Int a la computacion
Int a la computacionInt a la computacion
Int a la computacion
 
Evoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýnEvoluciýýn de la programaciýýn
Evoluciýýn de la programaciýýn
 

Similar a Informe lpi

Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte Yelixa Araque Angulo
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte Yelixa Araque Angulo
 
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 ESTRUCTURADOadark
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióNAlfonso
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONKathGon1
 
Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Leslie Diaz
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-claseBeatriz Moreyra
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 

Similar a Informe lpi (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
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
 
Informe.
Informe.Informe.
Informe.
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Unidad-1.pptx.pdf
Unidad-1.pptx.pdfUnidad-1.pptx.pdf
Unidad-1.pptx.pdf
 
Intro ProgramacióN
Intro ProgramacióNIntro ProgramacióN
Intro ProgramacióN
 
Software
SoftwareSoftware
Software
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)Unidad3 130504163038-phpapp02 (1)
Unidad3 130504163038-phpapp02 (1)
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
ACTIVIDAD DE INVESTIGACION
ACTIVIDAD DE INVESTIGACIONACTIVIDAD DE INVESTIGACION
ACTIVIDAD DE INVESTIGACION
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 

Último

Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoCENECOnline
 
Presentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la WebPresentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la Webfernandalunag19
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadJonathanHctorSilvaRo
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...CENECOnline
 
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdfAntenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdfperezreyesalberto10
 
tabla-bacterias-1-0-179241-downloadable-3772106.pdf
tabla-bacterias-1-0-179241-downloadable-3772106.pdftabla-bacterias-1-0-179241-downloadable-3772106.pdf
tabla-bacterias-1-0-179241-downloadable-3772106.pdfssuser58a6321
 
Mapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxMapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxjose880240
 
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...danielpoza1
 

Último (8)

Emprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC MexicoEmprende en SPA Segundo día CENEC Mexico
Emprende en SPA Segundo día CENEC Mexico
 
Presentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la WebPresentacion Seguridad y Privacidad en la Web
Presentacion Seguridad y Privacidad en la Web
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdfAntenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
Antenas, tipos de antenas, diseño basico de una antena y parámetros.pdf
 
tabla-bacterias-1-0-179241-downloadable-3772106.pdf
tabla-bacterias-1-0-179241-downloadable-3772106.pdftabla-bacterias-1-0-179241-downloadable-3772106.pdf
tabla-bacterias-1-0-179241-downloadable-3772106.pdf
 
Mapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptxMapas Conceptuales finales Rubén finales.pptx
Mapas Conceptuales finales Rubén finales.pptx
 
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
P7_E1_DanielPoza.pdf Los avances en los sistemas de comunicascion y su difusi...
 

Informe lpi

  • 1. INFORME: LENGUAJES DE PROGRAMACIÓN AUTOR(A): Patricia Mendoza V-26.064.486 Caracas, 21 septiembre 2017. UNIVERSIDAD ALEJANDRO DE HUMBOLDT. LOS DOS CAMINOS. ING. INFORMÁTICA. SEMESTRE: 2017-2017 III. ASIGNATURA: LENGUAJE DE PROGRAMACIÓN I. PROFESOR: MIGUEL MENA. SECCIÓN: DCM0402.
  • 2. PROGRAMACIÓN El término programación se define como un conjunto de instrucciones consecutivas y ordenadas que llevan a ejecutar una tarea específica. Dichas instrucciones se denominan “código fuente”, el cual es único para cada lenguaje y está diseñado para cumplir una función o propósito específico. Usan diferentes normas o bases para controlar el comportamiento de un dispositivo y también pueden ser usados para crear programas informáticos. En este proceso básicamente se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático. Los pasos que usualmente se deben aplicar al momento de programar son:  El desarrollo lógico del programa para resolver un problema en particular.  Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).  Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.  Prueba y depuración del programa.  Desarrollo de la documentación. LENGUAJES DE PROGRAMACIÓN Un lenguaje de programación es esencialmente un sistema estructurado de comunicación, similar al humano, el cual nos permite comunicarnos por medio de signos, ya sean palabras, sonidos o gestos. Puede 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. 1. Lenguaje Máquina - Las invocaciones a memoria, como los procesos aritméticos lógicos son posiciones literales de conmutadores físicos del hardware en su representación booleana. Estos lenguajes son literales de tareas. 2. Lenguajes ensambladores - También denominados nemotécnicos o nemónicos, no son ya programas ejecutables directamente por el ordenador, sino textos de código fuente que necesitan de alguna herramienta para su conversión a lenguaje máquina, son los programas llamados ensambladores. Sus instrucciones suelen ser una denominación abreviada de la instrucción máquina que simbolizan, y tienen una correspondencia casi directa a las instrucciones máquina que representan. El código resultante de la ejecución del programa ensamblador generaría un código binario ejecutable.
  • 3. Son instrucciones que ensamblan los grupos de conmutadores necesarios para expresar una mínima lógica aritmética. Están íntimamente vinculados al hardware. Por norma general están disponibles a nivel firmware, cmos o chip set. Estos lenguajes están orientados a procesos. Los procesos se componen de tareas. Contienen tantas instrucciones como la arquitectura del hardware así haya sido diseñada. Por ejemplo: La arquitectura CISC contiene muchas más instrucciones a este nivel, que la RISC. 3. Lenguajes de medio nivel - Son aquellos que, basándose en los juegos de instrucciones disponibles (chip set), permiten el uso de funciones a nivel aritmético, pero a nivel lógico dependen de literales en ensamblador. Estos lenguajes están orientados a procedimientos. Los procedimientos se componen de procesos. Ejemplos: C, Basic. 4. Lenguajes de alto nivel - Son aquellos que permiten una máxima flexibilidad al programador a la hora de abstraerse o de ser literal. Permiten un camino bidireccional entre el lenguaje máquina y una expresión casi oral entre la escritura del programa y su posterior compilación. Estos lenguajes están orientados a objetos. Los objetos se componen de propiedades cuya naturaleza emerge de procedimientos. Ejemplos: C++, Fortran, Cobol, Lisp. E.A. Lenguajes de aplicaciones - Son aquellos que no permiten una bidireccionalidad conceptual entre el lenguaje máquina y los lenguajes de alto nivel, ni tampoco la literalidad a la hora de invocar conceptos lógicos. Se basan en librerías creadas en lenguajes de alto nivel. Pueden permitir la creación de nuevas librerías, pero son propietarias y dependientes de las suministradas por la aplicación. Estos lenguajes están orientados a eventos. Los eventos acontecen cuando las propiedades de un objeto interactúan con otro. Ejemplos: Visual Basic para aplicaciones. E.B. Lenguajes de redes - Son aquellos que se basan en un convenio de instrucciones totalmente independientes de la máquina, y completamente dependientes de la red a la que están orientadas. Se dividen en descriptivos (HTML, XML, VML), de cliente- Servidor (Java, PHP) y de script (javascript).
  • 4. LENGUAJE C vs. C++ • C es un lenguaje creado por Dennis Ritchie a principios de la década de 1970 y basado en el paradigma de programación estructurada. Pretende ser un lenguaje de propósito general que dé al programador control total sobre sus programas, permitiendo la programación de bajo nivel (es decir, permitiendo controlar directamente cosas como el acceso a memoria y otros recursos), pero a la vez proporcionando estructuras de alto nivel que hagan la programación de sistemas grandes más fácil. Su primer uso fue la escritura del sistema operativo Unix (del que deriva Linux), lo que da idea de la potencia de C en la programación de bajo nivel. Tras la publicación en 1978 de The C Programming Language (conocido como K&R por las iniciales de sus autores, Brian Kernigham y Dennis Ritchie) alcanzó gran popularidad y pronto se convirtió en el lenguaje de referencia para la comunidad informática. El lenguaje estructurado es una herramienta que puede utilizarse en la especificación de procesos, en el desarrollo de sistemas. • C++ fue creado por Bjarne Stroustrup durante la primera mitad de los años 1980 con el fin de dotar C de mecanismos que permitieran usar el paradigma de programación orientada a objetos. C++ evolucionó a partir del C, por lo tanto, C es un "subconjunto" de C++. Eso quiere decir que C está incluido en C++, en general, casi cualquier programa escrito en C podrá compilarse con un compilador de C++, y funcionará. La principal diferencia es que C++ está orientado a objetos, es decir tiene clases. Los creadores de C++ crearon las clases basándose en una característica que ya tenía C: las estructuras. Estas se han mejorado y admiten funciones además de datos como miembros. Para mantener cierta coherencia con C, y mantener el concepto de estructura en su idea original, se creó un nuevo concepto class. Pero las diferencias no terminan ahí. Muchas de las mejoras introducidas para implementar las clases se pueden usar fuera de ellas, como la sobrecarga de funciones, y operadores, y los parámetros con valores por defecto. También hay nuevos operadores, entre los que destacan new y delete, que mejoran sensiblemente el tratamiento de la memoria dinámica. Otra capacidad introducida son las referencias, normalmente usadas en los parámetros de las funciones. En sentido estricto, no aportan nueva funcionalidad a los programas, ya que se pueden simular mediante punteros, pero sí aportan legibilidad y claridad. En C++ es obligatorio usar prototipos de las funciones, en C no es necesario. Esta diferencia sí puede ser importante a la hora de migrar código de C a C++. La mayoría
  • 5. de los problemas que encuentras los programadores de C cuando usan compiladores de C++, surgen de ésta característica. C++ introduce el nuevo formato de comentarios que comienzan con // y terminan al terminar la línea. También se han introducido varias mejoras en la conversión de tipos (casting). C++ incorpora nuevos conceptos de casting, por otra parte necesarios, debido sobre todo a la nueva problemática de la programación orientada a objetos: herencia y polimorfismo. En C++ no es obligatorio especificar void en la lista de argumentos de una función que no los usa, en C es sí lo es. Para que C++ pueda usar funciones definidas para C en bibliotecas "run-time", es necesario declararlas como extern "C". C++ admite la declaración de variables locales dentro de sentencias como for, while, etc. Esto no está permitido en C. Por ejemplo: for(int i = 0; i < 10; i++); Aunque typedef aún se admite en C++, y se sigue usando, ya no es necesario su uso con estructuras y uniones, en C++ no es obligatorio especificar las struct o union en la declaración de variables.
  • 6. LENGUAJE ESTRUCTURADO El lenguaje estructurado es un lenguaje natural limitado en palabras y construcciones, lo que le da más más precisión y claridad, evitando ambigüedades (el lenguaje natural humano carece de precisión y es muy ambiguo). El lenguaje estructurado puede utilizarse para especificar un algoritmo. Luego, para que la computadora pueda procesarlo, deberá transformarse o “traducirse” a un lenguaje de programación específico. LENGUAJE ORIENTADO A OBJETOS Se le llama así a cualquier lenguaje de programación que implemente los conceptos definidos por la programación orientada a objetos. Cabe notar que los conceptos definidos en la programación orientada a objetos no son una condición sino que son para definir que un lenguaje es orientado a objetos. Existen conceptos que pueden estar ausentes en un lenguaje dado y sin embargo, no invalidar su definición como lenguaje orientado a objetos. Quizás las condiciones mínimas necesarias las provee el formalismo que modeliza mejor las propiedades de un sistema orientado a objetos: los tipos de datos abstractos. Siguiendo esa idea, cualquier lenguaje que permita la definición de tipos de datos, de operaciones nuevas sobre esos tipos de datos, y de instanciar el tipo de datos podría ser considerado orientado a objetos. Esta definición concuerda incluso con ciertos ejemplos prácticos, que no son considerados dentro de la programación orientada a objetos, pero que podrían serlo. Por ejemplo, la programación de interfaces gráficas de usuario para los sistemas X utilizando infraestructuras de funciones y APIs como Motif, Xview y Xlib, son realizadas usualmente en lenguaje C, pero organizando el código en una manera que "parecen objetos" (los Widgets).