2-Codigos Informaticos

"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 Objeto: Em programação de computadorescódigo objeto ou arquivo objeto é o nome dado ao código resultante da compilação do código fonte. Normalmente, o código fonte é formado por uma sequência de instruções no formato especificado por alguma linguagem de programação. Para cada arquivo de código fonte é gerado um arquivo com código objeto, que posteriormente é "ligado" aos outros, através de um linker, 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 oUnix) 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.

Código Fonte: Código fonte (código-fonte, ou até source code em inglês) é o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. Existem linguagens que são compiladas e as que são interpretadas. As linguagens compiladas, após ser compilado o código fonte, transformam-se emsoftware, ou seja, programas executáveis. Este conjunto de palavras que formam linhas de comandos deverá estar dentro da padronização da linguagem escolhida, obedecendo critérios de execução. Atualmente, com a diversificação de linguagens, o código pode ser escrito de forma totalmente modular, podendo um mesmo conjunto de códigos ser compartilhado por diversos programas e, até mesmo, linguagens.

E software 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.

Exemplo de Software open source é o Linux que é um sistema desenvolvido sob o modelo Open Source.

Como softwares Open Source não têm custo de licença, é possível se investir mais em serviços e treinamento, e assim garantir melhor retorno dos investimentos em TI.

Ao contratar um desenvolvedor de software, deve-se levar em consideração as vantagens e desvantagens da utilização de um software de código aberto (open source) e um software proprietário. O OSS (Open Source Software), embora menos dispendioso que soluções proprietárias, comporta os custos de formação, suporte e manutenção. A liberdade deste software não está relacionado com o aspecto financeiro, mas sim com o acesso livre que os utilizadores têm e que lhes permite “manipular” o produto, tendo em vista o seu melhoramento. Esse tipo de programa permite que o programador realize alterações de acordo com as necessidades que venham a aparecer, incorporando funcionalidades que o produto não possuía, por exemplo. O principal motivo que leva à utilização deste tipo de código é eficiência no uso de recursos, ou seja, a interoperabilidade, a independência de um fornecedor específico (não havendo um vínculo com o proprietário, evita-se a atualização "forçada" do software), a fiabilidade, a segurança, a qualidade e a eficácia do software.