Skip to main content
Global

3.4: Criação de software

  • Page ID
    170956
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Acabamos de discutir diferentes tipos de software e agora podemos perguntar: Como o software é criado? Se o software for o conjunto de instruções que informa ao hardware o que fazer, como essas instruções são escritas? Se um computador lê tudo como um e zero, precisamos aprender a escrever software dessa forma? Felizmente, outro tipo de software foi escrito, especialmente para desenvolvedores de software escreverem software e aplicativos de sistema - chamados de linguagens de programação. As pessoas que podem programar são chamadas de programadores de computador ou desenvolvedores de software.

    Análoga a uma linguagem humana, uma linguagem de programação consiste em palavras-chave, comentários, símbolos e regras gramaticais para construir declarações como instruções válidas compreensíveis pelo computador para realizar determinadas tarefas. Usando essa linguagem, um programador escreve um programa (chamado de código-fonte). Outro software então processa o código-fonte para converter as instruções de programação em um formato legível por máquina, os números e zeros necessários para executar a CPU. Esse processo de conversão geralmente é conhecido como compilação e o software é chamado de compilador. Na maioria das vezes, a programação é feita dentro de um ambiente de programação; quando você compra uma cópia do Visual Studio da Microsoft; ele fornece aos desenvolvedores um editor para escrever o código-fonte, um compilador e ajuda para muitas das linguagens de programação da Microsoft. Exemplos de linguagens de programação conhecidas atualmente incluem Java, PHP e os vários sabores de C (Visual C, C++, C#).

    Behaviorism_1.gif
    Figura\(\PageIndex{1}\): Converta um programa de computador em um executável. A imagem de Ly-Huong T. Pham está licenciada sob CC-BY-NC

    Milhares de linguagens de programação foram criadas desde a primeira linguagem de programação em 1883 por uma mulher chamada Ada Lovelace. Um dos primeiros idiomas semelhantes ao inglês, chamado COBOL, está em uso desde a década de 1950 até o presente em serviços que ainda usamos hoje, como folha de pagamento e sistemas de reservas. A linguagem de programação C foi introduzida na década de 1970 e continuou sendo a melhor escolha popular. Algumas novas linguagens, como C# e Swift, também estão ganhando impulso. Os programadores selecionam a linguagem mais adequada ao problema a ser resolvido para uma plataforma de sistema operacional específica. Por exemplo, linguagens como HTML e JavaScript são usadas para desenvolver páginas da web.

    É difícil determinar qual idioma é o mais popular, pois ele varia. No entanto, de acordo com o TIOBE Index, uma das empresas que classifica a popularidade das linguagens de programação mensalmente, as cinco primeiras em agosto de 2020 são C, Java, Python, C++ e C# (2020). Para obter mais informações sobre essa metodologia, visite a página de definição do TIOBE . Para aqueles que desejam aprender mais sobre programação, o Python é uma boa primeira linguagem a ser aprendida porque, além de ser uma linguagem moderna para desenvolvimento web, é simples de aprender e abrange muitos conceitos fundamentais de programação que se aplicam a outras linguagens.

    Uma pessoa pode escrever alguns programas. No entanto, a maioria dos programas de software é escrita por muitos desenvolvedores. Por exemplo, são necessárias centenas de engenheiros de software para escrever no Microsoft Windows ou no Excel. Para garantir que as equipes possam fornecer software oportuno e de qualidade com o mínimo de erros, também conhecidos como bugs, metodologias formais de gerenciamento de projetos são usadas, um tópico que discutiremos no capítulo 10.

    Software de código aberto versus software de código fechado

    Quando o computador pessoal foi lançado pela primeira vez, os entusiastas do computador se uniram imediatamente para criar aplicativos e resolver problemas. Esses entusiastas do computador ficaram felizes em compartilhar todos os programas que criaram e soluções para os problemas encontrados; essa colaboração permitiu que eles inovassem mais rapidamente e resolvessem problemas.

    No entanto, quando o software começou a se tornar um negócio, essa ideia de compartilhar tudo caiu em desuso para alguns. Quando um programa de software leva centenas de horas para ser desenvolvido, é compreensível que os programadores não queiram distribuí-lo. Isso levou a um novo modelo de negócios de licenciamento restritivo de software, que exigia o pagamento do software ao proprietário, um modelo que ainda é dominante hoje. Às vezes, esse modelo é chamado de código fechado, pois o código-fonte permanece propriedade privada e não é disponibilizado para terceiros. Microsoft Windows, Excel, Apple iOS são exemplos de software de código fechado.

    Há muitos, no entanto, que acham que o software não deve ser restrito. Como os primeiros amadores da década de 1970, eles acham que a inovação e o progresso podem ser feitos muito mais rapidamente se compartilharmos o que aprendemos. Na década de 1990, com o acesso à Internet conectando cada vez mais pessoas, o movimento de código aberto ganhou força.

    Software de código aberto é um software que tem o código-fonte disponível para qualquer pessoa copiar e usar. Para não programadores, não será muito útil, a menos que o formato compilado também seja disponibilizado para uso pelos usuários. No entanto, para programadores, o movimento de código aberto levou ao desenvolvimento de alguns dos softwares mais usados do mundo, incluindo o navegador Firefox, o sistema operacional Linux e o servidor web Apache.

    Algumas pessoas temem que o software de código aberto possa ser vulnerável a riscos de segurança, já que o código-fonte está disponível. Outros contestam que, como o código-fonte está disponível gratuitamente, muitos programadores contribuíram para projetos de software de código aberto, tornando o código menos problemático e adicionando recursos e corrigindo bugs muito mais rapidamente do que o software de código fechado.

    Muitas empresas desconfiam do software de código aberto justamente porque o código está disponível para qualquer pessoa ver. Eles acham que isso aumenta o risco de um ataque. Outros afirmam que essa abertura diminui o risco porque o código é exposto a milhares de programadores que podem incorporar alterações no código para corrigir vulnerabilidades rapidamente.

    Em resumo, alguns benefícios do modelo de código aberto são:

    • O software está disponível gratuitamente.
    • O código-fonte do software está disponível; ele pode ser examinado e revisado antes de ser instalado.
    • A grande comunidade de programadores que trabalham em projetos de código aberto leva à rápida correção de bugs e à adição de recursos.

    Alguns benefícios do modelo de código fechado são:

    • Fornecer um incentivo financeiro para desenvolvedores de software ou empresas
    • Suporte técnico da empresa que desenvolveu o software.

    Hoje, existem milhares de aplicativos de software de código aberto disponíveis para download. Um exemplo de software de produtividade de código aberto é o Open Office Suite. Um bom lugar para pesquisar software de código aberto é o sourceforge.net, onde milhares de aplicativos de software estão disponíveis para download gratuito.

    Licenças de software

    As empresas ou desenvolvedores são donos do software que criam. O software é protegido por lei por meio de patentes, direitos autorais ou licenças. Cabe aos proprietários do software conceder a seus usuários o direito de usar o software por meio dos termos das licenças.

    Para fornecedores de código fechado, os termos variam de acordo com o preço que os usuários estão dispostos a pagar. Os exemplos incluem usuário único, instalação única, multiusuários, várias instalações, por rede ou máquina.

    Eles têm níveis de permissão específicos para fornecedores de código aberto concederem usando o código-fonte e definem as condições da versão modificada. Os exemplos incluem distribuição gratuita, remixagem e adaptação para uso não comercial, mas com a condição de que o código-fonte recém-revisado também deva ser licenciado sob termos idênticos. Embora os fornecedores de código aberto não ganhem dinheiro cobrando pelo software, eles geram receitas por meio de doações ou da venda de suporte técnico ou serviços relacionados. Por exemplo, a Wikipédia é uma enciclopédia de conteúdo gratuito online amplamente popular usada por milhões de usuários. No entanto, depende principalmente de doações para sustentar sua equipe e infraestrutura.

    Referência

    Índice TIOBE de agosto de 2020. Recuperado em 4 de setembro de 2020, de https://www.tiobe.com