Pesquisar este blog

domingo, 29 de abril de 2012

Web-aula 1
Relacionamento, trabalho, lazer, consumo e educação na era da Tecnologia.1
Prezado aluno, seja bem-vindo à nossa UNIDADE I! Na Web I, vamos falar sobre trabalho, lazer, consumo e educação na era da Tecnologia.
Vamos começar observando a charge abaixo.
Aproveite para refletir sobre as vantagens e as desvantagens do impacto da tecnologia na vida moderna.
Evolução Tecnológica
A evolução tecnológica foi uma conseqüência da necessidade de suprir as limitações humanas. O processamento da informação levou ao surgimento do computador eletrônico, o qual deu início à era da informática, a partir de 1945. Com a mecanização as tarefas que cabiam no cérebro humano passaram para a máquina.
Na história da humanidade vivenciamos a cada dia e a cada instante, grandes avanços científicos e tecnológicos, as transformações indicam que estamos vivendo em um tempo muito especial da história humana, as influências das tecnologias permeiam, nossa vida diária. Portanto, não se encontra restrito às fábricas, hospitais, lojas, escolas, mas na vida cotidiana. Uma época de abertura, de evolução e de novas conquistas em termos do conhecimento humano.
Lazer
O entretenimento, dentro da sociedade, tem sido possibilitado pelos avanços tecnológicos, entre os quais se destaca a Internet, o cinema, os vídeos domésticos ou DVDs, a televisão aberta, a TV por assinatura, a televisão digital, a música, os esportes, o vídeo e os PC games, principalmente para o segmento de público jovem. Os impactos econômicos do desenvolvimento do setor de entretenimento devem ser observados quando se analisa a sociedade contemporânea.
Pode ser proporcionado pelas diversas opções de jogos e entretenimento existentes no mercado: filmes, músicas, etc.
Para refletir: Você já parou para pensar como seria sua vida sem televisão, sem rádio, telefone ou internet?
Consumo
As novas tecnologias têm produzido efeitos significativos na forma de vida das pessoas também na forma como elas realizam suas compras.  Podemos fazer uma compra sem sair de casa a qualquer hora do dia ou da noite e, em qualquer dia da semana. A grande “questão” hoje é realizar este processo de forma segura.
Trabalho
A tecnologia da informação, como ferramenta estratégica, se acentua ainda mais a cada dia, tornando-se uma alavanca de inovação e gerenciamento para  as empresas, em um mercado de trabalho, onde, a concorrência  acirrada entre empresas, tornou a tecnologia, o grande diferencial competitivo para sobreviver a este ambiente dinâmico.
Relacionamentos
Você pode imaginar como as pessoas se relacionavam até pouco tempo atrás sem celular, rádio, msn, icq, skype, e-mail, orkut, dentre outros?
Namorar, falar com a família e amigos tomou novas dimensões nos dias de hoje.
Os recursos tecnológicos da sociedade pós-moderna mudaram para sempre a nossa concepção de tempo e espaço. Hoje, podemos trocar informações com pessoas em qualquer lugar do mundo, quase que instantaneamente, desde que tenhamos computadores “plugados” na grande rede mundial, a Internet. Texto, som, imagem trafegam pela rede a velocidades nunca.
Com tantos recursos tecnológicos desenvolvidos para facilitar a comunicação entre as pessoas não podemos ficar isolados. Mas precisamos estar atentos, pois não podemos igualar a emoção de uma experiência de uma simulação do vôo de ultraleve com a do vôo na realidade, com o vento batendo no rosto e o gostoso cheiro do mar.
Os recursos tecnológicos são instrumentos culturais da nossa época e devemos fazer a apropriação deles. Mas não podemos deixar de estar com as pessoas, não podemos deixar de tocar-lhes, não podemos deixar de falar-lhes, não podemos deixar de ouvir as suas confidências, não podemos deixar de fazer com que acreditem que a vida é bela.
Links:
Leia um artigo comunicação não é tecnologia é relacionamento.
Disponível em:
http://www.scribd.com/doc/196087/Artigo-Comunicacao-nao-e-tecnologia-e-relacionamento
Educação
As constantes mudanças e as novas tecnologias têm causado grandes transformações em curtos períodos de tempo, produzindo efeitos significativos na forma de vida das pessoas.  Essas tecnologias também têm afetado aos processos tradicionais de ensino e aprendizagem.
Auxiliando em pesquisas; na forma de preparar aulas, palestras, estudos; afetando profundamente os processos de geração, organização e difusão do conhecimento; Suporte e apoio na comunidade acadêmica; Acesso rápido à informação em tempo real.
O ensino a distância é uma modalidade educacional que utiliza esses recursos tecnológicos.  No entanto, esses recursos por si só, não são suficientes para você adquirir conhecimento.
A Educação a Distância é uma modalidade educacional sistematizada que realiza este processo utilizado a Tecnologia da informação.
Referências
IDOETA, Ivan Valeije; CAPUANO, Francisco Gabriel. Elementos de eletrônica digital. 32. ed. São Paulo: Érica, 2001. 528p.
ANGELONI, M. T. (Coord.). Organizações do conhecimento: infra-estrutura, pessoas e tecnologias. São Paulo: Saraiva, 2005. 215p.
OLIVEIRA, Fátima Bayma de (Org.). Tecnologia da informação e da comunicação: desafios e propostas estratégicas para o desenvolvimento de negócios.   São Paulo: Pearson, 2006. 256p
Web-aula 2
PROJETO DE IMPLANTAÇÃO DE UM PLANO PILOTO DE GERENCIAMENTO
Muitas vezes, as organizações encontram a melhor maneira de iniciar um projeto piloto envolvendo um ou mais departamentos antes de expandir o sistema por toda a empresa. Muitas empresas iniciam com Departamentos de Documentação ou com formação de uma comissão com representantes dos vários setores da organização, para uma maior discussão e aceitação, mas o GED pode ser implementado num departamento especifico e gradativamente abranger a organização como um todo.
Projetos pilotos permitem às organizações desenvolver e testar completamente os procedimentos de imagens antes de comprometer-se com uma solução empresarial (LASERFICHE, 2002).
A implantação de um sistema GED requer um amplo estudo das condições ambientais da organização, seus departamentos, suas áreas de atuação. Com base nos achados na literatura consultada, entende-se que se deve partir de um plano inicial – plano piloto – de gerenciamento para que as informações sejam protegidas e compartilhadas de forma segura.
Projeto de implantação do sistema GED
Para a implantação de um sistema GED numa organização, vários passos devem ser seguidos, alterando-se ou alternando-se conforme o tipo de empresa, mas, na essência, os critérios básicos são os mesmos.
Avaliação das condições ambientais para implantação do sistema GED De acordo com Laserfiche (2002), A escolha por um sistema GED consiste em um número significativo de questões que podem ser consideradas:
• Quantos documentos devem ser armazenados, considerando tanto o número de documentos existentes como os documentos adicionados manualmente?
Essa informação determina quanto espaço de armazenamento é necessário, a configuração de hardware e o custo do sistema;
• Quantos usuários irão utilizar o sistema ao mesmo tempo? Isso determina os custos de softwares preliminares e o tamanho do servidor;
• Quais departamentos irão utilizar o sistema e a que o público terá acesso? Isso determina quais características de especificação e níveis de segurança que serão necessários;
• Quais os problemas sérios devem, absolutamente, ser resolvidos e quais itens devem ser encaminhados para especificar características e níveis de segurança necessários.
• Qual a necessidade de uma solução padrão ou customizada? Isso determina o número de consultores, instalações, treinos, configurações e suporte que serão necessários;
• Que tipo de rede está sendo atualmente utilizada? Esse tipo de rede será mantido? Isso determina restrições, configurações de sistemas e atualizações de estações de trabalho.
Instalação
O primeiro passo de uma instalação deve ser a inspeção do local pela comissão de implantação do (GED), para determinar o equipamento necessário e os problemas de conectividade de redes. Instalar hardware envolve em desempacotar, conectar e configurar todos os componentes como instalação de sistemas operacionais e drivers. Isso também inclui testar os equipamentos para assegurar a funcionalidade adequada do hardware e a conectividade da rede (LASERFICHE, 2002).
Depois de testar o hardware, a instalação de software consiste em instalar o sistema GED no servidor e nas estações clientes e testá-lo.
Treinamento
O programa de treinamento deve direcionar diferentes níveis de usuários e diferentes preocupações. Requer ensinar aos usuários finais os mecanismos do sistema. Esse treino deve ser no local de trabalho. Cada grupo de usuários deve receber instruções necessárias para assegurar conforto com o novo sistema GED. O tempo de treinamento necessário irá depender do nível dos usuários em utilizar os aplicativos. O sistema GED facilita o uso das novas mudanças para procedimentos existentes fornecendo uma operação amigável e poucas mudanças nos procedimentos. É aconselhado montar grupos com até 10 usuários e que os participantes não sejam interrompidos durante o treinamento (LASERFICHE, 2002).
Administração do sistema
Para assegurar que o sistema GED funcione satisfatoriamente é importante treinar alguns indivíduos como administrar o sistema. O treinamento no próprio ambiente de trabalho é o mais recomendado porque aumenta a familiaridade com detalhes específicos do sistema GED (LASERFICHE, 2002).
Implementação de consultoria
Envolve aqueles que são responsáveis por gerenciamento de registros e documentos, e que desenvolvem estratégias para traduzir os documentos existentes em papel para sistema eletrônico. Os gerentes de atividades como registros de documentos necessitam entender a diferença dessa atividade entre papel e eletrônico, decisões de retenções de tempos, armazenamento e metodologias de trabalho devem ser definidas antes de iniciar o trabalho. A duração do treinamento depende da complexidade do sistema (LASERFICHE, 2002).
Benefícios do GED
Milhões de organizações ao redor do mundo utilizam GED todos os dias ao invés de sistemas de papéis. GED oferece um grande número de benefícios em relação a papel e microfilmes (LASERFICHE, 2002):
• Recuperação Rápida — permite que você encontre documentos rapidamente sem deixar a sua mesa de trabalho. Papel e microfilme são lentos porque os usuários devem ir até os arquivos e acessá-los manualmente;
• Indexação Flexível — pode indexar documentos em várias diferentes maneiras simultaneamente. Por outro lado, indexar papel e microfilme em mais de uma maneira é inoportuno, caro e consome tempo;
• Busca em texto – Texto Completo - GED pode recuperar arquivos por qualquer palavra no documento, recurso impossível com papel e microfilme;
• Sem perda de arquivos - documentos escaneados mantêm-se nas suas pastas quando são visualizados. Nenhum é perdido ou não localizado. Ainda mais, modelos de índice e buscas no texto completo podem localizar documentos se eles foram acidentalmente movimentados. Perdas de documentos são caras e consomem tempo para repô-los;
• Arquivo Digital - o risco de perda ou danificação de papel para documento eletrônico é reduzido com um sistema GED. Mantendo as versões de arquivos em sistemas GED, evita o manuseio dos documentos em papel que sofrem desgaste;
• Compartilhar arquivos facilmente — sistemas de GED fazem o compartilhamento facilitado de documentos entre colegas de trabalho e clientes pela mesma rede de computadores, por um CD ou pela WEB. Documentos de papel normalmente requerem uma fotocópia para serem compartilhados e microfilmes requerem conversão para papel;
• Melhora de Segurança - GED pode prover melhor e mais flexibilidade de controle sobre documentos. Controles de segurança nas pastas, documento individual, nível de palavras e/ou para diferentes grupos ou indivíduos. Em contraste, todos os documentos de papéis arquivados em um armário possuem o mesmo nível de segurança;
• Economia Espaço - GED irá ajudar a recuperar valioso espaço físico no escritório e arquivo permanente, reduzindo drasticamente as pilhas de papéis;
• Recuperação de desastres - GED provê um fácil caminho para fazer um backup dos documentos que podem ser localizados fora do departamento. Papéis são caros e fazer cópia de documentos é também uma maneira cara, sendo vulneráveis a incêndios, enchentes e roubos.Associando Tecnologia ao GED
A bibliografia disponível mostra que o GED não é uma tecnologia e sim um sistema que faz uso de tecnologias para solucionar os problemas de gerenciamento de documentos. Essas novas tecnologias podem ser subdivididas em quatro, sendo essas as mais importantes porque formaram, originalmente, a essência do GED.
Mas, com a constante evolução, surgiram novas necessidades do mercado e a integração entre os sistemas de informações das organizações, possibilitando que outras tecnologias fossem criadas (CENADEM, 2002).
Knowledge Management – KM
Engloba ferramentas para o gerenciamento do conhecimento (knowledge management) nas organizações. Esta tecnologia é formada por produtos híbridos das demais tecnologias citadas neste capítulo, principalmente aquelas que são âncoras do GED: Document Imaging, Document Management e Workflow. Consiste de mecanismos para organização da documentação e de processos, permitindo a formulação de uma grande base de conhecimento nas organizações. Combina a digitalização de documentos com sistemas de informação, criando uma potente ferramenta de suporte para as organizações (CENADEM, 2002).
É bastante utilizado em processos de Call Center , Help Desk e suporte a equipes de produção nas mais variadas áreas. Por exemplo, um provedor de serviços que possui suporte on-line utiliza-se de uma Knowledge Base, com informações sobre como dar suporte a seus clientes, principais problemas relatados e possíveis soluções.
Formas de Processamento
Esta tecnologia trata da captura de dados de formulários impressos. É empregada juntamente com recursos de OCR e ICR. Consiste-se em ferramentas que oferecem recursos para reconhecimento de caracteres em regiões determinadas de um formulário, transpondo para um banco de dados ou identificando alguma marca em um formulário, direcionando-o para uma operação específica no sistema. Esses caracteres podem estar impressos ou manuscritos, dependendo do tipo de documento processado.
Tais recursos são bastante empregados em empresas com equipes de vendas diretas que preenchem formulários de pedidos; na apuração de resultados de pesquisas; no processamento de passagens aéreas etc.
Gerenciamento do Conteúdo
É uma tecnologia que surgiu do Knowledge Management. Engloba ferramentas capazes de combinar todo o conteúdo de informações da organização canalizadas em uma única visão, ou seja, todas as informações referentes a determinado assunto podem ser buscadas diretamente de uma só vez. Por exemplo, pesquisando-se determinado cliente, têm-se e-mails referentes a negociações efetuadas, pedidos e notas fiscais de venda dos produtos.
Para utilizar uma ferramenta de Content Management a organização deve estar culturalmente organizada, utilizando os conceitos de centralização e controle de fluxo das informações, evitando redundâncias ou deficiências de dados (CENADEM, 2002).
Workflow
Workflow pode ser definido com um conjunto de tarefas para o controle do fluxo de processos de forma ordenada na organização. Corresponde às ferramentas que gerenciam o fluxo dos documentos, disponibilizando critérios para o controle desse fluxo, ou seja, oferecendo recursos de inclusão, aprovação ou rejeição de informações no documento. Existem basicamente dois tipos de workflow (KOCH, 1998):
Com o software de workflow, os usuários podem elaborar programas (scripts) que detalham para onde cada documento deve seguir numa organização, mapeiam e controlam todos os documentos que entram no sistema. Os scripts podem especificar em quais estações de trabalho a imagem de um documento deve aparecer e que outras imagens devem estar junto com ela na tela, em todas as categorias de documentos.
Segundo Avedon (2002), após a implantação da tecnologia, o próximo passo é mudar os procedimentos que já estão enraizados há décadas para que os funcionários comecem a se adaptar ao sistema. Nesse caso, entra o conceito de organização e métodos dos procedimentos de automação, o Workflow, pois não adianta substituir papel por disco óptico e continuar a manter processos antigos de organização e métodos.
As ferramentas de workflow de produção possuem interfaces gráficas para o desenvolvimento da aplicação, em que o fluxo é definido através do uso de ícones.
Possuem, ainda, o papel de automatizar a disponibilização das ferramentas necessárias para a execução das diversas atividades.
Captura de imagens
A tecnologia Document Imaging trata da digitalização e armazenamento de documentos. Engloba as ferramentas de escaneamento, captura e armazenamento de documentos, tendo como objetivo principal a sua recuperação através de índices pré-definidos ou índices textuais, que são gerados a partir de OCR ou drivers de impressão virtual, descrito em (CDIA MANUAL, 2000).
Chama-se de digitalização ou escaneamento o processo de converter imagens em papel para arquivos no computador. Os documentos são preparados e submetidos ao scanner que os “fotografa” gerando um arquivo imagem do documento em papel. O arquivo gerado pode conter a imagem de uma única folha de papel ou ser um arquivo com várias imagens.
Cada produto de gerenciamento de imagem possui suas características de como administrar esses detalhes. Dependendo da necessidade, utiliza-se um tipo de arquivo para guardar as imagens. Atualmente, o padrão mais utilizado para as imagens comerciais é o TIFF com um fator de compactação em 200 dpi preto e branco.
O tipo do arquivo deve ser escolhido de acordo com o que se quer fazer, mas geralmente os produtos de gerenciamento de documentos se encarregam desta missão organizando ou convertendo os arquivos quando necessário.
A Tarefa
Você está sendo convidado a refletir neste momento sobre os aspectos relacionados a tecnologias de GED. Então, responda:  1) Qual a função da tecnologia Workflow?  2) Cite duas vantagens (benefícios) em se implementar uma solução de GED.  3) O que é Document Imaging?
Conclusão
Esta leitura tem como objetivo conhecer tecnologias de Gestão Eletrônica de Documentos e os benefícios em sua implementação..
Parabéns a todos que chegaram até aqui!
Boa sorte e sucesso na carreira e no curso!!!
Pesquisando
Você pode assistir a diversos vídeos inerentes a GED no Youtube.
Referências
BALDAM, Roquemar. Gerenciamentos eletrônico de documentos.  São Paulo: Érica, 2004.
MORENO, Nádina Aparecida.  Gestão em arquivologia. Londrina: EDUEL, 2008
Web-aula 1
Conceitos - programação modular1
Programação Modular
Subrotinas
No geral, problemas complexos exigem algoritmos complexos, mas sempre é possível dividir um problema grande em problemas menores. Desta forma, cada parte menor tem um algoritmo mais simples e é este trecho menor é chamado de subrotina. Uma subrotina é na verdade, um programa, e sendo um programa poderá efetuar diversas operações computacionais (entrada, processamento e saída) e deverá ser tratado como foram os programas projetados até este momento. As subrotinas são utilizadas na divisão de algoritmos complexos, permitindo assim, possuir a modularização de um determinado problema considerado grande e de difícil solução.
Ao se trabalhar com esta técnica, pode-se deparar com a necessidade de se dividir uma subrotina em outras tantas quantas forem necessárias, buscando uma solução mais simples de uma parte do problema maior. O processo de dividir subrotinas em outras é denominado Método de Refinamento Sucessivo.
Procedimentos
Um procedimento é um bloco de programa, contendo início e fim e será identificado por um nome, através do qual será referenciado em qualquer parte do programa principal ou do programa que chama a rotina. Quando uma subrotina é chamada por um programa, ela é executada e ao seu término o controle de processamento retorna automaticamente para a primeira linha de instrução após a linha que efetuou a chamada da subrotina.
A melhor maneira de se entender como trabalhar com subrotinas é fazer a sua aplicação em um programa mais complexo. Para tanto, imagine o seguinte problema:Exemplos:
Um programa de calculadora que apresenta um menu de seleções no programa principal. Este menu deverá dar ao usuário a possibilidade de escolher uma entre quatro operações aritméticas. Escolhida a opção desejada, deverá ser solicitada a entrada de dois números, e processada a operação, o resultado deverá ser exibido. Note que este programa deverá ser um conjunto de 5 rotinas, uma principal e 4 secundárias. A rotina principal efetuará o controle sobre as 4 rotinas secundárias, que por sua vez pedirão a leitura de dois valores, farão a operação e apresentarão o resultado obtido. Observe agora a codificação:
ALGORITMO "calculadora" VAR Opcao : inteiro
Obs.: Observe que cada subrotina possui suas próprias variáveis, estas porém só podem ser acessadas dentro de cada procedimento, neste caso são chamadas de variáveis locais. A variável opção é uma variável global que pode ser acessada em qualquer local do programa, tanto nos procedimentos quanto no programa principal.
Funções
Uma função também é um bloco de programa como são os procedimentos, contendo início e fim e sendo identificado por um nome através do qual também será referenciada em qualquer parte do programa principal. Uma subrotina de função é na verdade muito parecida com uma subrotina de procedimento. A sintaxe em português estruturado será também idêntica ao exemplo anterior. Observe a seguir, o código em português estruturado de uma função.
A sua principal diferença entre a função e a subrotina (procedimentos) está no fato de que uma função retorna um determinado valor, que é retornado no próprio nome da função. Quando se diz valor, devem ser levados em consideração os valores numéricos, lógicos ou literais (caracteres).Utilização de Funções
Criaremos uma função que eleva ao cubo um determinado número inserido pelo usuário. Observe o Programa:
Observe que neste caso o parâmetro formal foi a variável "N", enquanto o parâmetro real foi a variável "I".
Subrotinas – Conceitos
Parâmetros Formais são declarados através de variáveis juntamente com a identificação do nome da subrotina, os quais serão tratados da mesma forma que são tratados as variáveis globais ou locais.
Parâmetros Reais é uma lista de argumento podendo ser valores constantes ou variáveis que são passados no memento que efetua a chamada da subrotina (exemplo: soma(10, 20, X, Y).
No caso da passagem de parâmetro for por referência não poderão ser passados valores como exemplificado 10 e 20, visto que não possuem endereço de memória.
Passagem de parâmetro por referência caracteriza-se pela ocorrência da alteração do valor do parâmetro real quando o parâmetro formal é manipulado dentro da subrotina.  Desta forma, qualquer modificação feita no parâmetro formal implica em alteração no parâmetro real correspondente. A alteração é efetuada e devolvida para a rotina chamadora.
Passagem de parâmetro por valor caracteriza-se pela não alteração do valor do parâmetro real quando o parâmetro formal é manipulado dentro da sub-rorina. Assim sendo, o valor passado pelo parâmetro real é copiado para o parâmetro formal, que no caso assume o papel da variável local da subrotina. Dessa forma, qualquer modificação que ocorra na variável local da subrotina não afetará o valor do parâmetro real correspondente, ou seja, o processamento é executado somente dentro da rotina, ficando o resultado obtido “preso” dentro da rotina.
Variável global é declarada no início de um programa, podendo ser utilizada por qualquer subrotina subordinada.
Variável local é declarada dentro de uma subrotina e é somente válida dentro da subrotina à qual está declarada; ou seja, depois que a subrotina é finalizada a variável local se torna inacessível.
Passagem de parâmetros por VALOR
EXEMPLO: O código abaixo mostra um exemplo de um algoritmo que realiza a leitura de dois números reais e chama um procedimento que mostra a soma dos números lidos. 
OBSERVAÇÃO:
• Os parâmetros formais (X e Y) e reais (A e B) devem ser do mesmo tipo;
• A passagem de parâmetro é por valor através dos parâmetros reais (A e B) é passado uma cópia para os parâmetros formais (X e Y);
• A e B são variáveis locais ao procedimento.
Passagem de parâmetros por REFERÊNCIA
Web-aula 2
Programação de Computadores
Programação de Computadores
Programação é o processo de escrita, teste e manutenção de um programa de computador. O programa é escrito em uma linguagem de programação, embora seja possível, com alguma dificuldade, escrevê-lo directamente em linguagem de máquina.
Uma linguagem de programação (poderá consultar uma lista de linguagens de programação no link:http://pt.wikipedia.org/wiki/Anexo:Lista_de_linguagens_de_programa%C3%A7%C3%A3o é um método padronizado para expressar instruções  para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão  armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.
O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador.
Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (código de máquina). Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez.
Interpretação e compilação
As linguagens de programação podem, grosso modo, classificar-se em duas categorias: a) as linguagens interpretadas, b) as linguagens compiladas.
Linguagens compiladas e interpretadas
Linguagens de programação são frequentemente classificadas como compiladas ou interpretadas. Nas compiladas, o texto (ou código-fonte) do programa é lido por um programa chamado compilador, que cria um arquivo binário, executável diretamente pelo hardware da plataforma-alvo. Ou seja, O compilador lê o programa e o traduz completamente antes que o programa comece a rodar. Neste caso, o programa escrito em linguagem de alto nível é chamado de código fonte e o programa traduzido é chamado de código objeto ou executável. Uma vez que um programa é compilado, você pode executá-lo repetidamente, sem que precise de nova tradução. Exemplos deste tipo de linguagem são C ou Fortran. A imagens abaixoa apresentam o processo de compilação.
Em contrapartida, programas escritos em linguagens interpretadas não são convertidos em um arquivo executável. Eles são executados utilizando outro programa, o interpretador, que lê o código-fonte e o interpreta diretamente, durante a sua execução. Ou seja, o interpretador lê um programa escrito em linguagem de alto nível e o executa. Ele processa o programa um pouco de cada vez, alternadamente: ora lendo algumas linhas, ora realizando computações. Exemplos de linguagem interpretada incluem o BASIC tradicional, Perl e Python.
Compilador Versus Interpretador
Um programa compilado geralmente executa mais rapidamente que um programa interpretado. A vantagem do interpretador é que ele não necessita passar por um estágio de compilação durante a qual as instruções de máquina são geradas. Este processo pode consumir muito tempo se o programa é longo. O interpretador, por outro lado, pode executar imediatamente os programas de alto-nível.
O quadro abaixo apresenta comparativo entre as linguagem compiladas e interpretadas.
Sistemas de Interpretação Híbridos
Alguns sistemas de implementação de linguagem são um meio-termo entre os compiladores e os interpretadores puros; eles traduzem programas em linguagem de alto nível para uma linguagem intermediária projetada para permitir fácil interpretação. Esse método é mais rápido do que a interpretação pura porque as instruções da linguagem fonte são decodificadas somente uma vez. Essas implementações são chamadas de sistemas de implementação híbridos.
Poderá consultar uma abordagem mais completa sobre compiladores no link:
Paradigmas de linguagens de programação
Em programação, os paradigmas começaram a ser introduzidos e chamados como tais a partir de 1975. Nessa época, já era evidente a existência de um paradigma básico de programação, o imperativo, que era representado por linguagens como Fortran, Algol e Pascal. Em contraposição, LISP e linguagens derivadas davam suporte a um outro paradigma, o funcional, cujos programas eram expressos através de composições de funções. Na década de 80 surgiu um novo paradigma, o lógico, baseado no reconhecimento de Prolog e outras linguagens baseadas em lógica. Também nesta época surgiram as linguagens orientadas a objeto.
A figura abaixo sumariza a história desta evolução das linguagens de programação que deu origem a diferentes linguagens de diferentes paradigmas de programa (como pode observar na figura várias linguagens surgiram como evolução de outra linguagem). Quando uma linguagem pertence ao mesmo paradigma elas possuem basicamente estruturas semelhantes.
Obs: os artigo dispoinível em : http://fit.faccat.br/~guto/artigos/Artigo_Paradigmas_de_Programacao.pdf e http://www.inf.unisinos.br/~barbosa/grefe/atividades/at1/joao_1.pdf descrevem os paradigmas de programação apresentados na figura acima (Orientado a objeto, Imperativo, funcional e lógico).
Descrição de algumas das linguagens apresentadas na figura anterior:
• Fortran é a precursora de todas as linguagens imperativas modernas. Linguagem oficial dos antigos mainframes da IBM. Ainda muito usada em supercomputadores, como o CRAY, por físicos e engenheiros.
• Algol apresentou o primeiro esboço interessante de uma linguagem de programação moderna, incluindo conceitos como estruturas de blocos e procedimentos. Não saiu dos limites da academia.
• Cobol foi criada para o desenvolvimento de aplicações comerciais. Foi desbancada pelo surgimento dos sistemas gerenciadores de bancos de dados. Ainda existem muitos sistemas desenvolvidos nesta linguagem em fase de manutenção.
• Simula é precursora das linguagens orientadas a objetos. Smalltalk é certamente a única linguagem orientada a objetos pura.
• Pascal é a linguagem mais popular de todas as descendentes de Algol. Simples, sistemática e com implementações eficientes foi o carro-chefe da Borland por muitos anos. É uma das linguagens mais recomendadas para ensino de programação. De Pascal surgiram muitas outras linguagens como Modula-2 e Delphi, que passou a incorporar orientação a objetos e definição/manipulação de dados (SQL).
• C é ainda hoje uma das linguagens mais utilizadas, principalmente no ambiente Unix para o qual foi desenvolvida. Sua marca maior é a eficiência, porém construções de baixo nível tornam seus programas difíceis de serem lidos e depurados. A partir de C, surgiram as linguagens C++ e Java, as quais incorporaram o paradigma de orientação a objetos, porém a segunda eliminou o uso explícito de apontadores e deu ênfase a programação distribuída na Internet, fator primordial de seu sucesso.
• Em outra linha de desenvolvimento, inicialmente voltado para aplicações de inteligência artificial, sugiram as linguagens funcionais e lógicas. Lisp – linguagem funcional – foi a precursora. A linguagem Prolog é largamente utilizada ainda hoje para o desenvolvimento de aplicações cognitivas (novo nome para inteligência artificial). As linguagens funcionais têm ML como representante de maior sucesso. Vale ressaltar também Haskell e Miranda – uma linguagem funcional pura.

Nenhum comentário:

Postar um comentário