Ferramentas de automação
|
|
- Maria Luiza Gomes Mendonça
- 7 Há anos
- Visualizações:
Transcrição
1 Ferramentas de automação LABI Manuel Costa, Henrique Ferreira
2 Ferramentas de automação DETI Manuel Costa, Henrique Ferreira Entregue dia 29/11/2015
3 Contents 1 Resumo 1 2 Introdução 2 I GNU Build System 3 3 GNU Apresentação O que é? GNU Build System GNU Make Exemplo GNU Autotools Autoconf Automake Gerar Makeles utilizando Autotools II ANT Tools 9 4 Apache Ant Apresentação O que é? Ant vs make - Diferenças e similaridades Contras à utilização do Ant Exemplos Conclusão - Ant III CMake 13 5 CMake Apresentação O que é? i
4 5.2 Cmake vs GNU Make Contras à utilizaçao do CMake Exemplos Conclusão - CMake Metodologia 16 7 Conclusões 17 8 Bibliograa 18 9 Acrónimos Contribuição dos Autores 20 ii
5 Chapter 1 Resumo Este trabalho, no âmbito da Unidade Curricular Laboratórios de Informática (LABI) do primeiro ano do Mestrado Integrado em Engenharia de Computadores e Telemática (MIECT), aborda 3 ferramentas de automaçao de projectos, nomeadamente as GNU Autotools, ANT Tools e o CMake. As 3 ferramentes são brevemente exploradas e analisadas, apresentando-se as suas vantagens e desvantagens em relação a outras ferramentas e ao âmbito do seu uso. São ainda apresentados alguns exemplos para cada ferramenta abordada neste trabalho. Comparamos também as ANT Tools e o CMake ao GNU Make uma vez que foi a ferramente que exploramos na aula de LABI. Posteriormente apresentamos as nossas conclusões sobre o tema, Ferramentas de automação. 1
6 Chapter 2 Introdução Este trabalho surge no âmbito da Unidade Curricular LABI do primeiro ano do MIECT. Entre os temas disponíveis, optámos por este uma vez que iremos abordar, ainda este ano, estes conteúdos em outras unidades curriculares. É também um tema com várias opiniões distintas na informática, portanto achamos interessante analisar algumas das ferramentas de automação existentas para melhor entendermos as várias ferramentas. Este documento está dividido em quatro capítulos. Depois desta introdução, no chapter 3 são aboradas as GNU autotools, no chapter 4 são abordadas as ferramentas Ant, no chapter 5 é abordado o CMake. 2
7 Part I GNU Build System 3
8 Chapter 3 GNU 3.1 Apresentação O que é? GNU's Not Unix! (GNU) é um sistema operacional tipo UNIX que está aberto a qualquer utilizador (open-source) iniciado por Richard Stallman em O projecto foi crescendo e eventualmente surgiram novas ferramentas associadas como compiladores, editores de texto, etc. 3.2 GNU Build System Uma das ferramentas mais populares associadas ao projecto GNU é o GNU Build System. Também conhecido como Autotools, são uma série de utencílios de programação que permite aos utilizadores transportar mais facilmente o seu código fonte para outros sistemas UNIX. O GNU Autotools faz parte de um outro projecto chamado GNU Toolchain GNU Make Para compreender melhor o que são e qual o potencial das Autotools, temos que perceber o conceito duma outra ferramenta: o GNU Make. Make é um utilitário que compila automaticamente programas e bibliotecas do código fonte através de um cheiro Makele que contém uma série de instruções dadas pelo utilizador. Se tivermos um projecto de grandes dimensões torna-se um desao compilar todos os cheiros manualmente. É um processo repetitivo e cansativo além de estar sujeito a condicionantes dos sistemas operativos. Por exemplo, compilar um determinado projecto pode requerer variáveis do sistema que,possivelmente, variam entre sistemas operativos. Desta forma, é muito mais prático e ecaz compilar o projecto através de um Makele. 4
9 Exemplo [h].phony: all clean cleanall files = *.class all: $(files) %.class: "Compiling java files..." -f *.tmp "Cleaning temporary files..." cleanall: -f "Cleaning.class files..." Neste exemplo muito básico, podemos vericar que: 1. É possível declarar variáveis dentro de um Makele como fazemos,por exemplo,em JAVA. No nosso caso estámos a indicar que qualquer cheiro do tipo.class ca armazenado na variável les 2. Existem regras e dependências. Neste caso, para gerar qualquer cheiro do tipo.class é preciso que existam cheiros fonte.java. 3. As instruções são dadas por comandos bash iguais aos que são utilizados no terminal. Neste caso, para um cheiro qualquer.java vai ser gerado um cheiro.class com o mesmo nome através da execução do comando javac. A instrução echo funciona como um print para saber que a instrução está a correr (opcional). 4. Além de comandos bash, os Makele têm instruções e sintaxe própria como por exemplo $, *. etc. As possibilidades são muito mais extensas podendo um Makele conter livrarias ou até métodos próprios GNU Autotools Como referido em subsection o processo de compilar um projecto varia entre sistema operativos. Os compiladores de C são diferentes, assim como algumas livrarias podem não estar presentes em determinados sistemas entre outras diculdades. Podemos, ainda assim, lidar com isto: código condicional. É possível que, ao compilar um projecto, seja feita uma vericação prévia de determinados pré-requisitos nos sistemas e, caso seja necessário, é também possível ajustar o Makele para o sistema em que está a ser corrido. Este processo já requer a introdução a dois novos conceitos fundamentais: 5
10 1. Autoconf 2. Automake Existem, porém, mais conceitos associados mas para o nosso caso será suciente explorar estes dois, como por exemplo Autoscan ou Libtool Autoconf Com base num cheiro congure.ac (ac de auto-cong) escrito pelo programador, autoconf irá gerar um script chamado congure. Quando corremos esse script é gerado um outro script chamado cong.status que transforma cheiros.in (de input) em Makeles. De seguida, make utiliza esses Makeles para gerar executáveis Automake Automake recebe um cheiro cong.h.in e outro chamado Makele.am (am de auto-make) e gera o Makele.in mencionado em subsubsection O automake também faz vericações a determinadas dependências (como por exemplo header les) Gerar Makeles utilizando Autotools Em primeiro lugar, é necessário saber quais são os cheiros que o programador vai modicar manualmente: 1. congure.ac 2. Makele.am Correndo o autoscan são gerados dois cheiros: autoscan.log e congure.scan. Altera-se o nome do congure.scan para congure.ac e este será um dos cheiros no qual o programador irá escrever. Alternativamente pode-se criar o cheiro congure.ac, ca a critério do programador. Neste cheiro é possível, por exemplo, introduzir ordens através de macros para vericar a existência de determinado(s) programa(s) no sistema. A macro AC_CHECK_PROG(variável,programa,yes) irá vericar se existe o programa. Esse resultado irá car armazenado numa variável com o valor especicado. Isto é, AC_CHECK_PROG(JAVAEX,javac,yes) irá vericar se existe o Java no sistema, ca armazenado na variável JAVAEX e esta terá valor de yes(equivalente a true) caso exista. É possível inclusive criar uma condição (if) que irá correr determinados comandos caso a variável seja true ou false. Pode-se também vericar a versão do java para garantir que o programa corre com todas as suas funcionalidades, caso o Java esteja desatualizado pode até nem correr. Existem outras macros que analisam a existência de livrarias especícas no sistema. Se um programa precisa duma determinada livraria para correr certas texturas, então essa livraria tem que estar presente no sistema para compilar o projecto. Ainda no congure.ac é indicado onde vão ser 6
11 gerados os Makeles (em que diretórios/sub-diretórios). Tendo o congure.ac criado e com as devidas instruções, criam-se o(s) cheiro(s) Makele.am(am de auto-make). A pasta contém congure.ac e Makele.am. Ainda assim é preciso Figure 3.1: Pasta com o projecto e os cheiros congure.ac/makele.am criar o Makele.am em todos os diretórios (neste caso nos sub-diretórios src e doc). Executa-se automake para gerar os cheiros restantes e o script congurejá irá gerar cheiros Makele mas que ainda não fazem praticamente nada pois não tem nenhuma indicação nos cheiros Makele.am. Em cada um destes cheiros é que serão indicadas as regras para quando forem solicitados, executar determinados comandos (como por exemplo javac). 7
12 8 Figure 3.2: Diagrama do funcionamento das Autotools
13 Part II ANT Tools 9
14 Chapter 4 Apache Ant 4.1 Apresentação O que é? Da mesma forma que developers encontraram uma solução para automatizar os processos de compilação, outras alternativas foram surgindo que, à partida, se distinguem em determinadas áreas. São um exemplo as Apache Ant Tools, que surgem enquadradas no projecto Apache Tomcat em Criada por James Duncan Davidson, também autor do projecto Apache Tomcat. 4.2 Ant vs make - Diferenças e similaridades É uma ferramenta também open-source que serve para compilar projectos de programação. Como é natural, tem diferenças relativamente ao make: 1. Apache Ant usa a linguagem Java e é especializada em compilar projectos em Java. 2. Utiliza build les em XML nquanto que o make, como descrito em subsection 3.2.1, depende dos Makeles. 3. Para projectos Java, os Makeles não eram 100% portáteis. Isto é, quando se mudava entre sistemas operativos, existiam alguns problemas trabalhosos de resolver. 4. Os Makeles tinham problemas de compatibilidade com sistemas Windows enquanto que os build les são mais independentes das plataformas. 5. Para projectos Java, os Makeles eram demasiado complexos. Como o Ant é orientado a projectos Java, contém processos internos que libertam o programador para este não precisar de especicar tudo ao pormenor. 10
15 4.2.1 Contras à utilização do Ant Como todas as ferramentas, o Ant tem as suas próprias complicações. Uma delas é o facto de os build les serem em XML, que por si só tem uma complexa síntaxe que torna os cheiros menos legíveis e compreensíveis. Apesar dos IDE's (como o Eclipse ou NetBeans) gerarem automaticamente os build les, caso a versão do IDE mude ou se queira mudar de IDE, é conveniente para o programador criar o seu próprio build le Exemplos Figure 4.1: Exemplo de condicional utilizado num build le [h] $ cat > build.xml <project default="hello"> <target name="hello"> <javac srcdir="." includeantruntime="false" destdir="."/> </target> </project> $ cat > Hello.java public class Hello { public static void main(string[] args) { String msg = "Hello, World!"; System.out.println(msg); 11
16 } } Da mesma forma que nos Makeles, existe um target e uma instrução associada. Tem semelhanças ao uso do LATEXou do HyperText Markup Language (HTML) na medida em que é indicado um begin e um end para cada target/project, etc. É também vísivel a possibilidade de programar utilizando a linguagem Java dentro dum cheiro build.xml Conclusão - Ant Para lidar com projectos Java, o Ant build é superior ao GNU make mas, como em tudo na Informática, existe muito debate entre os programadores. Também parece ser mais fácil lidar com dependências entre sistemas operativos utilizando o Ant build sempre que seja relativo a projectos Java. Por outro lado, a síntaxe dos build les é mais complexa e menos legível. Em projectos muito grandes isto pode ser um grande contra à utilização do Ant build. 12
17 Part III CMake 13
18 Chapter 5 CMake 5.1 Apresentação O que é? Outra alternativa às Apache Ant Tools e o GNU Make, é o CMake, software open-source, que nasceu da necessidade de um sistema de compilaçao multiplataforma e o seu autor foi Bill Homan, da Kitware. O CMake é usado em conjunto com a ferramente de compilação de cada sistema. 5.2 Cmake vs GNU Make Também é uma ferramente open-source à semelhança do make, mas obviamente têm as suas diferenças: 1. Nao compila o código, mas sim gera os build les de acordo com a plataforma aonde está a correr, por exemplo, Makeles no UNIX. 2. É uma ferramente mais apropriada a projectos multiplataforma, enquanto que no make teriamos de criar um Makele por plataforma. 3. O CMake consegue lidar bem com hierarquias de directórios complexas e aplicaçoes que dependem de várias librarias. 4. Requer menos código para tarefas mais triviais Contras à utilizaçao do CMake Uma das maiores diculdades na utilizaçao do CMake é o facto de ter a sua própria linguagem, não tão intuitiva como outras ferramentas como por exemplo as AutoTools. O facto do CMake não compilar mas sim gerar os buildles também pode ser visto como uma desvantagem uma vez que continuamos a ter de executar o comando make para compilar o projecto. É necessário ainda que o sistema aonde trabalhamos tenha o CMake instalado. 14
19 Exemplos Figure 5.1: Exemplo de código CMake O código compila o cheiro HelloWorld.java num cheiro HelloWord.jar e executa o.jar usando o JVM. A variável CMAKE_JAVA_COMPILE_FLAGS pode ser usada para especicar compile ags Conclusão - CMake Podemos concluir então que, apesar de ter a sua própria linguagem, não muito intuitiva, o CMake é uma ferramenta de extrema utilidade se prentendemos que o nosso projecto seja multiplataforma uma vez que se adapta ao sistema em que está e gera os build-les necessários à compilaçao do projecto de acordo com o sistema aonde estamos a trabalhar. 15
20 Chapter 6 Metodologia A pesquisa baseou-se numa primeira fase em resolver exercício do guião para compreender melhor o que são ferramentas de automação. Ao mesmo tempo, foram adquiridos conhecimentos em duas ferramentas especícas: GNU Make e GNU auto-tools. Foi frequente a utilização de fóruns informáticos e web-sites informativos. 16
21 Chapter 7 Conclusões Para automatizar o processo de compilação de projetos de programação, foram aparecendo ferramentas para rentabilizar tempo ao programador e para tornar a tarefa mais ecaz e menos suscetível a erros. Neste trabalho são avaliadas duas ferramentas partindo como base de comparação o GNU Make: Ant e CMake. As três têm como principais objetivos: 1. Lidar com o repetitivo processo de compilação, ainda que cada uma delas tenha os seus próprios métodos. 2. Facilitar a portabilidade dos projetos entre Sistemas Operativos. Neste ponto depende muito do tipo de projeto, por exemplo num projeto em Java é mais ecaz a utilização do Ant. 3. Lidar com as dependências de cada projeto. Conclui-se que estas ferramentas são fundamentais na hora da realização de um projeto em programação. Elas são utilizadas pelos programadores desde muito cedo, ainda que estes não estejam conscientes disso graças aos IDE's que estão programados para lidar com este processo. Contudo programadores mais experientes recomendam que, em projetos mais elaborados, sejam os próprios a lidar com a compilação através destas ferramentas. Não existem apenas três ferramentas de automação pois para cada uma delas existem debilidades que,posteriormente, são melhoradas e que fomentam o aparecimento de novas ferramentas. 17
22 Chapter 8 Bibliograa Guião prático de LABI 18
23 Chapter 9 Acrónimos MIECT Mestrado Integrado em Engenharia de Computadores e Telemática GNU GNU's Not Unix! LABI Laboratórios de Informática HTML HyperText Markup Language 19
24 Chapter 10 Contribuição dos Autores O trabalho foi dividido em três partes principais :, e. 1. Part I e Part II que foram elaboradas por Manuel Costa. 2. Part III realizada por Henrique Ferreira. No restante relatório, os capítulos foram dívidos de forma igual. Cada elemento elaborou uma parte e analisou o trabalho do colega para aperfeiçoamento do mesmo. 20
AUTOMAÇÃO E AUTOCONFIGURAÇÃO
http://blogs.msdn.com/blogfiles/willy-peter_schaub AUTOMAÇÃO E AUTOCONFIGURAÇÃO Laboratórios de Informática 2014-2015 João Paulo Barraca, André Zúquete, Diogo Gomes Automação de Tarefas GNU Make Compilação
Leia maisObjetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.
O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o
Leia maisO AMBIENTE DE DESENVOLVIMENTO
Módulo 9 O AMBIENTE DE DESENVOLVIMENTO P S I 1 1 - C P T G P S I SUMÁRIO Instalação do Java JDK - Kit de Desenvolvimento Java Download do JDK Instalação do JDK Configuração da Variável de ambiente (Path)
Leia maisLaboratório 01 NetBeans
Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Atividade individual. Laboratório 01 NetBeans 1 Introdução Os
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisIDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias
1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo
Leia maisIntrodução ao IDE Netbeans (Programação Java)
Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas
Leia maisTecnologias de Desenvolvimento de Páginas web
Tecnologias de Desenvolvimento de Páginas web HTML DHTML CSS Javascript Visual Basic Script Java HTML Hypertext Markup Language HTML Hypertext Markup Language Linguagem com a qual se definem as páginas
Leia maisObs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.
1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisCompilador de LP3 para C3E e P3
Compilador de LP3 para C3E e P3 Luís Gil 1 13 de Junho de 2005 1 estudante de Ciências Informáticas no Instituto Superior Técnico 1 Introdução Este relatório descreve a sintaxe e a semântica da Linguagem
Leia maisEste documento não pretende ensinar o Java, mas tão-somente dar a conhecer ao leitor esta tão poderosa e simples linguagem de programa ção.
Prefácio Este documento não pretende ensinar o Java, mas tão-somente dar a conhecer ao leitor esta tão poderosa e simples linguagem de programa ção. O Java é uma linguagem de programação multi-plataforma.
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisSistemas Embarcados. GNU toolchain. Introdução. Mas o compilador sozinho não adianta muito... Compilador. Aula 07
Sistemas Embarcados Ferramentas de desenvolvimento GNU toolchain Introdução Projetistas de software empregam várias ferramentas durante o ciclo de desenvolvimento de um software E.g.: editores, compiladores,
Leia maisLÓGICA DE PROGRAMAÇÃO INTRODUÇÃO AO JAVA. Professor Carlos Muniz
Instalação do Compilador/Interpretador ( JDK ) As versões do JDK estão disponíveis livremente na Internet no site: http://java.sun.com O JDK, apresenta variáveis de ambiente, utilizadas para indicar ao
Leia mais1 Como compilar seu código? 2 Comandos de terminal:
Manual Básico 2 COMANDOS DE TERMINAL: 1 Como compilar seu código? É necessário compilar seu código para testar seu programa e saber se a lógica utilizada está correta para solucionar todas as possíveis
Leia maisDepartamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make
Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de
Leia maisp Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos fonte de Java.
Pacotes e Jar 1 Pacotes p Usamos pacotes em java para organizar as classes semelhantes. p Pacotes, a grosso modo, são apenas pastas ou diretórios do sistema operacional onde ficam armazenados os arquivos
Leia maisIntrodução aos aplicativos Java. Prof. Marcelo Roberto Zorzan
Introdução aos aplicativos Java Prof. Marcelo Roberto Zorzan Aula de Hoje Aplicativo Java Primeiro programa Java Tipos de comentários Instruções de saída Aplicativo Java Um aplicativo java é um programa
Leia mais1/16 MAKEFILES Makefiles Programação II
1/16 MAKEFILES Definição 2/16 Definição O makefile - é um arquivo para configuração de compilação utilizado pelo programa make, - a ideia é simplificar e agilizar a compilação de programas. Vantagens e
Leia maisAmbiente de Programação JAVA POO
Ambiente de Programação JAVA POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/28 Java e POO Antes de entrarmos propriamente em POO vamos ver algumas ferramentas
Leia maisPLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE
PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO
Leia maisFamiliarização com a ferramenta JavaCC
Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera
Leia maisESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.
P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado
Leia mais(Características fundamentais de Codificação de programas)
Curso: Análise e Desenvolvimento de Sistemas Disciplina Algoritmos e Programação (Características fundamentais de Codificação de programas) Prof. Wagner Santos C. de Jesus wsantoscj@gmail.com Histórico
Leia maisProgramação. Folha Prática 1. Lab. 1. Departamento de Informática Universidade da Beira Interior Portugal Copyright Ó 2000 All rights reserved.
Programação Folha Prática 1 Lab. 1 Departamento de Informática Universidade da Beira Interior Portugal 2016 Copyright Ó 2000 All rights reserved. LAB. 1 1ª semana INTRODUÇÃO À PROGRAMAÇÃO 1. Introdução
Leia maisLinguagem de Programação I Prof. Tiago Eugenio de Melo.
Linguagem de Programação I Prof. Tiago Eugenio de Melo tmelo@uea.edu.br www.tiagodemelo.info 1 Sumário Introdução Conceitos preliminares Introdução Variáveis Comandos Condicionais 2 Por que aprender a
Leia maisFundamentos da programação Parte - 1
Fundamentos da programação Parte - 1 1. Objetivos Nesta lição discutiremos as partes básicas de um programa em Java. Começaremos explicando as partes do programa Hello.java mostrado na última lição. Discutiremos
Leia maisA linguagem Java foi projetada tendo em vista os seguintes objetivos:
Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
Leia maisIntrodução à plataforma Java
Introdução à plataforma Java Apresentação: Professor: Galvez Gonçalves prof.gago@gmail.com O que estudaremos 1. Os conceitos de programação orientada a objetos através de uma linguagem de programação que
Leia maisMakefiles O que é mak a efi f le make
O que é O makefile é um arquivo para configuração de compilação utilizado pelo programa make, cuja ideia é simplificar e agilizar a compilação de programas. Vantagens e uso Evita a compilação de arquivos
Leia maisInstituto Superior de Engenharia de Lisboa
Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)
Leia maisJava Standard Edition (JSE)
Java Standard Edition (JSE) Capítulo 01. Introdução à tecnologia JAVA Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1 Agenda Apresentação: Formação, graduação, certificação, área de atuação; Apresentação
Leia maisEditor Eclipse para Programas F
Editor Eclipse para Programas F Guia de instalação e utilização Instalação Comece por descarregar a aplicação de instalação CP_setup.exe do endereço http://www.math.ist.utl.pt/~jabr/cp/ Uma vez descarregada,
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Ambientes de Programação
Linguagem de Programação II Programação Orientada a Objetos Ambientes de Programação Prof. Alessandro Borges 2 Tópicos Prompt de comando JDK IDE NetBeans Eclipse Jbuilder Visual Café Visual J++ NetBeans
Leia maisInstalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG
Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,
Leia maisFIC-POO. Aula 1.2 Introdução a Java e POO. Prof. Dr. Bruno Moreno
FIC-POO Aula 1.2 Introdução a Java e POO Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br Introdução O que é Java? Linguagem de programação OO Surgiu na década de 90 Criada pela Sun Microsystems É multiplataforma:
Leia maisFabiano Moreira.
Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)
Leia maisProgramação de Computadores I
Programação de Computadores I 2018.2 Por que programar? Porque é legal Por que programar? Porque é legal Porque pode render dinheiro Por que programar? Porque é legal Porque pode render dinheiro Porque
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA
Leia maisInstalação JDK 10/03/2017
1 Instalação JDK 10/03/2017 Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação, responsável por traduzir o que sua aplicação
Leia maisTrabalho de Linguagens Formais e Compilação
Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013
Leia maisUniversidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação
Universidade Federal da Bahia Instituto de Matemática Departamento de Ciência da Computação Especificação da Projeto de Laboratório de Programação Parte 1 Salvador, 2009 Universidade Federal da Bahia Instituto
Leia maisIntrodução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação
Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens
Leia maisJAVA. Professor: Bruno Toledo
JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código
Leia maisAULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)
AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK) Ø LP Java. Estrutura de um programa em Java. Ø Conjunto de caracteres utilizado. Ø Identificadores. Ø Variáveis e constantes. Ø Tipos
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisDesenvolvimento de Software para UNIX
Desenvolvimento de Software para UNIX Rui Carlos A. Gonçalves 29 de Agosto de 2008 Resumo Neste texto pretende-se descrever formas de desenvolver programas para UNIX usando as ferramentas da GNU. Não é,
Leia maisPROGRAMAÇÃO EM JOGOS DIGITAIS
PROGRAMAÇÃO EM JOGOS DIGITAIS Frutuoso Silva Paradigmas de Programação Linguagem de programação Paradigmas de programação 1 Linguagem de programação! Para ser útil e confiável, uma linguagem deve ter uma
Leia maisAula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -
Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados 1 O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes gráficos Java. //AloMundo
Leia maisLinguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux
Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física
Leia maisLinguagem Técnica I. Prof. Jonatas Bastos
Linguagem Técnica I Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com 1 Objetivo da Disciplina p Entender os conceitos da programação orientada a objetos; p Aplicar conceitos básicos relativos a objetos
Leia mais4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados GUI em Java: pacote Swing O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes
Leia maisAlgoritmos e Programação
ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação
Leia maisAULA 01 ESTRUTURA DE DADOS
AULA 01 ESTRUTURA DE DADOS Apresentação da Disciplina Norton T. Roman & Luciano A. Digiampietri Disciplina Objetivo: Familiarizar os alunos com a modelagem e a implementação de diferentes estruturas de
Leia maisRevisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Revisões de PG (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Compilar e executar programas em Java Ficheiro fonte (Prog.java) Ficheiro
Leia maisIntrodução à linguagem C
Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo
Leia maisAlgoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31
APROG Algoritmia e Programação Tecnologia JAVA IDE Netbeans Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Tecnologia Java Sumário Tecnologia Java Desenvolvimento de Programas Ambientes de Desenvolvimento
Leia maisConfiguração do Apache Cordova Lab. 13. Prof. Bruno C. Vani
Configuração do Apache Cordova Lab. 13 Prof. Bruno C. Vani brunovani@ifsp.edu.br Apache Cordova Visão Geral [1/2] Permite acessar funcionalidades nativas dos dispositivos móveis (como câmera, GPS, etc.)
Leia maisGuia de procedimentos para construir um programa java no IDE Sun One Studio 4 update 1, Community Edition
1 Guia de procedimentos para construir um programa java no IDE Sun One Studio 4 update 1, Community Edition Um Projecto é o conjunto de um ou mais ficheiros que constituem um programa, quer seja uma aplicação
Leia maisProgramação 2010/2011 MEEC
Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuração
Leia maisProgramação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação. Prof. Bruno Moreno
Programação Estruturada e OO Aula 1.2 Introdução a Paradigmas de Programação Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Motivação Por que existe mais de uma LP? Propósitos diferentes; Avanços tecnológicos;
Leia maisRui Carneiro, Rui Pereira, Tiago Orfão
Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt
Leia maisPOO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior
POO Documentation Release 1.0 Felipe Dau e Francisco Pereira Junior August 13, 2015 Contents 1 Instalação do Java 1 1.1 Download................................................. 1 1.2 Instalação.................................................
Leia maisRevisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa
Revisões de PG (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Compilar e executar programas em Java Ficheiro fonte (Prog.java) Ficheiro
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 maisSistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores
Sistemas Embebidos I Licenciatura em Eng. de Electrónica e Telecomunicações e de Computadores Licenciatura em Engenharia Informática e de Computadores Mestrado em Engenharia de Electrónica e Telecomunicações
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 maisMódulo 1. Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)
Módulo 1 Introdução Programação Orientada a Objetos I Java (Rone Ilídio) Dados Importantes E-mail: rone@ufsj.edu.br Página: www.ronepage.com Deitel, H. M., Deitel, T. J., Java, editora Bookman, 6ª edição
Leia maisAula teórica 7. Preparado por eng.tatiana Kovalenko
Aula teórica 7 Tema 7. Introdução a Programação Ø Linguagens de Programação Ø LP Java ØEstrutura de um programa em Java ØIdentificadores, variáveis e constantes. ØTipos de dados básicos Preparado por eng.tatiana
Leia maisVariáveis primitivas e Controle de fluxo
Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/
Leia maisAlgoritmos e Programação
Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav
Leia maisDesenvolvendo aplicações Java
José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Desenvolvendo aplicações Java Primeira Edição São Paulo 2017 Sumário 1 INTRODUÇÃO AO JAVA... 1 1.1 A PLATAFORMA
Leia maisWorking 03 : Conceitos Básicos I
Working 03 : Conceitos Básicos I Objetivos: Dominar os conceitos básicos da linguagem de programação C; Aprender a utilizar o compilador, identificando os erros de sintaxe do código fonte; Prazo de Envio:
Leia maisGrupo: Diogo Furtado Phellipe Perin Stephan Hebeda
Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda INTRODUÇÃO Scala é uma linguagem de programação de propósito geral projetado para expressar padrões de programação comuns de uma forma concisa. Foi desenvolvido
Leia maisEmpacotamento de Software no Debian
Noções sobre (outubro de 2016) João Eriberto Mota Filho eriberto@debian.org http:///debianet.com.br AVISO As mini aulas são voltadas para quem já sabe um pouco sobre empacotamento e tratam de técnicas
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 maisMódulo I - Introdução. Faculdade Christus Sistemas de Informação 24/09/2010. Carlos Eugênio Torres Engenheiro de Informática
Módulo I - Introdução Aula 3 Carlos Eugênio Torres Engenheiro de Informática http://cetorres.com Faculdade Christus Sistemas de Informação 24/09/2010 Graduado em Ciência da Computação pela UFC, Brasil
Leia maisOlá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas
Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas atualmente. Uma linguagem de programação é um conjunto padronizado
Leia maisProcessamento da Informação. Prof. Daniel M. Martin (2019 Q1)
Processamento da Informação Prof. Daniel M. Martin (2019 Q1) Processamento da informação tem-se um conjunto de dados (entrada) deseja-se obter a resposta a uma pergunta sobre esses dados (saída) Processamento
Leia maisIntrodução a Programação Web com PHP
AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes alba.lopes@ifrn.edu.br Breve histórico A primeira versão surgiu em meados de 1995, escrita por
Leia maisA ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão
A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente
Leia maisESQUEMA AULA PRÁTICA 1
P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start
Leia maisInformática I. Aula 9. Aula 9-17/05/2006 1
Informática I Aula 9 http://www.ic.uff.br/~bianca/informatica1/ Aula 9-17/05/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação
Leia mais16. Compilação no Linux
16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código
Leia maisVANTAGENS DE USAR APACHE MAVEN NA PROGRAMAÇÃO.
VANTAGENS DE USAR APACHE MAVEN NA PROGRAMAÇÃO. Julio Fernandes Rocha, Jaime William Dias Universidade Paranaense (Unipar) juliofernandes_rocha@hotmail.com jaime@unipar.br Resumo. Este artigo tem por objetivo
Leia maisINTRODUÇÃO A PLATAFORMA ARDUINO. TÁSSIO JOSÉ GONÇALVES GOMES
INTRODUÇÃO A PLATAFORMA ARDUINO TÁSSIO JOSÉ GONÇALVES GOMES www.tassiogoncalves.com.br tassiogoncalvesg@gmail.com APRESENTAÇÃO TÁSSIO JOSÉ GONÇALVES GOMES Mestrando em Informática pela UFAL e Bacharel
Leia maisOFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO
OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material
Leia maisProgramação. Module Introduction. Cap. 1 Fundamentos de Computadores
Engenharia Informática (5374) - 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) - 1º ano, 1º semestre Bioengenharia (9099) 2º ano, 1º semestre Ciências Biomédicas (10135) 2º ano, 1º semestre
Leia maisUnidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento
Leia maisAlguns conceitos, regras, convenções, preparação do ambiente, primeiro programa.
Módulo I Alguns conceitos, regras, convenções, preparação do ambiente, primeiro programa. :: Introdução Neste módulo faremos a apresentação de alguns conceitos Java e a preparação do ambiente de programação.
Leia maisShell Script. Rafael Silva Guimarães
Shell Script Rafael Silva Guimarães O que é Shell O Shell é o "prompt" da linha de comando do Linux, que recebe os comandos digitados pelo usuário e os executa. Mas o Shell é muito mais poderoso que seu
Leia maisProgramação 2017/2018 2º Semestre
Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.
Leia maisUsando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo
Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada
Leia mais1 a Aula. Mestrado em Engenharia Física Tecnológica
1 a Aula Apresentação e Informações Gerais Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade
Leia maisMC-102 Aula 01. Instituto de Computação Unicamp
MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos
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 mais