Recordemos que un programa es sólo una secuencia de instrucciones que indican a una computadora las tareas a realizar. Evidentemente se necesita proporcionar estas instrucciones en un lenguaje que la computadora pueda comprender. Aunque las computadoras reconocen cada vez más nuestra voz con tecnologías como Siri (Apple), Google Assistance o Now (Android), Alexa (Amazon) o Cortana (Microsoft), es necesario diseñar un programa de computadora que comprenda totalmente el lenguaje humano y, por ahora, estas actividades son todavía limitadas. El lenguaje natural sigue siendo difícil de entender por las computadoras, aunque técnicas de inteligencia artificial como reconocimiento de lenguajes, redes neuronales, entre otras, avanzan con gran rapidez.
Las notaciones especiales para la comprensión de las computadoras se llaman lenguajes de programación, cada estructura de un lenguaje de programación tiene un formato preciso (su sintaxis) y un significado también preciso (su semántica). Un lenguaje de programación es similar a un código de escritura que una computadora seguirá; de hecho, los programas se llaman también código de la computadora y el proceso de escribir un algoritmo en un len- guaje de programación se llama codificación.
Existen numerosos lenguajes de programación, se han desarrollado literalmente cientos como Python, Java, C, C++, C#, JavaScript, Ruby, Swift, Visual Basic .NET o los tradicionales Basic, Cobol y Fortran y Pascal. Aunque difieren en muchos detalles, todos comparten la propiedad de tener sintaxis y semántica bien definida y no ambigua. Todos los lenguajes anteriores se denominan lenguajes de alto nivel. Son precisos y están diseñados para ser com- prendidos por los humanos, pero hablando estrictamente, el hardware de la computadora sólo comprende un len- guaje de bajo nivel, conocido como lenguaje máquina.
Las instrucciones de lenguajes de alto nivel como c = a + bo print "hola" han de ser traducidas del lenguaje de alto nivel a un lenguaje máquina que la computadora pueda ejecutar. Existen dos formas de hacerle: puede ser compilado o interpretado. Como se ha visto en el apartado anterior, para que un procesador realice un proceso se le debe suministrar en primer lugar un algoritmo adecuado. El procesador debe ser capaz de interprete el algoritmo, lo que significa:
• Comprender las instrucciones de cada paso.
• Realizar las operaciones correspondientes.
Cuando el procesador es una computadora, el algoritmo se debe expresar en un formato que se denomina programa, ya que el pseudocódigo o el diagrama de flujo no son comprensibles para la computadora, aunque pueda en- tenderlos cualquier programador. Un programa se escribe en un lenguaje de programación y las operaciones que conducen a expresar un algoritmo en forma de programa se llaman programación. Así pues, para escribir programas de computadoras se utilizan los lenguajes de programación, y programadores son los escritores y diseñadores del programa. El proceso de traducir un algoritmo en pseudocódigo a un lenguaje de programación se denomina codificación, y el algoritmo escrito en un lenguaje de programación se denomina código fuente.
En la realidad, la computadora no entiende directamente los lenguajes de programación, sino que se requiere un programa que traduzca el código fuente a otro lenguaje que sí entiende pero es muy complejo para las personas; este lenguaje se conoce como lenguaje máquina y el código correspondiente código máquina. Los programas que traducen el código fuente escrito en un lenguaje de programación, tal como C++, a código máquina se denominan traductores. El proceso de conversión de un algoritmo escrito en pseudocódigo hasta un programa ejecutable comprensible por la máquina se muestra en la figura 1.5.
Hoy día, la mayoría de los programadores emplea lenguajes de programación como los mencionados anterior- mente. Estos lenguajes se denominan lenguajes de alto nivel y permiten a los profesionales resolver problemas convirtiendo sus algoritmos en programas escritos en alguno de estos lenguajes de programación.
Los lenguajes de programación se utilizan para escribir programas. Los programas de las computadoras modernas constan de secuencias de instrucciones que se codifican como secuencias de dígitos numéricos que podrán entender dichas computadoras. El sistema de codificación se conoce como lenguaje máquina, que es el lenguaje nativo de una computadora. Desgraciadamente la escritura de programas en lenguaje máquina es una tarea tediosa y difícil ya que sus instrucciones son secuencias de 0 y 1 (patrones de bit, como 11110000, 01110011), que son muy difíciles de recordar y manipular por las personas. En consecuencia, se necesitan lenguajes de programación "amigables con el programador que permitan escribir los programas para poder charlar con facilidad con las computadoras. Sin embargo, las computadoras sólo entienden las instrucciones en lenguaje máquina, por lo que será preciso traducir los programas resultantes a lenguaje máquina antes de poder ejecutarse.
QR de este contenido:
Descargar esta imagen Aquí

