Soy un principiante en programación y no entiendo bien la terminología. Me gustaría saber si el código fuente escrito en un lenguaje compilado como C o C ++ se considera un programa. Si no, ¿alguien puede explicar por qué?
terminology
source-code
Othman
fuente
fuente
Respuestas:
Vea la entrada de Wikipedia para el Programa : (He agregado la negrita )
Entonces, el "programa" es el conjunto de instrucciones que ejecuta la computadora, y el "código fuente" es la versión legible por humanos de esas instrucciones.
fuente
Sí lo es.
PERO
El peligro con esta línea de pensamiento es llegar a: "la computadora ejecuta mi programa, yo escribo mi programa en [p. Ej.] C, ergo, el código fuente es instrucciones para la computadora".
Y esto es lo que muchos de nosotros pensamos durante muchas décadas en el siglo XX. Lo que hemos aprendido en la última década es que otros programadores son la audiencia principal del código fuente . Entonces, sí, esa fuente es el programa, de la misma manera que obtendrías un programa en el teatro, que le dice a otras personas lo que está sucediendo. La belleza del código fuente es que no solo es el programa, sino que también es un conjunto de instrucciones para la computadora ...
fuente
Si es o no, depende del contexto. Piensa en ello de esta manera. Olvidé cuál es el nombre formal del concepto, pero hay una teoría del lenguaje que dice que las palabras tienen un significado que describe no lo que es algo, sino lo que no es . Una manzana roja no es roja porque es, bueno, roja, sino porque no es azul, ni verde, etc. Ignore si eso es cierto o no, pero suponga que es por un segundo y piense en la pregunta en ese contexto.
Entonces, cuando pensamos en ese concepto, podemos comparar nuestro código fuente con un plano de una casa. Si está mirando el plano de una pila de otros planos, y pregunta "¿es esta una casa", y los otros planos son para edificios comerciales, puentes, etc., la respuesta sería sí. Porque el plano no representa todas esas otras cosas, y el aspecto de la casa es lo que lo distingue de los otros planos.
Sin embargo, obviamente, un plano de una casa no es lo mismo que una casa real hecha de madera y paneles de yeso en la que puede estar parado. Hay contextos donde la diferencia entre el plano y la casa real es significativa. Hay una diferencia entre el plan y el entregable.
De la misma manera, el código fuente de un programa en un lenguaje compilado es como el plano, si lo compara con bibliotecas, módulos del núcleo, etc., entonces el código fuente y el programa son conceptualmente uno y el mismo. Pero si observa cómo se compila, diseña e implementa el software, los dos no son lo mismo. De nuevo, hay una diferencia entre el plan y la entrega.
tl; dr: A veces, lo que es algo y lo que representa se considera lo mismo, pero otras veces no.
fuente
El código fuente es un término general para las líneas de código originales (creadas por humanos). Otros tipos de código que no son fuente pueden ser creados por traducción o por otro programa.
La propiedad intelectual es aún más amplia y puede incluir tanto código fuente como otros códigos o datos.
Un programa se distingue de otro código (fuente u otro) en su integridad. Un programa es un código que es lo suficientemente completo como para que pueda ejecutarse (o está destinado a ejecutarse). No todo el código (fuente o de otro tipo) representa suficiente integridad para ejecutarse. Las bibliotecas, por ejemplo, están destinadas a ser combinadas y utilizadas por otro código, por lo que, por lo general, no se considerarían un programa, ya que no pueden (no están destinadas a ser) ejecutadas.
Esta integridad a veces significa tener un
main
, que es utilizado por un sistema operativo como punto de entrada para el programaEn términos generales, cuando se ejecuta un programa, eso se denomina proceso.
fuente
El código fuente es la forma preferida del software en el que trabajan los desarrolladores de software humanos . La idea es que el desarrollo de software es un proceso social, por lo que el código fuente es una noción social . Usted escribe el código fuente principalmente para humanos (sus colegas desarrolladores, o incluso usted mismo trabajando en unos pocos meses en el mismo programa), no para computadoras. Para un programa codificado en C, a menudo son (pero no siempre) archivos C y archivos de encabezado, pero el Makefile también es el código fuente. Pero a veces, se utilizan técnicas de metaprogramación : algún programa está generando código C, y luego la entrada
.c
.h
para ese generador se considera código fuente (incluso si la salida de ese generador es código C). Dos ejemplos: puede usar algún generador de analizador (como GNU bison ) para analizar problemas, luego el.y
archivo de entrada de ese generador es el código fuente. O puede escribir un pequeño script awk o gawk para extraer de una base de datos sqlite algunos datos que se transformarían, por ejemplo, en una granenum
declaración en algún encabezado generado; entonces esa base de datos contendría el código fuente!En contraste, un programa de computadora está relacionado con la computadora que lo ejecuta. Por lo general, se obtiene compilando un código fuente (escrito en algún lenguaje de programación , y estas son especificaciones escritas en inglés en documentos técnicos, consulte el borrador n1570 para C11 , ¡no herramientas de software!) En un ejecutable binario .
Lea también sobre software libre . Sumérjase en el código fuente de los proyectos de software libre existentes (consulte github o sourceforge para encontrar algunos).
fuente