Linguagens de Programação 10 Avaliação de Linguagens
|
|
- João Vítor Pacheco Garrau
- 5 Há anos
- Visualizações:
Transcrição
1 Linguagens de Programação 10 Avaliação de Linguagens Vítor E. Silva Souza ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Este obra foi licenciada sob uma Licença Creative Commons Atribuição 3.0 Não Adaptada.
2 Conteúdo do curso Introdução; Amarrações; Valores e tipos de dados; Variáveis e constantes; Expressões e comandos; Modularização; Polimorfismo; Exceções; Concorrência; Avaliação de linguagens. Estes slides foram baseados em: Slides do prof. Flávio M. Varejão; Livro Linguagens de Programação Conceitos e Técnicas (Varejão); Livro Linguagens de Programação Princípios e Paradigmas, 2a edição (Tucker & Noonan). Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 2
3 Linguagens de programação Fundamentais para o profissional de computação; Envolvida em diversas etapas do processo de software: Viabilidade de um projeto; Estimativa de tempo e custo; Definição do paradigma de desenvolvimento; etc. Conhecimento dos conceitos teóricos: Maior habilidade para resolver problemas; Mais facilidade para aprender novas LPs; Maior capacidade de escolher a LP para um projeto. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 3
4 Critérios de comparação Dificuldade para definir: Inúmeras possibilidades; Granularidade; Dependência do contexto; Opiniões divergentes; Etc. Isso se aplica mesmo a essa aula (visão do professor sobre o assunto) e ao capítulo do livro do Flávio (visão do autor sobre o assunto)! Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 4
5 Alguns critérios gerais Aplicabilidade; Confiabilidade; Facilidade de aprendizado; Eficiência; Portabilidade; Suporte ao método de projeto; Evolutibilidade; Reusabilidade; Integração com outros softwares; Custo. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 5
6 Alguns critérios específicos Escopo; Expressões e comandos; Tipos primitivos e compostos; Gerenciamento de memória; Persistência de dados; Passagem de parâmetros; Encapsulamento e proteção; Sistema de tipos; Verificação de tipos; Polimorfismo; Exceções; Concorrência. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 6
7 Comparações entre LPs Dificuldade para realizar; Não existe uma LP melhor que outra: Depende do contexto de uso; Depende do critério avaliado; Comparações refletem visão do autor. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 7
8 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 8
9 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado C Não e C++ são linguagens Não de propósito Não geral. Eficiência Java, contudo, não oferece recursos para Sim Sim Parcial controlar diretamente o hardware, obrigando Portabilidade Não o programador a Não usar métodos nativos. Sim Método de projeto Estruturado Estruturado e OO Evolutibilidade Não Parcial Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial OO Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 9
10 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não C e C++ possuem inúmeras características Eficiência estimuladoras Sim de erros Simem programação Parcial (ex.: Portabilidade desvio Não incondicional Não irrestrito, aritmética Sim de ponteiros, etc.). Java centraliza certas Método de Estruturado operações para Estruturado evitar problemas e (ex.: OO projeto OO verificação de índices de vetor, coleta de lixo, Evolutibilidade Não Parcial etc.) Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 10
11 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não! Não Eficiência Sim Sim Parcial Embora C e Java sejam mais fáceis de Portabilidade aprender Não que C++, Não nenhuma das LPs Simatende Método de Estruturado ao critério. C exige Estruturado uso massivo e de ponteiros, OO projeto que não é um conceito OO trivial. Java apresenta Evolutibilidade muitos conceitos, nem sempre ortogonais. Não Em especial as Parcial versões mais recentes Sim Reusabilidade Parcial adicionaram bastante Sim complexidade Sim(ex.: Integração tipos genéricos, closures, etc.). Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 11
12 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim O critério toma como base programadores Método de Estruturado muito experientes. Estruturado Neste caso, e C permite OO um projeto controle mais fino e é OOportanto mais eficiente. Evolutibilidade C++ Não vai na mesma Parcial linha. Java assume Sim o controle de diversos aspectos, adicionando Reusabilidade mecanismos Parcial de verificação, Sim coleta de Simlixo, Integração Sim etc. que diminuem Sim a eficiência. Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 12
13 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO projeto Embora C e C++ sejam OO padronizadas pela Evolutibilidade ANSI, é comum compiladores diferentes Não Parcial Sim terem características diferentes. Java, por Reusabilidade outro Parciallado, tem a portabilidade Sim como Simuma Integração característica fundamental da LP. Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 13
14 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Esse critério depende da escolha do Reusabilidade Parcial Sim Sim paradigma adotado no projeto. Contudo, cada Integração vez Sim mais o paradigma SimOO vem sendo Parcial adotado Custo em projetos de sistemas de informação. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 14
15 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de projeto Estruturado Estruturado e OO OO Evolutibilidade Não Parcial Sim Reusabilidade C Parcial possui características Sim que permitem Simcódigo Integração ilegível Sim e difícil de manter. Sim C++ melhora Parcialesse aspecto quando a orientação a objetos é Custo usada (estímulo ao encapsulamento e abstração). Java só admite programação OO e ainda oferece estímulo para construção de código bem documentado (ex.: JavaDoc). Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 15
16 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência C Sim oferece apenas reuso Sim de funções, Parcial tipos e Portabilidade variáveis Não distribuídas Nãoem bibliotecas. Sim C++ e Java oferecem o conceito de classes e Método de Estruturado possuem mecanismo Estruturado de e pacotes. OOO projeto OO polimorfismo universal também auxilia na Evolutibilidade criação Não de código Parcial reutilizável e frameworks. Sim Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 16
17 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO C e C++ podem invocar código compilado por projeto OO qualquer LP. Java tem que recorrer ao Evolutibilidade mecanismo Não JNI (Java Parcial Native Interface), Sim que integra com C/C++ apenas. Reusabilidade Parcial Sim Sim Integração Sim Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 17
18 Critérios gerais C C++ Java Aplicabilidade Sim Sim Parcial Confiabilidade Não Não Sim Aprendizado Não Não Não Eficiência Sim Sim Parcial Portabilidade Não Não Sim Método de Estruturado Estruturado e OO projeto C e C++ são de OO domínio público. Java Evolutibilidade pertence à Oracle, porém é liberada Não Parcial Sim gratuitamente. Existem inúmeras s Reusabilidade Parcial gratuitas e pagas. Sim escolha Sim da Integração Sim equipe de desenvolvimento. Sim Parcial Custo Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 18
19 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Sim Sim Sim Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 19
20 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos As Sim três LPs requerem Sim a definição explícita Sim de entidades, associando-as a um escopo de Sim visibilidade. Há Sim pequenas diferenças. Sim Gerenciamento de memória Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 20
21 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos Sim Sim Sim Todas Sim oferecem uma Sim ampla variedade Sim de expressões e comandos. Gerenciamento de memória Programador Programador Sistema Persistência dos dados Biblioteca de funções Biblioteca de classes e funções JDBC, biblioteca de classes, serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 21
22 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Todas oferecem ampla variedade de tipos Programador primitivos (mas Programador C não oferece booleano) Sistema e compostos (mas nenhuma oferece conjunto Biblioteca potência). de Recentemente, Biblioteca de Java 8 JDBC, incluiu biblioteca o tipo funções função na linguagem classes e (vide closures). de classes, funções serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 22
23 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Programador Programador Sistema Biblioteca C/C++ deixam a Biblioteca cargo do de programador. JDBC, biblioteca Java funções classes e de classes, utiliza coletor de lixo. funções serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 23
24 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Passagem de parâmetros Sim Sim Sim C/C++ oferecem funções de I/O, mas deixam persistência a cargo do programador. Não Sim Sim Sim existe padrão para interface com BD. Java possui serialização e padronizou interface com Programador BD no JDBC, além Programador de ter operações Sistema de I/O. Biblioteca de funções Lista variável e por valor Biblioteca de classes e funções Lista variável, default, por valor e por referência JDBC, biblioteca de classes, serialização Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 24
25 Critérios específicos C C++ Java Escopo Sim Sim Sim Expressões e comandos Sim Sim Sim Tipos primitivos e compostos Gerenciamento de memória Persistência dos dados Sim Sim Sim Programador Programador Sistema C usa apenas passagem por valor, obrigando o uso de ponteiros em diversas ocasiões. C++ Biblioteca de Biblioteca de JDBC, biblioteca oferece funçõeso maior leque classes de e opções. de Java classes, incluiu varargs funções na versão 5. serialização Passagem de parâmetros Lista variável e por valor Lista variável, default, por valor e por referência Lista variável, por valor e por cópia de referência Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 25
26 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Dinâmica Coerção e sobrecarga Todos Estática / Dinâmica Todos Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 26
27 Critérios específicos C C++ Java Encapsulamento e proteção Parcial Sim Sim Sistema de tipos C oferece Não apenas encapsulamento Parcial de Simdados. Versões recentes permitem ocultamento com Verificação de declaração Estática (.h) & Estática definição / (.c). Java Estática e C++ / tipos oferecem mecanismo Dinâmica de classes e Dinâmica pacotes. Polimorfismo Coerção e sobrecarga Todos Todos Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 27
28 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de Estática Em C, diversos Estática mecanismos / (ex.: Estática uniões / tipos livres, coerções Dinâmica e aritmética de ponteiros) Dinâmica permitem violação do sistema de tipos. C++ Polimorfismo Coerção e Todos Todos sobrecarga herda isso, mas possui sistema de tipos mais rigoroso se usado em sua forma OO. Java Exceções possui Não um sistema Parcial de tipos bastante Sim rigoroso. Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 28
29 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Estática Estática / Dinâmica Estática / Dinâmica Polimorfismo Coerção e Todos Todos Todas as verificações de C são estáticas. C++ sobrecarga e Java fazem algumas verificações dinâmicas Exceções (ex.: Nãoamarração tardia, Parcialverificação de Simíndice de vetor). Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 29
30 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Dinâmica Coerção e sobrecarga Todos Estática / Dinâmica Todos Exceções Não Parcial Sim C não possui polimorfismo paramétrico ou de inclusão. C++ e Java possuem todos, porém Concorrência Não Java (biblioteca não permite Não sobrescrita (biblioteca de operadores. Sim de funções) de funções) Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 30
31 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Polimorfismo Estática Estática / Estática / C não oferece. C++ Dinâmica oferece, mas Dinâmica não obriga seu uso. Java oferece um sistema bastante Coerção e Todos Todos sobrecarga rigoroso de tratamento de exceções. Exceções Não Parcial Sim Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 31
32 Critérios específicos Encapsulamento e proteção C C++ Java Parcial Sim Sim Sistema de tipos Não Parcial Sim Verificação de tipos Estática Estática / Dinâmica Estática / Dinâmica Polimorfismo Coerção e Todos Todos sobrecarga Java oferece recursos nativos para exclusão Exceções mútua Não (synchronized) Parcial e oferece threads Sim em sua API básica. Concorrência Não (biblioteca de funções) Não (biblioteca de funções) Sim Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 32
33 Procure saber Vários autores já fizeram comparações entre LPs; Procure saber: Algumas referências no livro do Flávio; Google Scholar, ACM DL, IEEE Xplorer, SpringerLink, etc. Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 33
34 Outubro 2014 Linguagens de Programação - Avaliação de Linguagens 34
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes
Gabriel Giorisatto De Angelo Luiz Otávio Gerhardt Fernandes Histórico Desenvolvida em 2012 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman Gratuita, Open Source e licenciada sob a Licença
Leia maisProgramação Estruturada Orientada a Objetos
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Programação Estruturada Orientada a Objetos Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com
Leia maisGroovy. Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado
Groovy Cleisson Santos Guterres Lucas Augusto Santos Renato Menezes Machado Introdução Groovy é uma linguagem de programação orientada a objeto para a plataforma Java. É dinamicamente compilada na JVM,
Leia maisGRUPO: Rafael Igor Vanderlei Vieira
GRUPO: Rafael Igor Vanderlei Vieira C# INTRODUÇÃO Paradigmas: Orientado a objeto; Estruturado; Imperativo; Surgimento: 2002. Criador: Anders Hejlsberg. Principais Compiladores:.NET Framework (Windows),
Leia maisHistórico de Linguagens de Programação
Bacharelado em Ciência da Computação PARADIGMAS DE PROGRAMAÇÃO Histórico de Linguagens de Programação Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Objetivos Geral: Estudar as características
Leia maisConceitos de Linguagens de Programação - Características. Paavo Soeiro
Conceitos de Linguagens de Programação - Características Paavo Soeiro Motivação Para que possa escolher uma linguagem apropriada ao problema. Melhorar o entendimento da linguagem utilizada. Facilitar o
Leia maisLinguagens de Programação 2016/2
Linguagens de Programação 2016/2 Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Antes
Leia maisGabriel Santa Clara Ucelli
Gabriel Santa Clara Ucelli 1. Histórico 2. Introdução 3. Visão Geral 4. Conceitos Básicos 5. Aspectos Teóricos 6. Avaliação da Linguagem 7. Referências Sumário Histórico Scala foi desenvolvida em 2001
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 1: Introdução e Conceitos Básicos Professora Sheila Cáceres O que é um paradigma??? Paradigmas de Linguagens - Sheila Cáceres 2 O que é um paradigma??? Paradigmas de Linguagens
Leia maisLinguagens de Programação. Introdução. Carlos Bazilio
Linguagens de Programação Introdução Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp ??? Pascal aux := 0 for i:=1 to 10 do aux := aux + i 10: i = 1 20: if i > 10 goto 60
Leia maisHistórico. Perl (Practical Extraction and Report Language). Criada por Larry Wall em 1987.
www.perl.org Sumário 1. Histórico 2. Características 3. Compilação/Interpretação 3.1. Procedimento; 1. Sintaxe 1. Variáveis; 2. Escopo; 3. Operadores; 4. Controle de Fluxo; 5. Estruturas de Repetição 5.
Leia maisLinguagens de Programação Scala. Gabriel Favalessa Gustavo Andrade
Linguagens de Programação Scala Gabriel Favalessa Gustavo Andrade Sumário Histórico Introdução/Conceitos Básicos Aspectos Teóricos Avaliação da Linguagem Referências Histórico Scala foi desenvolvida em
Leia maisPLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Leia maisSeminário de Linguagens de Programação. Grupo: Felipe de Aquino Fernandes
Seminário de Linguagens de Programação Grupo: Felipe de Aquino Fernandes História Surgiu em 1989; Criada por Guido van Rossum; Inspiração para o nome: Monty Python and the Flying Circus; Licença compatível
Leia maisProjeto de Linguagem. Linguagens de Programação
Projeto de Linguagem Renato Ferreira Linguagens de Programação Linguagens são adotadas para preencher uma demada Facilitar uma aplicação outrora difícil/impossível Independente da qualidade da linguagem
Leia maisLinguagens. Programação
Linguagens de Programação Professor: Vítor Souza Grupo: Gustavo Tavares Linicker Harison Rodrigo Barcellos Seminário Criad apelo Google Lançada em novembro de 2007 Código livre em 2009 Primeira versão
Leia maisConceitos de Linguagens de Programação
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 (rogerio@fct.unesp.br) Aula 6 Subprogramas
Leia maisVerificação de Tipo. Unions. Verificação de tipo estática. Verificação de tipo dinâmica
Verificação de Tipo Atividade que certifica que os operandos de um operador são de tipos compatíveis. São considerados operadores e operandos: operadores usuais (aritméticos, relacionais, etc) subprogramas
Leia mais6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Leia maisUniversidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática. Erlang. Luiz Carlos Passamani Filho.
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Erlang Luiz Carlos Passamani Filho Vitoria, 2015 Agenda Introdução Amarrações Valores e tipos de dados Variáveis e
Leia maisAula 1 Java Prof. Dr. Sylvio Barbon Junior
5COP101 Linguagens de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sumário 1) Razões para Estudar Conceitos de LP; 2) Domínios das Linguagens de Programação 3)
Leia maisLinguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
Leia maisIntrodução a Orientação a Objetos
Introdução a Orientação a Objetos Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 01 - Introdução 1 Qualidade de Software Obter
Leia maisAspectos preliminares
Aspectos preliminares Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisLinguagens de Programação
Linguagens de Programação Prof a Jerusa Marchi Departamento de Informática e Estatística Universidade Federal de Santa Catarina e-mail: jerusa@inf.ufsc.br Linguagens de Programação p. 1/5 Linguagens de
Leia maisParadigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
Leia maisSistemas Distribuídos e Paralelos
Sistemas Distribuídos e Paralelos Aula #6: Programação paralela em sistemas de memória compartilhada. ISUTIC - 2016 Eng. Alexander Rodríguez Bonet Aula de hoje Regiões paralelas. Cláusulas de âmbito. Partilha
Leia maisExpressões e sentença de atribuição
Expressões e sentença de atribuição Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisAgenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software
Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso
Leia maisCarlos Eduardo Batista. Centro de Informática - UFPB
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes
Leia maisLinguagens de Programação 2 Amarrações
Linguagens de Programação 2 Amarrações Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo
Leia maisAULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Leia maisLua. Simple things simple, complex things possible. André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores
Lua ple things simple, complex things possible André Martinelli, Breno Krohling, Israel Santos, Matheus Vieira, Pedro Henrique Flores 1 Introdução 2 Histórico Desenvolvida pelo grupo Tecgraf da PUC-Rio
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização
Leia maisConceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Leia maisINF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores
Leia maisLinguagens de Programação. Marco A L Barbosa
Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl
Leia maisProgramação Orientada a Objetos
Programação Orientada a Objetos Classes e Objetos Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Lembrando Na Unidade II Modelagem Orientada a Objetos, vimos: Como utilizar
Leia maisAULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
Leia maisLinguagens de Programação Conceitos e Técnicas. Amarrações
Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador
Leia maisPROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br
Leia maisSEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Visão Geral dos Paradigmas Quais os paradigmas mais comuns? Do que é composto um programa
Leia maisProgramação orientada a objetos
Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes
Leia maisFIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno
FIC-POO Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Apresentação Professor Bruno Neiva Moreno E-mail institucional: bruno.moreno@ifrn.edu.br
Leia maisDesenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.
Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um
Leia maisSEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.
Leia maisCurso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Leia maisJava Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático
Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos
Leia mais[Desenvolvimento OO com Java] Organizando suas classes
Centro Tecnológico Departamento de Informática Prof. Vítor E. Silva Souza http://www.inf.ufes.br/~vitorsouza [Desenvolvimento OO com Java] Organizando suas classes Este obra está licenciada com uma licença
Leia maisProgramação orientada a objetos
J100 com Programação orientada a objetos TM SE Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Este curso tem como objetivo iniciá-lo em Java... mas não apenas isto Visa também a ajudá-lo
Leia maisProgramação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Leia maisSumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59
Sumário Capítulo 1 Introdução 29 1.1 O que é programação? 30 1.2 A anatomia de um computador 31 1.3 Traduzindo programas legíveis pelo homem em código de máquina 36 1.4 A linguagem de programação Java
Leia maisMINISTÉRIO DA EDUCAÇÃO SECRETARIA DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL GOIANO - CAMPUS TRINDADE
1. Identificação Instituição Docente Curso Unidade Curricular Instituto Federal de Educação, Ciência e Tecnologia Goiano - Campus Trindade Hudson de Paula Romualdo Técnico Integrado em Informática para
Leia maisFACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO
FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO ESW200 Introdução à Engenharia de Software 2 36 30 - ESW201 Prática de Programação I
Leia maisNoções de sistemas de computação
Noções de sistemas de computação Software Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons
Leia maisUniversidade Federal de Minas Gerais Colégio Técnico Plano de Ensino
Disciplina: Carga horária total: Universidade Federal de Minas Gerais Plano de Ensino Tecnologias de Programação Ano: 2015 Curso: Informática Regime: anual Série: 3o ano Observação: Carga Horária Semanal
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisAgenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo
Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06
Leia maisSUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1
SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA...1 A Origem...2 O Caminho Para a Aprendizagem...4 Java Como Plataforma...6 Finalidade...8 Características...11 Perspectivas...13 Exercícios...14 CAPÍTULO 2 AMBIENTE
Leia maisDesenvolvimento OO com Java Um pouco de vetores
Desenvolvimento OO com Java Um pouco de vetores Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Leia maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisTrabalho Linguagem e Programação de Compiladores
Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:
Leia maisAcademia Java IP JAVA: Introdução à Programação em Java (30 horas)
Academia Java IP JAVA: Introdução à Programação em Java (30 horas) Índice Designação do Curso... 2 Duração Total... 2 Destinatários... 2 Perfil de saída... 2 Pré-Requisitos... 2 Objetivo Geral... 2 Objetivos
Leia maisFerramenta para Desenvolvimentode Sistemas EmbarcadosUtilizando Linguagem de Alto Nível p.1/25
Universidade Federal do Rio Grande do Sul Escola de Engenharia - Instituto de Informática Graduação em Engenharia de Computação Ferramenta para Desenvolvimento de Sistemas Embarcados Utilizando Linguagem
Leia maisTécnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Leia maisUniversidade Federal do Espírito Santo. Programação II. CT IX - Sala 206 Departamento de Informática Centro Tecnológico
Universidade Federal do Espírito Santo Programação II Prof.ª Claudia Boeres (boeres@inf.ufes.br) CT IX - Sala 206 Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Linguagem
Leia maisTécnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira
Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha
Leia maisRPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Leia maisAcademia Programador de Aplicações JAVA
Academia Programador de Aplicações JAVA Formato do curso: Presencial e Live Training Com certificação: Oracle Certified Associate Preço: mensal, desde 253 Duração: 210 horas Este percurso é destinado a
Leia maisInformática Parte 15 Prof. Márcio Hunecke
Escriturário Informática Parte 15 Prof. Márcio Hunecke Informática SCALA 2.12 O projeto do Scala começou em 2001 por Martin Odersky e tinha como objetivo criar uma linguagem de programação que combinava
Leia maisJAVA Express com Lógica. Subtítulo
JAVA Express com Lógica Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras
Leia maisIV. CONTEÚDO PROGRAMÁTICO
I IDENTIFICAÇÃO CURSO: Ciência da Computação DISCIPLINA: Prática de Programação Orientada a objetos CARGA HORÁRIA SEMESTRAL: 40 h/a PROF. RESPONSÁVEL: Míriam de Souza Monteiro II. EMENTA Classes e objetos.
Leia maisCONTEÚDO PROGRAMÁTICO
CONTEÚDO PROGRAMÁTICO Java Básico Carga horária: 24 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO 1 - Um pouco sobre o
Leia maisSCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante
SCALA! Mariah Barros Cardoso Ruann Magalhães Homem Rudá Martinez Pimentel Deeke Yuri Pereira Constante O Que é scala? É uma linguagem de programação moderna de propósito geral que roda sobre a Java Virtual
Leia maisCurso Técnico Concomitante em Informática
Curso Técnico Concomitante em Informática CÂMPUS TUBARÃO MATRIZ CURRICULAR Módulo/Semestre 1 Carga horária total: 400h Informática Básica 4 Arquitetura de Computadores 4 Introdução à Programação 4 Administração
Leia maisTécnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
Leia maisPrincipais paradigmas de programação. Programação imperativa Programação funcional Programação lógica Programação OO
Principais paradigmas de programação Programação imperativa Programação funcional Programação lógica Programação OO Programação Imperativa É o paradigma mais usado. Programas são definidos através de sequências
Leia maisEMENTAS DAS DISCIPLINAS
EMENTAS DAS DISCIPLINAS CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Algoritmos e Linguagem de Programação I: Ensino dos conceitos básicos de algoritmos estruturados (estruturas condicionais e de repetição),
Leia maisIntrodução ao Java. Prof. Herbert Rausch Fernandes
Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos
Leia maisOpções de persistência
Opções de Persistência Tratamos aqui apenas dos aspectos arquiteturais da persistência Não tratamos do mapeamento de projetos OO para esquemas de BD relacionais Três grandes pontos devem ser tratados com
Leia maisObjetos e Componentes Distribuídos: EJB e CORBA
: EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos
Leia maisINTRODUÇÃO A LINGUAGEM JAVA
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A LINGUAGEM JAVA Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br Curso Técnico
Leia maisCapítulo 9. Subprogramas
Capítulo 9 Subprogramas Introdução Dois recursos fundamentais de abstração Abstração de processos Desde o início da história das linguagens de programação Abstração de dados Desde o início dos anos 1980
Leia maisCapítulo 8. Estruturas de Controle no Nível de Sentença
Capítulo 8 Estruturas de Controle no Nível de Sentença Níveis de fluxo de controle Computações são realizadas por meio da avaliação de expressões e da atribuição dos valores a variáveis Para tornar a computação
Leia maisConceitos de Programação Orientada por Objectos. Rui Camacho Programação 2
Conceitos de Programação Orientada por Objectos Um Problema Problema: Existem, hoje em dia, aplicações complexas e de grande dimensão que é preciso desenvolver e manter de modo eficiente utilizando equipas
Leia maisSistemas de Tipos. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe
Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Tipos permitem que dados sejam descritos de forma efetiva Previnem operações sem sentido (ex: 5 * true) Programas mais
Leia maisPROGRAMAÇÃO I. Introdução
PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação
Leia maisNomes, vinculações e escopos
Nomes, vinculações e escopos Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual
Leia maisApresentação SCC0204 Programação Orientada a Objetos
Apresentação SCC0204 Programação Orientada a Objetos Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 28 de fevereiro de 2012 Moacir Ponti Jr. (ICMCUSP)
Leia maisComo Modelar com UML 2
Ricardo Pereira e Silva Como Modelar com UML 2 Visual Books Sumário Prefácio... 13 1 Introdução à Modelagem Orientada a Objetos... 17 1.1 Análise e Projeto Orientados a Objetos... 18 1.2 Requisitos para
Leia maisIntrodução à Programação para Dispositivos Móveis
Introdução à Programação para Dispositivos Móveis Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Aplicações
Leia maisPonteiros de Variáveis
Ponteiros de Variáveis C++ permite o armazenamento e a manipulação de valores de endereços de memória. Para cada tipo existente, há um tipo ponteirocapaz de armazenar endereços de memória em que existem
Leia mais