domingo, 12 de setembro de 2010

2.O que é código fonte? O que é código objeto? E software open source ? Qual a importância desses conceitos na hora de contratar o desenvolvimento de um sistema automatizado?

Código Fonte : são as linhas de programação que formam um software em sua forma original. É o conjunto de palavras escritas de forma ordenada, contendo instruções em uma das linguagens de programação, de maneira lógica, após ser compilado, o código fonte, transforma-se em software, ou seja, programas executáveis.


Código Objeto ou arquivo objeto: é o nome dado ao código resultante da compilação do código fonte. Para cada arquivo de código fonte é gerado um arquivo com código objeto, que posteriormente é "ligado" aos outros, resultando num arquivo executável ou biblioteca.

Um arquivo objeto não só contém código objeto, mas também informações sobre alocação de memória, os símbolos do programa (como nomes de variáveis e de funções) e também informações sobre debug.

Há vários formatos de arquivo objeto; originalmente, cada tipo de computador tinha seu próprio formato, mas com o advento de sistemas operacionais portáveis (como por exemplo o Unix) alguns formatos, como o COFF e o ELF, foram padronizados e utilizados em diferentes sistemas. É comum o mesmo formato de arquivo objeto servir tanto como entrada quanto para saída do linker, sendo, portanto utilizado no arquivo executável ou biblioteca gerado.

O formato dos arquivos objetos é parte importante no projeto de um sistema operacional: ele afeta o tempo que os programas levam para serem ligados e assim afeta o tempo de desenvolvimento dos sistemas. Além disso, se o formato também é utilizado para os arquivos executáveis, ele influi no tempo que o programa leva para começar a executar, afetando assim a responsividade do programa para o usuário final. A maioria dos formatos é estruturada na forma de blocos todos do mesmo tipo, podendo ser mapeados conforme necessário pelo sistema de memória virtual do sistema operacional, sem necessidade de mais processamento antes de serem utilizados.

O tipo mais simples de código objeto é o COM do DOS, que é apenas um arquivo com bytes sempre carregados na mesma posição da memória. Outros formatos contém várias estruturas e sub-estruturas cuja especificação abrange várias páginas.



Open Source: é um software de utilização livre, para quem quiser. E todos podem contribuir com ele, seja no seu desenvolvimento, seja na correção de erros, seja na documentação, desde que a condição de liberdade seja mantida. Este paradigma revolucionou a maneira com que softwares são desenvolvidos, baixou os custos de desenvolvimento e aumentou a agilidade, resultando em softwares de excelente qualidade e em constante evolução. Os exemplos são:

 Linux é um sistema operacional, programa responsável pelo funcionamento do computador, que faz a comunicação entre hardware (impressora, monitor, mouse, teclado) e software (aplicativos em geral).

 Apache, o servidor Web mais utilizado no mundo

 Sendmail, o servidor de e-mail mais robusto e seguro

 BIND, servidor de DNS responsável pela quase totalidade dos servidores de nomes da Internet

 jBoss, servidor de aplicações compatível com JavaEE

 PostgreSQL, servidor de base de dados SQL

 gcc, o melhor compilador "C" que existe


A importância desses conceitos na hora de contratar o desenvolvimento de um sistema automatizado é a de maioria dos usuários do open source tem que avaliar a relação custo / eficácia, a facilidade de contratação, a ausência de um único fornecedor lock-in ea capacidade de modificar o código de acordo com sua conveniência. As outras razões incluem um melhor desempenho, disponibilidade de pessoal qualificado e facilidade de manutenção.

Nenhum comentário:

Postar um comentário