0% 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.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% 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.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
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.

También podría gustarte