0 calificaciones0% encontró este documento útil (0 votos)
67 vistas
Programacion C++
Este documento explica la diferencia entre los lenguajes naturales y los lenguajes de programación. Describe cómo los lenguajes de programación de alto nivel permiten a los humanos escribir programas de una manera más fácil de entender que los lenguajes de máquina, y cómo los compiladores traducen estos programas a lenguaje de máquina para su ejecución.
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% encontró este documento útil (0 votos)
67 vistas
Programacion C++
Este documento explica la diferencia entre los lenguajes naturales y los lenguajes de programación. Describe cómo los lenguajes de programación de alto nivel permiten a los humanos escribir programas de una manera más fácil de entender que los lenguajes de máquina, y cómo los compiladores traducen estos programas a lenguaje de máquina para su ejecución.
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8
1.1.1 Lenguaje natural vs.
lenguaje de programación Estamos aquí para mostrarle qué
es el lenguaje C ++ y para qué podemos usarlo. Consideremos por un momento qué es el lenguaje en sí, no solo el lenguaje C ++, sino cualquier lenguaje que use la gente. Intentaremos no utilizar definiciones de sondeos científicos e intentaremos hablar de manera informal. Podemos decir que un lenguaje es una herramienta para expresar y registrar pensamientos humanos. Realmente nos gusta esta definición. En otras palabras, es un mecanismo conocido por nosotros y por nuestros socios, que nos permite entender y comprender. Usamos el lenguaje para hablar, escribir, leer, escuchar y pensar. Al menos una lengua nos acompaña a lo largo de toda nuestra vida: es nuestra lengua materna (nuestra lengua materna), que aprendemos casi inconscientemente desde el principio. Muchos de nosotros también aprenderemos otros idiomas, principalmente como resultado de una decisión consciente, forzada por las condiciones sociales o las necesidades comerciales. Los idiomas que utilizamos para comunicarnos con otras personas se llaman lenguajes naturales. Fueron creados a lo largo de muchos siglos y aún están sujetos a cambios. Si ignoramos los idiomas que se han creado artificialmente, como el esperanto o incluso el quenya (el idioma utilizado por los elfos en el mundo de Tolkien), su desarrollo es casi independiente de sus hablantes y evoluciona de forma natural, de una manera que nos da poco o ningún control sobre eso. Sin embargo, hay idiomas cuya creación y desarrollo fueron (y con frecuencia siguen siendo) dictados por algunas necesidades específicas, y cuyo desarrollo está completamente sujeto al control de grupos muy amplios de personas como comités internacionales o grupos de trabajo. La forma de estos lenguajes está definida por estándares internacionales, y aunque muchas personas puedan entenderlos, el intercambio de pensamientos entre los seres humanos no es su prioridad. Tales lenguajes son, entre otros, lenguajes de programación. Probablemente ya estés familiarizado con este concepto. Un lenguaje de programación se define por un cierto conjunto de reglas rígidas, mucho más inflexibles que cualquier lenguaje natural. Por ejemplo, estas reglas determinan qué símbolos (letras, dígitos, signos de puntuación, etc.) podrían usarse en el idioma. Esta parte de la definición de lenguaje se llama léxico. Otro conjunto de reglas determina las formas adecuadas de compaginar los símbolos: esta es la sintaxis del lenguaje. También debemos ser capaces de reconocer el significado de cada afirmación expresada en el idioma dado, y esto es lo que llamamos semántica. Cualquier programa que escribamos debe estar libre de errores de estas tres formas: léxicamente, sintácticamente y semánticamente, de lo contrario, el programa no se ejecutará o producirá resultados inaceptables. Puedes estar seguro de que encontrarás todos estos errores, ya que errar es humano y son estos humanos falibles los que escriben los programas de computadora. 1.1.2 Lenguaje natural vs. lenguaje de programación Una computadora, incluso la más sofisticada técnicamente, carece de un rastro de inteligencia. Se podría decir que es como un perro bien entrenado: responde solo a un conjunto predeterminado de comandos conocidos. Y a veces, como un perro, simplemente se apaga y se niega a hacer lo que se le dice. Los comandos reconocidos son muy simples. Podemos imaginar que la computadora responde a órdenes como "tomar ese número, agregar a otro y guardar el resultado". Un conjunto completo de comandos conocidos se llama lista de instrucciones, a veces abreviada a IL. Los diferentes tipos de computadoras pueden variar dependiendo del tamaño de sus IL y las instrucciones en sí pueden ser completamente diferentes en diferentes modelos. El IL es, de hecho, un alfabeto que comúnmente se conoce como lenguaje de máquina. Este es el idioma más simple y principal que podemos usar para enviar comandos a nuestra computadora. Podemos decir que es la lengua materna de la computadora. La programación de computadora es un acto de componer los comandos (instrucciones) seleccionados en un orden que causará el efecto deseado. El efecto en sí mismo puede ser diferente en cada caso: depende de la intención, la imaginación, el conocimiento y la experiencia del programador. Es posible (y esto a menudo se hace en la práctica) que un programa de computadora se codifique directamente en lenguaje de máquina usando instrucciones elementales (órdenes). Este tipo de programación es tedioso, requiere mucho tiempo y es altamente susceptible a los errores de un programador. Durante las primeras etapas de la tecnología informática, fue el único método de programación disponible, y reveló muy rápidamente sus graves fallas. La programación en lenguaje de máquina requiere un conocimiento completo del diseño de hardware de una computadora y su estructura interna. Esto también significa que reemplazar la computadora con una que difiera en diseño de su predecesor puede hacer que el conocimiento del programador sea inutilizable. Además, los programas antiguos podrían ser completamente inútiles si la nueva computadora utilizara un IL diferente. Por lo tanto, un programa escrito para un tipo específico de computadora podría ser completamente inútil para otras computadoras y viceversa. En segundo lugar, los programas escritos en lenguaje de máquina son muy difíciles de entender para los humanos, incluidos los programadores experimentados. También es cierto que desarrollar un programa en lenguaje de máquina requiere mucho tiempo y es muy costoso y engorroso. Todas estas circunstancias llevan a la necesidad de algún tipo de puente entre el lenguaje de las personas (lenguaje natural) y el lenguaje de computadora (lenguaje de máquina). Ese puente también es un lenguaje, un lenguaje común intermedio tanto para humanos como para computadoras que trabajan juntos. Este lenguaje se suele denominar lenguaje de programación de alto nivel. Un lenguaje como este es, al menos, algo similar a un lenguaje natural: utiliza símbolos, palabras y convenciones legibles para los humanos. Este lenguaje permite a los humanos expresar comandos complejos para computadoras. Puede estar preguntando cómo persuadir a una computadora para que entienda los programas escritos de esta manera. Intente lo mejor que pueda, alentar la computadora no es suficiente, pero puede traducir su programa al lenguaje de máquina. Además, la traducción puede ser realizada por una computadora, haciendo que todo el proceso sea rápido y eficiente. ¿Qué tan bueno es eso? No necesita aprender un montón de diferentes lenguajes de máquina, solo necesita conocer un lenguaje de programación de alto nivel. Si hay un traductor diseñado para una computadora específica, puede ejecutar su programa sin ningún problema. En otras palabras, los programas escritos en lenguajes de alto nivel se pueden traducir a cualquier número de lenguajes de máquina diferentes, y así permitir que se utilicen en muchas computadoras diferentes. Esto se llama portabilidad. 1.1.3 Lenguaje natural vs. lenguaje de programación La traducción a la que nos referimos está hecha por un programa informático especializado llamado compilador. El proceso de traducción de un lenguaje de alto nivel al lenguaje de máquina se llama compilación. Ahora volvamos a temas más interesantes relacionados con el proceso de creación de un nuevo programa. Ya sabemos que nuestra tarea principal es escribir el programa de acuerdo con las reglas del lenguaje de programación elegido. Este programa (que en realidad es solo un texto) se llama el código fuente, o simplemente fuente, mientras que el archivo que contiene la fuente se llama el archivo fuente. Para escribir el código fuente, necesitará un editor de texto que le permita manipular el texto sin ninguna información de formato (por este motivo, Microsoft Word no es una buena opción: Bloc de notas es mejor). Este código se coloca en un archivo y el nombre del archivo debe implicar su contenido. Por ejemplo, es común que un archivo que contiene el código fuente en el lenguaje C ++ tenga su nombre terminado con el sufijo .cpp, por lo tanto, si escribe un programa de computadora y decide llamarlo proggie, sería una buena idea poner el código fuente en un archivo llamado proggie.cpp. Algunas plataformas pueden preferir otros sufijos como cc, cp, cxx, c ++ o incluso C (tenga en cuenta que esta es una letra mayúscula). Por favor, consulte la documentación de su compilador para más detalles. A continuación, su código fuente debe ser compilado. Para hacer esto, necesita ejecutar un compilador apropiado e indicarle dónde almacenó el código fuente que desea traducir al lenguaje de máquina. El compilador lee su código, realiza un análisis complejo y luego determina si cometió algún error durante el proceso de codificación. Si lo tienes, te lo dirá. Esto no es para sentirse mal, estos análisis son muy perspicaces y útiles. Pero recuerde que están hechos por una máquina, no por un humano, y no debe esperar demasiado de ellos. De acuerdo, si tu error fue que intentaste sumar dos números usando # en lugar de +, el compilador te informará de tu error. Sin embargo, si escribió, en lugar de +, el compilador no puede adivinar que su intención era sumar dos números, en lugar de restarlos. El compilador no pensará por ti. Pero eso también está bien. Si el compilador hiciera todo, los desarrolladores no tendrían trabajos. Si el compilador no encuentra ningún error en su fuente, el resultado será un archivo que contiene su programa traducido al lenguaje de máquina. Ese archivo es comúnmente llamado un archivo ejecutable. El nombre del archivo depende del compilador que use y del sistema operativo con el que esté trabajando. Por ejemplo, la mayoría de los compiladores diseñados para el sistema Unix / Linux crean un archivo de salida denominado "a.out" de forma predeterminada. Los compiladores diseñados para su uso en MS Windows® pueden asignar el mismo nombre a este archivo que el archivo de origen, mientras que solo cambian el sufijo de .cpp a .exe. Por supuesto, todo el proceso es en realidad un poco más complicado. Su código fuente puede ser enorme y dividido entre varios o incluso docenas de archivos fuente. También puede ser que el programa no haya sido escrito solo por usted, sino por todo un equipo, en cuyo caso la división de las fuentes en varios archivos es simplemente una necesidad. En este caso, el proceso de compilación se divide en dos fases: una compilación de su fuente para traducirla al lenguaje de máquina y una unión (o pegado) de su código ejecutable con el código ejecutable derivado de los otros desarrolladores en una única y unificada producto. La fase de "pegar" los diferentes códigos ejecutables se conoce comúnmente como vinculación, mientras que el programa que lleva a cabo el proceso se denomina vinculador. ¿Cuál es el uso más común de C ++? Es el llamado lenguaje de programación de objetos, es decir, adecuado principalmente para aplicaciones grandes y complejas, especialmente para aquellos que trabajan en entornos gráficos. Conocer el lenguaje C ++ es muy útil si desea aprender C # o Java. El aparato conceptual utilizado por el lenguaje C ++ es común para todos los lenguajes de programación de objetos, ya que C ++ es uno de los lenguajes más antiguos de esa clase.