Sou iniciante em programação e não tenho uma boa noção de terminologia. Gostaria de saber se o código fonte escrito em uma linguagem compilada como C ou C ++ é considerado um programa? Se não, alguém pode explicar o porquê?
terminology
source-code
Othman
fonte
fonte
Respostas:
Veja a entrada da Wikipedia sobre Programa : (adicionei o negrito )
Portanto, o "programa" é o conjunto de instruções que o computador executa e o "código-fonte" é a versão legível por humanos dessas instruções.
fonte
Sim, ele é.
MAS
O perigo com esta linha de pensamento está chegando: "o computador executa meu programa, eu escrevo meu programa em [por exemplo] C, portanto, o código fonte é instruções para o computador".
E é isso que muitos de nós pensamos por muitas décadas no século XX. O que aprendemos na última década, mais ou menos, é que outros programadores são o público principal do código fonte . Então, sim, essa fonte é o programa, da mesma maneira que você obteria um programa no teatro, que diz às outras pessoas o que está acontecendo. A beleza do código-fonte é que, além de ser o programa, também é um conjunto de instruções para o computador ...
fonte
Se é ou não, depende do contexto. Pense nisso desta maneira. Esqueço qual é o nome formal do conceito, mas há uma teoria da linguagem que diz que as palavras têm significado que descrevem não o que é algo, mas o que não é . Uma maçã vermelha não é vermelha porque é, bem, vermelha, mas porque não é azul, não é verde, etc. Ignore se isso é verdade ou não, mas presuma que seja por um segundo e pense na pergunta nesse contexto.
Portanto, quando pensamos nesse conceito, podemos comparar nosso código-fonte com o plano de uma casa. Se você estiver olhando o projeto de uma pilha de outros projetos, e perguntar "isso é uma casa", e os outros projetos forem para edifícios comerciais, pontes, etc., a resposta seria afirmativa. Porque o projeto não representa todas essas outras coisas, e o aspecto da casa é o que o distingue dos outros projetos.
No entanto, obviamente, um projeto de uma casa não é o mesmo que uma casa real feita de madeira e drywall em que você pode ficar. Existem contextos em que a diferença entre o projeto e a casa real é significativa. Há uma diferença entre o plano e a entrega.
Da mesma maneira que o código fonte de um programa em uma linguagem compilada é como o blueprint, se você o está comparando com bibliotecas, módulos de kernel, etc., o código fonte e o programa são conceitualmente o mesmo. Mas se você estiver observando como o software é compilado, projetado e implantado, os dois não são os mesmos. Mais uma vez, há uma diferença entre o plano e a entrega.
tl; dr: Às vezes, o que algo é e o que representa é considerado a mesma coisa, mas outras vezes não.
fonte
Código fonte é um termo geral para linhas de código originais (de autoria humana). Outros tipos de código que não são de origem podem ser criados por tradução ou por outro programa.
A propriedade intelectual é ainda mais ampla e pode incluir código fonte e outro código ou dados.
Um programa se distingue de outro código (fonte ou outro) em sua integridade. Um programa é um código suficientemente completo para poder ser executado (ou se destina a ser executado). Nem todo código (fonte ou outro) representa integridade suficiente para executar. As bibliotecas, por exemplo, devem ser combinadas e usadas por outro código e, portanto, geralmente não seriam consideradas um programa, pois não podem (não deveriam ser) executadas.
Às vezes, essa integridade significa ter um
main
, que é usado por um sistema operacional como ponto de entrada para o programaDe um modo geral, quando um programa está em execução, isso é chamado de processo.
fonte
O código fonte é a forma preferida do software no qual os desenvolvedores de software humanos estão trabalhando . O insight é que o desenvolvimento de software é um processo social; portanto, o código fonte é uma noção social . Você escreve o código-fonte principalmente para humanos (seus colegas desenvolvedores ou até você mesmo trabalhando em alguns meses no mesmo programa), não para computadores. Para um programa codificado em C, geralmente são (mas nem sempre)
.c
arquivos C e.h
arquivos de cabeçalho, mas o Makefile também é código-fonte. Às vezes, porém, são usadas técnicas de metaprogramação : algum programa está gerando código C e, em seguida, a entradapara esse gerador é considerado código-fonte (mesmo que a saída desse gerador seja código C). Dois exemplos: você pode usar algum gerador de analisador (como o GNU bison ) para analisar problemas; o.y
arquivo de entrada desse gerador é o código-fonte. Ou você pode escrever um pequeno script awk ou gawk para extrair de algum banco de dados sqlite alguns dados que seriam transformados em, por exemplo, uma grandeenum
declaração em algum cabeçalho gerado; então esse banco de dados conteria código fonte!Um programa de computador, por outro lado, está relacionado ao computador que o executa. Geralmente é obtido compilando algum código-fonte (escrito em alguma linguagem de programação , e essas são especificações escritas em inglês em documentos técnicos - veja o rascunho n1570 para C11 -, não as ferramentas de software!) Em um executável binário .
Leia também sobre software livre . Mergulhe no código fonte dos projetos de software livre existentes (consulte o github ou o sourceforge para encontrar alguns).
fonte