Informática Aplicada
Prof.: Bruno Rafael de Oliveira Rodrigues
O SOFTWARE E
AS LINGUAGENS DE PROGRAMAÇÃO
Softwares
O software é a parte lógica do sistema de computação. Ele é o programa de computador que dá capacidade ao processador para realizar as tarefas que desejamos.
Outras definições de software
É a parte lógica que dota o equipamento físico com a capacidade de realizar todo tipo de trabalho.
É o ingrediente que estabelece que o computador executará uma tarefa específica, isto é, um conjunto de instruções eletrônicas armazenadas em um meio de armazenamento.
É a estrutura que permite a um programa manipular informações corretamente.
Evolução do Software
Primeira era: por volta dos anos 50 e 60 Processamento em batch (em lotes) Poucos programas específicos para um tipo
de hardware Início de linguagens de alto nível como
Fortran, Cobol
Segunda era: anos 70 Utilização do mesmo programa por várias
pessoas simultaneamente Programas de banco de dados Pacotes de software para vender a vários
clientes
Terceira era: até o fim dos anos 80 Sistemas distribuídos Venda em massa de pacotes de software Uso da informática como assistente diário
pessoal Softwares utilitários (pacotes de escritório) Ambiente gráfico amigável Jogos
Futuro Computação distribuída (internet) Mais aplicações baseadas em IA Contínuo aumento de processamento e de armazenagem e redução do tamanho Softwares mais amigáveis
Tipos de Softwares
Mais comum Usuário paga por licença ou direito de uso Código não disponível Caixa com CD-ROM e manual Via internet
Freeware: São programas gratuitos, eles não expiram e você pode usá-los livremente que nunca terá que pagar nada por isso.
Adware: Também são programas gratuitos, mas trazem publicidade em forma de banners ou links que bancam os custos do desenvolvimento e manutenção do software. Muitos adwares oferecem versões pagas dos programas, sem propaganda, mas a compra neste caso é opcional, você pode ficar com a versão suportada por banners por quanto tempo quiser.
Shareware: São programas que após um determinado tempo de uso - este tempo varia de programa para programa - ou número de utilizações, perdem algumas ou todas as suas funcionalidades. Após este período você deve desisntalá-lo do computador ou registrá-lo através do pagamento de uma taxa ao desenvolvedor.
Demo: Este tipo de distribuição é mais comum em jogos. Os demos de jogos apresentam apenas algumas fases e servem para você analisar se vale a pena comprá-lo ou não. Os demos não expiram e nem podem ser registrados. Se você quiser comprar o software terá que recorrer a uma loja.
Trial: É semelhante ao tipo DEMO, mas se aplica a programas. Você pode testar o programa em sua totalidade, com todos os recursos e por quanto tempo quiser, mas geralmente não poderá salvar ou exportar os trabalhos feitos. Se quiser comprar o programa deverá ir a uma loja e comprar a caixa, não há opção para registrar o programa. Alguns programas Trial permitem que você salve e exporte os trabalhos por um certo tempo, mas após este tempo de uso a única opção é comprar o programa completo ou desinstalá-lo do computador.
SOFTWARE LIVRE Direito de uso com ou sem pagamento de
licença De código aberto (disponível) Permite alteração do usuário e redistribuição
pelo mesmo Licenças mais comuns: GPL: GNU public license of Free Software
Foundation BSD: Berkley Systems Developments
Categorias
APLICATIVOS LINGUAGENS DE PROGRAMAÇÃO SISTEMAS OPERACIONAIS
Aplicativos
Software para interação do ser humano com a máquina para obter funcionalidades
Exemplos: Editor de textos, jogos, planilhas
eletrônicas, navegador da internet, agenda,
controle de estoque etc.
Linguagem de Programação
Vocabulário (conjunto de palavras) mais
regras gramaticais Permitem definir ao computador “o quê” tem
que fazer e “como” Uma linguagem pode ser:
Compilada
Interpretada
Compilação
Processo que transforma o código fonte,
legível ao programador em código executável,
legível ao computador
Durante o processo de compilação são feitas três análises:
1. Léxica: subprocesso onde é verificado se as palavras usadas pelo progra-ador para criar instruções estão corretas e contidas no dicionário da referida linguagem.
2. Sintática: nesta etapa é verificado se existe uma lógica correta nas diversas palavras utilizadas pelo programador.
3. Semântica: uma vez utilizando palavras conhecidas pelo dicionário e aplicando uma lógica adequada, resta apenas verificar erros semânticos, como, por exemplo, a multiplicação entre um número e uma letra, que equivocadamente podem ocorrer.
Uma vez que essas análises terminem sem erros, um ligador é utilizado para agrupar as bibliotecas de função, ocasionalmente produzidas junto com o execu tável e torná-los todos independentes do compilador.
INTERPRETAÇÃO DE LINGUAGEM
A transformação do código fonte é feita a cada execução do programa pelo INTERPRETADOR
Essa transformação é efetuada à medida que o
processador executa o programa
As análises léxica, sintática e semântica são também aplicadas, porém pouco a pouco, à medida que a execução vai acontecendo dentro do processador.
Interpretação x Compilação
Programa compilado é mais rápido No programa compilado só é distribuído o
código executável Programa compilado preso a um sistema
operacional
No interpretado vai o interpretador com custo
de armazenagem e talvez de licença A interpretação é mais eficiente em tempo de
desenvolvimento É mais lenta Interpretada pode funcionar em S.O. diferentes
sem modificar o código fonte
LINGUAGENS DE PROGRAMAÇÃO
PRIMEIRA GERAÇÃO Linguagem de máquina em bits Operações do processador em hexadecimal Correspondência direta, instrução do
programador e o que o processador faz ASSEMBLY
SEGUNDA GERAÇÃO Mais independente da arquitetura da máquina Exemplos: FORTRAN COBOL BASIC ALGOL
TERCEIRA GERAÇÃO
Preocupação com a forma de pensar do
programador. Podem ser: De propósito geral: Pascal, PL/I, C, Ada Linguagens orientadas a objeto: Smalltalk,
C++, Java, Linguagens de internet*
∗ Linguagens de internet: ASP, Java, PHP Geralmente interpretadas e dinâmicas
QUARTA GERAÇÃO Linguagens de consulta Ambientes rápidos de desenvolvimento Geradores de programas Simplifica a análise e geração de código