Este documento proporciona información sobre un curso de Programación dictado por Juan Pablo Vázquez. El tema cubierto es Lenguaje de Programación. Los estudiantes son Gabriela Naulaguari y Diego Tenesaca. Se define qué es un lenguaje de programación y se describen los tipos de lenguajes (bajo nivel, alto nivel y medio nivel), generaciones de lenguajes, compiladores y los lenguajes C, C++ y Java.
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente [3]
Lo primero que el programador debe hacer para programar es:
Identificar el problema, luego elaborar el algoritmo o secuencias de pasos a seguir para la solución del mismo.
Viene a tallar aquí una controversia de comprensión e interpretación entre el lenguaje máquina y el lenguaje humano. Quizás nos preguntemos ¿qué hace el programador para que este aparato obedezca a los comandos ante cualquier manipulación de algún hardware?
La respuesta es simple como el lenguaje maquina es distinta al del humano esta necesita de un traductor e interprete.
Para que la computadora ejecute las instrucciones del programador, se requiere de un traductor que es el que trasforma el lenguaje humano al lenguaje maquina (lenguaje binario unos y ceros).
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente [3]
Lo primero que el programador debe hacer para programar es:
Identificar el problema, luego elaborar el algoritmo o secuencias de pasos a seguir para la solución del mismo.
Viene a tallar aquí una controversia de comprensión e interpretación entre el lenguaje máquina y el lenguaje humano. Quizás nos preguntemos ¿qué hace el programador para que este aparato obedezca a los comandos ante cualquier manipulación de algún hardware?
La respuesta es simple como el lenguaje maquina es distinta al del humano esta necesita de un traductor e interprete.
Para que la computadora ejecute las instrucciones del programador, se requiere de un traductor que es el que trasforma el lenguaje humano al lenguaje maquina (lenguaje binario unos y ceros).
Estas diapositivas muestra la historia de los lenguajes de programacion, y la evolucion los cuales surgieron en este lenguaje, tambien me refiero a uno de los programas mas sencillos el cual es el visual basic.
Elaborado por: Denisse Samamé Nizama
Esta presentación sintetiza los fundamentos de los lenguajes de programación. Espero los sea de mucha utilidad para comprender la importancia de estos programación.
Estas diapositivas muestra la historia de los lenguajes de programacion, y la evolucion los cuales surgieron en este lenguaje, tambien me refiero a uno de los programas mas sencillos el cual es el visual basic.
Elaborado por: Denisse Samamé Nizama
Esta presentación sintetiza los fundamentos de los lenguajes de programación. Espero los sea de mucha utilidad para comprender la importancia de estos programación.
Modernización de la Comunicación Técnica con Datos de CAD en 3DIntelligy
Los fabricantes de productos han automatizado sus procesos para comercializar sus productos con mayor velocidad y más eficacia. Sin embargo, el proceso de creación de datos técnicos para respaldar los productos sigue estando fuera de este proceso.
En este seminario en línea aprenderás como realizar una comunicación técnica eficaz que te permita:
•Reducir los costos de diseño y fabricación.
•Optimizar el proceso de ensamblaje.
•Aumentar ventas.
•Mejorar el servicio al cliente.
Esta presentación muestra algunas facilidades acerca de los lenguajes de programación que se pueden utilizar para llevar contenidos y colocar actividades en los ambientes virtuales de aprendizaje...!
2. Generalidades
Un lenguaje
de
programación es
un lenguaje
formal diseñado
expresar procesos que pueden ser llevados a cabo por máquinas
lascomputadoras.
para
como
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 por un conjunto de símbolos y
reglas sintácticas y semánticas que definen su estructura y el significado de sus
elementos y expresiones.
Mediante los programas se indica a la computadora qué tarea debe realizar y como
efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que
el sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones
en código máquina, es decir, el específico de la computadora. Sin embargo, a partir de
éstos se elaboran los llamados lenguajes de alto y bajo nivel.
Tipos de lenguaje de programación
Los lenguajes más próximos se denominan lenguajes de bajo nivel y los que se
encuentran más cercanos a los programadores se denominan lenguajes de alto nivel.
Lenguajes de bajo nivel
Son lenguajes totalmente dependientes de la máquina, es decir que el programa que
se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas.
Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las
características del mismo.
Dentro de este grupo se encuentran:
El lenguaje maquina: este lenguaje ordena a la máquina las operaciones
fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para
formar las ordenes entendibles por el hardware de la maquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener
códigos fuente enormes donde encontrar un fallo es casi imposible.
El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por
abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este
lenguaje se crearon los programas traductores para poder pasar los programas escritos
en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código
máquina es que los códigos fuentes eran más cortos y los programas creados
3. ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo
prácticamente las mismas que las del lenguaje ensamblador, añdiendo la dificultad de
tener que aprender un nuevo lenguaje difícil de probar y mantener.
Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje
máquina. Están dirigidos a solucionar problemas mediante el uso de EDD's.
Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy
utilizado en todos los lenguajes de programación. Son estructuras que pueden
cambiar de tamaño durante la ejecución del programa. Nos permiten crear
estructuras de datos que se adapten a las necesidades reales de un programa.
Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en
principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una
máquina
a
otra
sin
ningún
tipo
de
problema.
Estos lenguajes permiten al programador olvidarse por completo del funcionamiento
interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan
un traductor que entiendan el código fuente como las características de la máquina.
Lenguajes de Medio nivel
Se trata de un término no aceptado por todos, pero q seguramente habrás oído. Estos
lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos
lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar
con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la
vez
realizar
operaciones
de
alto
nivel.
Generaciones de lenguaje de programación
La evolución de los lenguajes de programación se puede dividir en 5 etapas o
generaciones.
Primera generación: lenguaje máquina.
Segunda generación: se crearon los primeros lenguajes ensambladores.
Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal,
Cobol…
Cuarta generación. Son los lenguajes capaces de generar código por si solos,
son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un
experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a
objetos, haciendo posible la reutilización d partes del código para otros
programas. Ej. Visual, Natural Adabes…
4. Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia
artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP
Compiladores
Un compilador es un programa informático que traduce un programa escrito en un
lenguaje de programación a otro lenguaje de programación, o también genera
aplicaciones que sean directamente utilizables en un ordenador o computadora. Un
compilador lee el código fuente creado en un determinado lenguaje de programación,
lo interpreta, comprueba su sintaxis y traduce a lenguaje o código máquina toda la
serie de instrucciones, generando el archivo ejecutable final (programa compilado).
Un compilador es un programa que permite traducir el código fuente de un programa
en lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje
máquina) o a un lenguaje más sencillo que la computadora puede comprender maso
menos directamente. De esta manera un programador puede diseñar un programa en
un lenguaje mucho más cercano a cómo piensa un ser humano,
La ejecución de un programa con compilador requiere de dos etapas:
1)Traducir el programa simbólico a código máquina
2)Ejecución y procesamiento de los datos.
Partes de un compilador
Normalmente los compiladores están divididos en dos partes:
Front End: es la parte que analiza el código fuente, comprueba su validez, genera el
árbol de derivación y rellena los valores de la tabla de símbolos. Esta parte suele ser
independiente de la plataforma o sistema para el cual se vaya a compilar.
Back End: es la parte que genera el código máquina, específico de una plataforma, a
partir de los resultados de la fase de análisis, realizada por el Front End.
Esta división permite que el mismo Back End se utilice para generar el código máquina
de varios lenguajes de programación distintos y que el mismo Front End que sirve para
analizar el código fuente de un lenguaje de programación concreto sirva para generar
código máquina en varias plataformas distintas.
El código que genera el Back End normalmente no se puede ejecutar directamente,
sino que necesita ser enlazado por un programa enlazador (linker)
5. Tipos de Compiladores
Esta taxonomía de los tipos de compiladores no es excluyente, por lo que puede haber
compiladores que se adscriban a varias categorías:
Compiladores cruzados: generan código para un sistema distinto del que están
funcionando.
Compiladores optimizadores: realizan cambios en el código para mejorar su eficiencia,
pero manteniendo la funcionalidad del programa original.
Compiladores de una sola pasada: generan el código máquina a partir de una única
lectura del código fuente.
Compiladores de varias pasadas: necesitan leer el código fuente varias veces antes de
poder producir el código máquina.
Compiladores JIT (Just In Time): forman parte de un intérprete y compilan partes del
código según se necesitan.
Fases de Compilación
La compilación es el proceso de traducción de programas fuente o código fuente a
programas objeto o código objeto.
6. Lenguajes de programaciónmás utilizados
Lenguaje C
Creado en 1972 por Dennis MacAlistairRitchie en los laboratorios Bell como evolución
del anterior lenguaje B. Es un lenguaje orientado a la implementación de sistemas
operativos, concretamente Unix que fue desarrollado en C.
Es un lenguaje de propósito general muy utilizado cuyas principales características son:
Combina características de los lenguajes de bajo nivel con los de alto nivel, lo que
permite crear programas eficientes.
Es un lenguaje pequeño ya que sólo ofrece sentencias de control sencillas y funciones.
Permite la programación estructurada y el diseño modular lo que mejora la apariencia,
comprensión y mantenimiento de los programas.
Se realizan programas portables que se pueden ejecutar sin necesidad de realizar
cambios en diversos ordenadores.
Incluye la utilización de punteros. Un puntero es una variable que apunta (contiene) a
la dirección de memoria de otra variable.
Modularidad, el programa se puede dividir en módulos que se tratan de manera
independiente.
LenguajeC++
El lenguaje de programación surgió a mediados de los 80 gracias a BjarneStroustrup y
fue desarrollado a partir del lenguaje C en los laboratorios AT&T Bell.
Es un lenguaje orientado a objetos aunque también tiene las mismas características
que C, como por ejemplo su eficiencia y el uso de punteros.
Como es lógico, y debido a que se creó a partir de C, C++ cuenta con diversas mejoras y
avances respecto de C, lo que le hace un lenguaje más completo y por ello que los
programadores tienden a programar más en este lenguaje. Un programa en C++
soporta instrucciones escritas en C, pero un programa escrito en C no nos permite
ejecutar instrucciones de C++, por lo que viéndolo de ésta forma resulta más cómodo
programar en C++.
Es un lenguaje muy popular debido a la eficiencia y robustez de sus programas.
Además de ser un lenguaje orientado a objetos, también nos permite
realizar programas estructurados, lo cuál nos da libertad a la hora de programar. Nos
da cierta libertad debido a que no es tan estricto a la hora de escribir código como en
C.
Es un lenguaje compilado, es decir, compila directamente al código que entienden los
ordenadores por lo que es uno de los lenguajes más rápidos.
LenguajeJava:
Surgió en 1991 gracias a un grupo de ingenieros de Sun Microsystems como lenguaje
de programación para electrodomésticos.
Fue en 1995 cuando Java comenzó a utilizarse como lenguaje de programación de
ordenadores.
Las características más importantes de este lenguaje de programación son:
7. Es un lenguaje orientado a objetos. Un objeto se compone de atributos (estado del
objeto) y métodos (comportamiento) que actúan sobre esos atributos. Para
comprender lo que es un objeto, voy a mostrarles una analogía del mundo real: al igual
que en el mundo virtual, en el mundo real los objetos tienen un estado y un
comportamiento. Por ejemplo, un coche es un objeto que tiene una serie de estados o
atributos (matrícula, marca, modelo, color, marchas) y una serie de comportamientos
o métodos (corriendo, parado, aparcando, cambio de marcha). Todos los objetos
tienen un identificador único que los diferencia del resto de objetos. En el ejemplo
anterior el identificador del coche es la matrícula.
Modularidad, nos permite dividir los programas en pequeños módulos denominados
clases, para reducir la complejidad del problema y, en caso de producirse un fallo, éste
solamente afecta al módulo donde se produjo y no a todo el programa.
Es robusto, es decir, es un lenguaje de programación fiable que reacciona
adecuadamente ante situaciones excepcionales.
Es un lenguaje de programación portable que nos permite utilizar los programas
desarrollados en java en cualquier ordenador con cualquier sistema operativo.
Dinámico, podemos compilar y ejecutar los programas en tiempo real.
Seguro, elimina los accesos ilegales a memoria que realizan los punteros en C.
LenguajePython:
Python apareció en 1991 gracias a Guido Van Rossum.
Se dice que es un lenguaje multiparadigma ya que soporta diversos tipos de
paradigmas de programación como son la orientación a objetos, la programación
imperativa o ,en menor medida, la programación funcional.
Este lenguaje de programación es soportado por varios sistemas operativos,
característica conocida como portabilidad.
En cuanto al código, es un lenguaje simple y sencillo con instrucciones claras y fáciles
de leer. Se utilizan clases y sentencias de control, sin embargo, no presenta
encapsulación. Se pueden escribir instrucciones en código C para poder ejecutar el
código de una manera más rápida, por lo que Python es compatible con instrucciones
de C. También cabe destacar que es un lenguaje interpretado por lo que no es
necesario compilar el código antes de ejecutarlo, lo cual reduce los tiempos de espera.
Es un lenguaje tipificado que cuenta con un gran número de librerías, tipos de datos y
funciones que sirven de mucha ayuda al programador y simplifican su trabajo.
Uno de los aspectos más importantes es que se trata de un
lenguaje libre y gratuito por lo que se pueden realizar copias del software y modificarlo
como se quiera con tal de mejorarlo. Como consecuencia de ello existen diversas
versiones de Python.
Se utiliza con mucha frecuencia gracias a que es un lenguaje de propósito general que
nos permite realizar desde cualquier tipo de programa hasta desarrollar páginas web.
8. LenguajePHP:
PHP fue creado en 1995 por RasmusLerdorf para el desarrollo de aplicaciones web
dinámicas y se puede incorporar directamente a páginas HTML. PHP es interpretado y
ejecutado en el lado del servidor web y posteriormente se envía el resultado al
navegador.
Es un lenguaje "Open Source", es decir, es software libre al cual pueden acceder todos
los usuarios.
PHP fue creado a partir de C, C++, Java, Pearl y Python por lo que ,a parte de tener
unas características propias, tiene una mezcla de características de los lenguajes
citados anteriormente.
La sintaxis es muy simple, clara y fácil de aprender ya que no es necesario definir los
tipos de variables y nos permite utilizar el paradigma de la programación orientada a
objetos, así como, la programación orientada a procedimientos, imperativa y reflexiva.
Como consecuencia de ello, obtenemos un código sencillo, ordenado, estructurado y
fácil de manejar.
Al igual que el resto de lenguajes citados, es portable y nos permite utilizarlo en
cualquier servidor web de cualquier sistema operativo. Como se ha comentado
anteriormente, PHP fue diseñado para Microsoft y sus sistemas operativos, por lo que
si se quiere utilizar en otros sistemas operativos que no sean de Microsoft es necesaria
una adaptación.
Es un lenguaje robusto y estable que dota de gran seguridad a las páginas web contra
ataques no deseados.
9. Conclusión
Los lenguajes de programaciónsoncomo el fundamento y la base del desarrollo y
avance de la computación y de cómo podemos interpretar su simbología, además nos
ayuda a comprender los conceptos básicos, clasificación, diferencias, propiedades y
funcionamiento de los lenguajes de programación que es el propósito de la
Investigación.
Luego del desarrollo de esta investigación resulta fácil comprender los tipos y la
clasificación que se les da a los lenguajes de programación en base a sus
funcionalidades y características.Este estudio también permite desarrollar un sentido
crítico de los lenguajes de programación, de forma que el programador no seleccione
ni emita un juicio respecto a determinado lenguaje basado simplemente en su
conocimiento, sino que el programador esté capacitado para dar razones
contundentes y certeras del por qué un lenguaje es mejor que otro para determinada
tarea, qué ventajas tiene uno respecto del otro, y que así también el programador sea
capaz de seleccionar el lenguaje que más le convenga para la resolución de un
problema determinado.