Avaliação de Desempenho da Execução de Programas C# em Ambientes.NET - SSCLI 2.0,.NET 2.0 e.net 3.0

Tamanho: px
Começar a partir da página:

Download "Avaliação de Desempenho da Execução de Programas C# em Ambientes.NET - SSCLI 2.0,.NET 2.0 e.net 3.0"

Transcrição

1 Avaliação de Desempenho da Execução de Programas C# em Ambientes.NET - SSCLI 2.0,.NET 2.0 e.net 3.0 Guilherme Amaral Avelino Universidade Federal de Pernambuco(UFPE) Resumo A Microsoft, visando a divulgação e o estudo do framework.net, disponibiliza uma versão de código aberto para esta plataforma. Implementando o padrão ECMA-334 e ECMA-335, respectivamente a descrição da linguagem C# e da CLI, o SSCLI (Shared Source Common Language Infrastructure) representa uma ferramenta em potencial para estudo acadêmico não só da plataforma.net, como também, das tecnologias nela empregadas. Embora o SSCLI seja uma representação fiel do padrão.net especificado pela ECMA, esta não é a versão comercial da Microsoft. Visando uma comparação do desempenho do SSCLI com as versões comerciais.net2.0 e.net3.0, neste artigo apresentamos uma análise da execução de arquivos escritos em C#, tendo em vista o uso de generics, delegates e tail-calls. 1. Introdução Tentando tornar a plataforma.net um padrão para desenvolvimento de aplicativos a Microsoft submeteu a European Computer Manufactures Association (ECMA) especificações da linguagem C# e da Common Language Infrastructure (CLI), baseadas no.net Framework. Em dezembro de 2001 estas especificações foram aprovadas, surgindo assim, os padrões ECMA-334 que especifica a linguagem C# e ECMA-335 para a CLI. Estes padrões descrevem as características mínimas necessárias para implementação do ambiente.net, o que permitiria a criação de aplicativos portáteis que poderiam ser executados em qualquer sistema operacional e hardware para o qual tenha sido desenvolvida uma plataforma que siga estes padrões. Seguindo estes padrões a Microsoft criou o SSCLI (Shared Source Commum Language Infrastructure), também conhecido como Rotor, que é uma versão de código aberto disponível para Windows XP e FreeBSD. O SSCLI possui, além das implementações da CLI e de um compilador C#, ferramentas, utilitários, classes adicionais e exemplos. O SSCLI, entretanto, é uma versão apenas para estudo. Para uso comercial a Microsoft disponibiliza o.net Framework, atualmente na versão 3.0. Umas das vantagens da plataforma.net é o fato de ela dar suporte a múltiplas linguagens, tais como C#, VB.NET, C++ e JScript. Este suporte pode ser melhor compreendido entendendo o processo de compilação deste ambiente que é dividido em duas etapas: 1. compilação do programa escrito em uma linguagem suportada para a Commum Intermediate Language (CIL), também conhecida como Microsoft Intermediate Language (MSIL); 2. compilação deste código intermediário sob demanda para a arquitetura alvo, através do compilador Just In Time (JIT). Desta forma a plataforma deixa o caminho aberto para que novas linguagens sejam incorporadas, através da criação de compiladores que gerem código CIL. Para que isto seja possível é necessário que 1

2 as características e particularidades das linguagens possam ser representadas na CIL. As formas como tais características são representadas bem como o ambiente implementa tais estruturas determinam o desempenho da linguagem. Os testes realizados foram feitos utilizandos três códigos diferentes, cada um contemplando uma característica importante da plataforma.net que é útil para uma implementação eficiente de linguagens funcionais. Esta metodologia foi adotado devido a utilização deste trabalho como base para melhorias na implementação do projeto Haskell.NET. Mais informações a respeito do projeto Haskell.NET pode ser visto em [1] e [3] Metodologia Os códigos utilizados nos testes foram colhidos na internet, representando porções específicas de benchmarcks mais completos ou simplesmente códigos que fazem uso intensivo das características aqui analisadas. Alguns códigos tiveram de ser alterados de modo a exibir o tempo gasto em suas execuções e a se adequarem as necessidades deste estudo. Mais detalhes serão fornecidos na apresentação dos códigos utilizados. Todos os testes foram executados em um computador com processador Pentium IV de 3.0 GHZ e 1MB de Cache, 512MB de memória RAM e HD de 80 GB. O sistema operacional utilizado foi o Windows XP Service Pack 2. Inicialmente coesistiram na mesma máquina as plataformas.net2.0 e o SSCLI2.0. Após os testes nestas duas foi feito o upgrade da plataforma.net2.0 para.net3.0 para a realização dos testes nesta ultima. Antes da execução dos testes foram retirados os processos que não fossem essenciais, bem como, o cabo de rede para evitar interferências externas. Cada exemplo foi executado 20 vezes em cada uma das implementações, de modo, a obter uma amostra significativa. Para automatizar a execução dos programas foram utilizados arquivos em lote do windows (.bat). A coleta dos dados ficou a cargo de scripts AWK[4], executados no ambiente cygwin, que varreram os arquivos gerados retirando apenas os dados relevantes. Para análise dos resultados foram utilizadas as ferramentas de análise de dados do Microsoft Excel. Sendo gerado os histogramas das amostras e as médias sem a influência dos outliers. A retirada dos outliers é uma atitude justificada devida a possíveis interferências de outros processos que estejam rodadando na máquina e a possíveis compilações em tempo de execução pelo compilador JIT. 2. Coleta e Análise dos Dados Segundo a metodologia descrita a realização da coleta e análise dos dados foi dividida em três partes: Generics, Delegates e Tail-Calls, correspondendo as características testadas neste artigo. Na apresentação dos resultados serão mostrados apenas as médias das 20 execuções, retirados possíveis outliers encontrados Generics Generics, também conhecida como polimofismo paramétrico é uma técnica bastante difundida nas linguagens funcionais, sendo posteriormente incorporada a linguagens imperativas (templates em C++) e orientadas a objetos utilizando supertipos comuns (Ex: Object em versões mais antigas de JAVA e da CLI). Vale ressaltar que neste artigo não será realizada a comparação de desempenho entre estas técnicas de representação de polimorfismo paramétrico, será avaliado apenas o desempenho de generics implementado nas plataformas aqui estudadas. Segundo [10], uma unidade genérica é uma unidade do programa que é parametrizada em relação a uma entidade da qual ela depende. A instanciação de uma unidade genérica gera uma unidade qualquer do programa, na qual cada um dos parâmetros formais genéricos são substituídos por um argumento. 2

3 Na prática com Generics podemos criar estruturas (classes, funções, etc) que podem trabalhar sobre diversos tipos de dados. O tipo de dado só será conhecido quando esta estrutura for instanciada e o tipo genérico for substituído pelo tipo desejado Código Utilizado Para o teste com Generics foi utilizado o SciGMark que está disponível para download nas linguagens C#, C++, Java e Aldor em http : //www.orcca.on.ca/benchmarks/. O SciGMark é uma variação, utilizando generics, do benchmark de aplicações científicas e numéricas SciMark[8]. Para uma comparação entre as implementações de generics em várias linguagens utilizando o SciGMark e deste com a versão sem generics, veja [5]. O benchmark SciGMark faz a medição da execução de vários kernels, pequena parte de um programa real geralmente a parte que faz uso computacional mais intenso, e gera uma média da pontuação obtida em MFlops (milhões de operações de ponto flutuante por segundos). Os kernels incluídos são Fast Fourier transform (FFT), Jacobi successive over-relaxation (SOR), Monte Carlo integration, Sparse matrix multiply e Dense LU matrix factorization. Detalhes a respeito destes algoritimos podem ser visto em [8] e [6] Resultados Os valores obtidos podem ser observados na Tabela 1. São apresentados os valores em MFlops obtidos para cada um dos testes e a médias deles nas três plataformas. FFT SOR Monte Carlo SPARCE LU Média.NET 2.0 6, , , , , ,0665.NET 3.0 6, , , , , ,0806 SSCLI 2.0 1,7442 4,5967 3,3829 5,3718 3,0340 3,6259 Tabela 1: Generics (Mflops) Na Tabela 2 é apresentada a relação entre os valores obtidos em cada uma das plataformas. É possível observar que a os valores obtidos nas plataformas.net2.0 e.net3.0 são praticamente os mesmos, apresentando uma variação mínima. Na comparação entre as plataformas.net2.0 e o SSCLI, entretanto, a variação dos resultados foi significativa chegando a valores 7,4503 vezes menor para o kernel Sparce e de 5,8099 na média dos testes. FFT SOR Monte Carlo SPARCE LU Média.NET2.0 x.net3.0 1,0000 0,9956 1,0000 1,0000 0,9999 0,9993.NET2.0 x SSCLI 3,5211 4,4442 5,9605 7,4503 6,1224 5,8099 Tabela 2: Generics (Relação entre os valores obtidos) 2.2. Delegates Delegates são estruturas de dados semelhantes a ponteiros só que, diferentemente destes, delegates são type-safe. Em C# delegates são classes capazes de encapsular referencias para métodos permitindo, desta forma, que métodos recebam como argumento referências para outro métodos. Outra vantagem de delegates em relação a ponteiros é que um delegate pode referenciar mais de um método. 3

4 Os métodos referenciados por um delegate são mantidos em uma lista interna e são chamados de uma só vez quando chamamos o método Invoke, sendo executados de acordo com a ordem de inserção no delegate Código Utilizado Para fazer o teste utilizando delegates foram feitas modificações no benchmark Invokebencharking[2]. Este programa oferece três formas diferentes de invocaçãos de uma função - chamada direta, delegates e via reflection. Utilizando delegates é criado um delegate para cada um dos quatros métodos descritos a seguir: StaticDelegateWithoutParams() método estático que não recebe parâmetros. StaticDelegateWithParams(int i, int j, int k) método estático com três parâmetros. DelegateWithoutParams() método não estático, sendo referenciado pelo delegate através da instância da classe a qual ele pertence. DelegateWithParams(int i, int j, int k) método não estático com três parâmetros. Todos os quatros métodos possuem o mesmo código (count++), que faz apenas o incremento do contador da quantidade de vezes que o método é executado. Nos nossos testes estabelecemos que cada um dos métodos seriam invocados vezes. Dentre as modificações realizadas no benchmark original a principal foi a retirada de todas as referências a classe System.Timers, pois com ela o programa não funcionava no SSCLI. Provávelmente, o SSCLI não possui a biblioteca que implementa esta classe. Com isto, tivemos de mudar a forma de avaliação feita pelo código que era dada em número de execuções em um determinado intervalo de tempo, controlado pela classe Timer. No modelo atual é passado ao programa o número de vezes que cada método deve ser invocado e como resultado temos o tempo gasto em milissegundos Resultados Os resultados obtidos neste teste podem ser visualizados na Tabela 3. A tabela mostra que, utilizando delegates, a invocação da instancia de métodos é em geral mais rápida do que a invocação de métodos estáticos. A exceção foi observada apenas na execução sem parâmetros no ambiente SSCLI, onde o tempo gasto pelo método instanciado foi levemente superior. Static.NET , , , ,8330.NET , , , ,2493 SSCLI , , , ,5781 Tabela 3: Invocação com delegates (Milissegundos) Mais uma vez, como podemos observar na Tabela 4, os valores dos testes nas plataformas.net2.0 e.net3.0 são equivalentes, apresentando variações pouco significantes. Já na comparação com o SSCLI os valores são muito superiores, chegando a gastar um tempo 216 vezes superior. 4

5 Static.NET2.0 x.net3.0 1,0132 1,0011 0,9823 1,0103.NET2.0 x SSCLI 149, , , ,6574 Tabela 4: Invocação com delegates (Relação entre os valores obtidos) Devido a elevada diferença apresentada nas comparações entre os resultados das plataformas.net2.0 e SSCLI foram feitos testes nos quais são efetuadas chamadas diretas aos métodos, para verificar se a implementação de delegates em SSCLI seria a responsável por tamanha diferença. Como mostra a Tabela 5 os valores para chamadas diretas são de duas a três vezes mais rápidas nos ambientes.net 2.0 e 3.0 e praticamente a mesma coisa no ambiente SSCLI. Static.NET , , , ,0833.NET , , , ,0833 SSCLI , , , ,6753 Tabela 5: Chamada direta a métodos (Milissegundos) A Tabela 6 mostra que a chamada direta nos ambientes.net 2.0 e 3.0 gastam o mesmo tempo e que no ambiente SSCLI o tempo gasto é 385 vezes maior em todos os casos quando comparado com.net2.0. Static.NET2.0 x.net3.0 1,0000 1,0000 1,0000 1,0000.NET2.0 x SSCLI Tabela 6: Chamada direta a métodos (Relação entre os valores obtidos) Estes resultados mostram que a chamada a métodos no ambiente SSCLI é extremamente mais lenta do que nos.net 2.0 e 3.0. Fica evidente também que esta discrepância não é devia a implementação de delegates, uma vez que, para chamadas direta aos métodos a diferença percentual é ainda maior Tail Calls Tail-Call é um mecanismo de chamada de função que visa eliminar o consumo de stack-frames da seguinte forma: sempre que uma chamada é executada ao final de uma determinada função, o frame atual é descartada, sendo imediatamente substituído pelo novo frame. Assim evita o crescimento exagerado da pilha. Este recurso é bastante útil em linguagens funcionais para evitar o estouro da pilha, uma vez que tais linguagens são essencialmente recursivas Código Utilizado O código utilizado neste teste pode ser encontrado em http : //www.jelovic.com/weblog/e59.htm. Este código executa um número n de vezes a chamada a um método utilizando tail-call e sem utilizar 5

6 tail-call. O método realiza um cálculo simples vezes. Como C# não suporta tail-calls, embora a CLI suporte, o código contendo o método deve ser primeiramente compilado para MSIL para que seja inserido o prefixo.tail antes da chamada ao método de uma das execuções e posteriormente compilado para código executável utilizando o compilador Ilasm Resultados Os tempos gastos na execução com e sem tail-calls são apresentados na Tabela 7. O tempo gasto na execução com tail-calls, em comparação com a execução sem tail-calls, é um pouco maior que o dobro nos ambientes.net 2.0 e 3.0 e 40% maior para o SSCLI. Sem Tail-Call Com Tail-Call.NET 2.0 5, ,1929.NET 3.0 5, ,1984 SSCLI , ,1437 Tabela 7: Tail-Calls (Segundos) A Tabela 8 mostra que as plataformas.net 2.0 e 3.0 gastam tempo semelhantes com relação a chamadas com e sem tail-calls. Já na comparação com o SSCLI o tempo gasto é cinco vezes maior para as chamadas sem tail-calls e um pouco maior que três vezes para chamadas com tail-calls. Sem Tail-Call Com Tail-Call.NET2.0 x.net3.0 1,0001 1,0004.NET2.0 x SSCLI 5, Tabela 8: Tail-Calls (Porcentagem) 3 Conclusões e Trabalhos Futuros O plataforma Microsoft.NET 3.0 (antiga WinFX) representa o novo modelo de programação de código gerenciado para Windows. Ela combina o poder da plataforma.net 2.0 com quatro tecnologias novas: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF)e Windows CardSpace (WCS, antigo InfoCard ). Nos testes aqui realizados foi demonstrado que quanto a uso de generics, delegates e tail-calls não foi feita nenhuma alteração que melhorasse a plataforma em relação a sua antecessora a.net2.0. Tais resultados nos levam a crer que a única diferença entre as plataformas.net2.0 e a 3.0 é o acréscimo das bibliotecas que provêm as quatros novas tecnologias descritas anteriormente, permanecendo a mesma CLR (Commum Language Runtime) sem nenhuma melhoria. Na avaliação do SSCLI 2.0 ficou evidenciado que o foco dado a esta plataforma não é o desempenho. Como o foco desta versão não é o uso comercial, e sim o estudo da plataforma, complexidades extras que poderiam melhorar o desempenho desta foram deixadas de lado para que se pudesse focalizar a legibilidade e entendimento da plataforma e das tecnologias nela empregada. No geral o desempenho no SSCLI foi de 3 a 6 vezes pior do que nas versões comerciais, o que é aceitável para uma versão não comercial cujo foco não é o desempenho. A exceção é a chamada a métodos, onde o desempenho foi de 100 a 300 vezes pior seja com o uso de delegates ou com chamadas direta. Outra característica que foi possível observar é a ausência, no SSCLI, de algumas bibliotecas que fazem parte das versões comerciais. 6

7 Entretanto, para uso no meio acadêmico a SSCLI é uma poderosa ferramenta, pois tem seu código aberto e liberado para estudo e possíveis alterações, desde que não utilizados para fins comerciais. A possibilidade de se poder alterar suas características pode justificar sua utilização ainda que em detrimento do desempenho. Desta forma como sugestão para trabalhos futuros destaca-se o estudo de técnicas de otimização que pudessem melhorar o desempenho do SSCLI, tendo em vista principalmente a chamada de métodos pois este demonstrou ser o principal gargalo no desempenho da plataforma. Outra sugestão é expandir os testes aqui realizados de forma a contemplar outras características destas plataformas tais como desempenho do coletor de lixo e do compilador Jitter. Referências [1] The haskell.net project. haskell/haskelldotnet/. [2] Marc Clifton. Benchmarking direct, delegate and reflection method invocations. [3] Monique Louise de Barros Monteiro. Integrando haskell à plataforma.net. Master s thesis, Universidade Federal de Pernambuco. Centro de Informática, Abril [4] Dale Dougherty and Arnold Robbins. sed & awk [5] Laurentiu Dragan and Stephen M. Watt. Performance analysis of generics in scientific computing. University of Western Ontario. Ontario Research Centre for Computer Algebra, [6] Laurentiu Dragan and Stephen M. Watt. On the performance of parametric polymorphism in maple. Technical report, University of Western Ontario. Ontario Research Centre for Computer Algebra, [7] Kevin John Gough. Compiling for the.net Commom Language Runtime (CLR). Prentice Hall PTR, [8] Roldan Pozo and Bruce Miller. Scimark 2.0 benchmark, [9] David Stutz, Ted Neward, and GeoffShilling. Shared Source CLI. O Reilly, [10] David Anthony Watt. Programming Language Design Concepts [11] Nick Wienholt. Maximizing.NET Performance

DESENVOLVIMENTO DE SOFTWARE AULA 1

DESENVOLVIMENTO DE SOFTWARE AULA 1 DESENVOLVIMENTO DE SOFTWARE AULA 1 CAMPUS SANTO ANDRÉ CELSO CANDIDO SEMESTRE 2014 1 Características da Plataforma.NET A plataforma.net Framework 4.0 (.NET 4.0) é uma plataforma de softwares que fornece

Leia mais

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes Ambiente de Programação Visual Framework.NET Prof. Mauro Lopes 1-31 16 Objetivos Nesta aula iremos apresentar a tecnologia.net. Ao final desta aula, o aluno terá compreendido a Arquitetura de uma aplicação.net.

Leia mais

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi 5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem

Leia mais

Fundament n os s da platafo f rm r a. NE N T André Menegassi

Fundament n os s da platafo f rm r a. NE N T André Menegassi Fundamentos da plataforma.net André Menegassi O que é o.net Framework?.NET é uma plataforma de software para desenvolvimento de aplicações que conecta informações, sistemas, pessoas e dispositivos através

Leia mais

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes

Ambiente de Programação Visual. Framework.NET. Prof. Mauro Lopes. Ambiente de Programação Visual Prof. Mauro Lopes Ambiente de Programação Visual Framework.NET Prof. Mauro Lopes 1-31 13 Objetivos Nesta aula iremos apresentar a tecnologia.net. Ao final desta aula, o aluno terá compreendido a Arquitetura de uma aplicação.net.

Leia mais

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Linguagem de Programação 3 Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C# Prof. Mauro Lopes 1-31 35 Objetivos Nesta aula iremos apresentar a tecnologia.net, o ambiente de desenvolvimento

Leia mais

Programando em C# Orientado a Objetos. By: Maromo

Programando em C# Orientado a Objetos. By: Maromo Programando em C# Orientado a Objetos By: Maromo Agenda Módulo 1 Plataforma.Net. Linguagem de Programação C#. Tipos primitivos, comandos de controle. Exercícios de Fixação. Introdução O modelo de programação

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

PARTE I A Linguagem C#

PARTE I A Linguagem C# PARTE I A Linguagem C# Capítulo 1, C# 3.0 e o.net 3.5 Capítulo 2, Iniciando: Hello World Capítulo 3, Fundamentos da Linguagem C# Capítulo 4, Classes e Objetos Capítulo 5, Herança e Polimorfismo Capítulo

Leia mais

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo

Seminário - C# DSO II. Desenvolvimento de Sistemas Orientados a Objetos 2. Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Seminário - C# DSO II Desenvolvimento de Sistemas Orientados a Objetos 2 Equipe: Diorges, Leonardo, Luís Fernando, Ronaldo Roteiro Breve Histórico Plataforma.NET Características da Linguagem Sintaxe Versões

Leia mais

Comparação entre Máquinas Virtuais Java e CLI em Algoritmos de Computação Numérica Intensiva

Comparação entre Máquinas Virtuais Java e CLI em Algoritmos de Computação Numérica Intensiva Comparação entre Máquinas Virtuais Java e CLI em Algoritmos de Computação Numérica Intensiva Francisco José Lins Magalhães, Francisco Heron de Carvalho-Junior e Jefferson de Carvalho Silva 1 Departamento

Leia mais

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora. www.novateceditora.com.br

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora. www.novateceditora.com.br ASP.NET Guia do Desenvolvedor Felipe Cembranelli Novatec Editora www.novateceditora.com.br 1 Introdução à plataforma.net A plataforma Microsoft.NET.NET é uma nova plataforma de software para desenvolvimento

Leia mais

Informática para Gestão de Negócios Linguagem de Programação III. Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br. Agenda

Informática para Gestão de Negócios Linguagem de Programação III. Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br. Agenda Informática para Gestão de Negócios Linguagem de Programação III Prof. Me. Henrique Dezani dezani@fatecriopreto.edu.br Professor Apresentação Agenda Ementa, Objetivo, Conteúdo Programático, Bibliografia,

Leia mais

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C#

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wmagalhaes@unipar.br

Leia mais

PROGRAMAÇÃODE COMPUTADORES I:C# LuizHenriqueC.Corêa

PROGRAMAÇÃODE COMPUTADORES I:C# LuizHenriqueC.Corêa PROGRAMAÇÃODE COMPUTADORES I:C# LuizHenriqueC.Corêa INFORMAÇÃOECOMUNICAÇÃO PROGRAMAÇÃODE COMPUTADORES I:C# LuizHenriqueC.Corêa INFORMAÇÃOECOMUNICAÇÃO Autor Luiz Henrique C. Corrêa Profissional com mais

Leia mais

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C#

UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# UMA ABORDAGEM COMPARATIVA ENTRE AS LINGUAGENS DE PROGRAMAÇÃO JAVA E C# Robson Bartelli¹, Wyllian Fressatti¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil robson_lpbartelli@yahoo.com.br,wyllian@unipar.br

Leia mais

Microsoft.NET. Grupo: Eduardo Getassi Maicon Lima Rodrigo Cunha

Microsoft.NET. Grupo: Eduardo Getassi Maicon Lima Rodrigo Cunha Microsoft.NET Grupo: Eduardo Getassi Maicon Lima Rodrigo Cunha Microsoft.NET Introdução ao CLR.NET WebServices FrameWork.NET MVC WebForms Linguagens.NET Versões Visual Studio ADO.NET INTRODUÇÃO Metodologia

Leia mais

Uso do Action₀NET com o PI System da OsiSoft

Uso do Action₀NET com o PI System da OsiSoft Uso do Action₀NET com o PI System da OsiSoft Introdução Se sua empresa utiliza o PI System da OsiSoft, o Action₀NET é o software SCADA (Supervisory Control and Data Acquisition) que mais se adequa a sua

Leia mais

Arquitetura da Máquina Virtual.NET

Arquitetura da Máquina Virtual.NET Arquitetura da Máquina Virtual.NET Marcelo Coutinho Cordeiro RA002092 Instituto de Computação Unicamp ra002092@ic.unicamp.br RESUMO Esse texto apresenta uma visão geral da arquitetura da máquina virtual

Leia mais

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes ASP.NET 2.0 e PHP Autor: Glauber de Almeida e Juarez Fernandes Linguagens pesquisadas ASP.NET 2.0 e PHP. 1 - ASP.NET 2.0 ASP.NET não é nem uma linguagem de programação como VBScript, php, nem um servidor

Leia mais

4 Avaliação do Código Gerado

4 Avaliação do Código Gerado Referencial Teórico 4 Avaliação do Código Gerado Nós fizemos alguns exemplos para avaliar a eficiência da especificação proposta, tanto em termos de velocidade de execução quanto de diminuição do tamanho

Leia mais

Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador?

Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud. Como aproveitar o melhor de cada programador? Como acompanhar a evolução dos aplicativos? Console >> Desktop >> Web >> Mobile >> Cloud Como aproveitar o melhor de cada programador? Clientes querem tudo pra ontem. Como atender essa necessidade? Microsoft.NET

Leia mais

Infracontrol versão 1.0

Infracontrol versão 1.0 Infracontrol versão 1.0 ¹Rafael Victória Chevarria ¹Tecnologia em Redes de Computadores - Faculdade de Tecnologia SENAC (Serviço Nacional de Aprendizagem Comercial) Rua Gonçalves Chaves 602-A Centro 96015-560

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

A interface do Microsoft Visual Studio 2005

A interface do Microsoft Visual Studio 2005 Tarefa Orientada 1 A interface do Microsoft Visual Studio 2005 Objectivos: Introdução à framework.net Iniciar o Visual Studio 2005. Criar um novo projecto de Windows Forms em Visual Basic Introdução à

Leia mais

Microsoft.NET. Desenvolvimento Baseado em Componentes

Microsoft.NET. Desenvolvimento Baseado em Componentes Microsoft.NET Lirisnei Gomes de Sousa lirisnei@hotmail.com Jair C Leite jair@dimap.ufrn.br Desenvolvimento Baseado em Componentes Resolução de problemas específicos, mas que podem ser re-utilizados em

Leia mais

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Acadêmico: Leonardo Chagas D Ippolito Orientador: Prof. Marcel Hugo Blumenau, Dezembro de 2004

Leia mais

Professor: Douglas Sousa Cursos de Computação

Professor: Douglas Sousa Cursos de Computação Linguagem de Programação C# Professor: Douglas Sousa Cursos de Computação Agenda Conceitos Básicos; Principais Características; Visual Studio; Meu Primeiro Programa; A Linguagem C#; Sistemas de Tipos;

Leia mais

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA

COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA 73 COMPARAÇÃO ENTRE OS FRAMEWORKS DE DESENVOLVIMENTO DE SOFTWARE ENTITY FRAMEWORK E NHIBERNATE : ESTUDO DE CASO EM UM SISTEMA Daniel José Angotti Analista de Negócio, Repom S/A djangotti@gmail.com Carlos

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente: Trabalho elaborado por: Carlos Palma nº5608 Curso de Eng. Informática Linguagens de Programação C Sharp University Data Processing (C Sharp Universidade de Processamento de Dados) Docente: José Jasnau

Leia mais

Guia do Programador Joel Saade

Guia do Programador Joel Saade C# Guia do Programador Joel Saade Novatec Copyright 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial,

Leia mais

Requisitos dos postos de usuário para utilizar os aplicativos da Adquira

Requisitos dos postos de usuário para utilizar os aplicativos da Adquira Requisitos dos postos de usuário para utilizar os aplicativos da Adquira 30/08/2007 Autor: Carlos Torrijos Martín Versão 1.10 1.- Introdução 3 2.- Requisitos Hardware dos equipamentos 4 3.- Requisitos

Leia mais

Manual de Transferência de Arquivos

Manual de Transferência de Arquivos O Manual de Transferência de Arquivos apresenta a ferramenta WebEDI que será utilizada entre FGC/IMS e as Instituições Financeiras para troca de arquivos. Manual de Transferência de Arquivos WebEDI Versão

Leia mais

FERRAMENTAS PARA DESENVOLVIMENTO EM C#

FERRAMENTAS PARA DESENVOLVIMENTO EM C# FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wyllian@unipar.br Resumo. Este artigo

Leia mais

Java Linguagem de programação

Java Linguagem de programação 1 Linguagem Java O que é o Java? Java é uma linguagem de programação, apresentada ao mercado em 1995, pela Sun Microsystems, que provocou e ainda provoca excitação e entusiasmo em programadores, analistas

Leia mais

Introdução à Computação

Introdução à Computação Aspectos Importantes - Desenvolvimento de Software Motivação A economia de todos países dependem do uso de software. Cada vez mais, o controle dos processos tem sido feito por software. Atualmente, os

Leia mais

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS

ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS ANEXO 05 ARQUITETURAS TECNOLÓGICAS PROCERGS Este anexo apresenta uma visão geral das seguintes plataformas: 1. Plataforma Microsoft.NET - VB.NET e C#; 2. Plataforma JAVA; 3. Plataforma Android, ios e Windows

Leia mais

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Graduação em Ciência da Computação Linguagens de Programação

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Graduação em Ciência da Computação Linguagens de Programação UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO Graduação em Ciência da Computação Linguagens de Programação Bruno Agrizzi Gilberto Ewald Luis Augusto Nicholas Figueiredo Histórico e Características Em 1999 inicia-se

Leia mais

DIEGO ROBERTO COLOMBO DIAS

DIEGO ROBERTO COLOMBO DIAS FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA UNIVEM BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DIEGO ROBERTO COLOMBO DIAS AVALIAÇÃO DO USO DE SISTEMAS ORIENTADOS A OBJETOS

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Manual de Instalação

Manual de Instalação Manual de Instalação Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Group Folha no servidor...6

Leia mais

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos

Object Brokers. Tecnologias de Middleware 2004/2005 André Santos Object Brokers Tecnologias de Middleware 2004/2005 André Santos Resumo O que são Object Brokers? Como surgiu o conceito? CORBA Exemplos de utilização Comparação com Java RMI Actualidade (J2EE,.NET) O que

Leia mais

AULA 1: PARADIGMAS DE PROGRAMAÇÃO

AULA 1: PARADIGMAS DE PROGRAMAÇÃO 1 AULA 1: PARADIGMAS DE PROGRAMAÇÃO Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Ementa 2 Programação Imperativa. Programação Paralela e Concorrente. Programação Lógica. Programação Funcional.

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

11 Conclusão. 11.1 Descobertas

11 Conclusão. 11.1 Descobertas 97 11 Conclusão 11.1 Descobertas Nesse trabalho apresentamos o McCloud Service Framework, um arcabouço para implementação de serviços baseados na Simulação de Monte Carlo na nuvem, disponibilizamos duas

Leia mais

Protótipo de ferramenta para monitoração de computadores utilizando o padrão de gerência WMI da Microsoft e a plataforma de desenvolvimento.

Protótipo de ferramenta para monitoração de computadores utilizando o padrão de gerência WMI da Microsoft e a plataforma de desenvolvimento. Protótipo de ferramenta para monitoração de computadores utilizando o padrão de gerência WMI da Microsoft e a plataforma de desenvolvimento.net Acadêmico:Rodrigo Jacobowski Orientador: Prof. Francisco

Leia mais

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos

Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos Arquitetura do conjunto de instruções (ISA); características de instruções de máquina; tipos de operandos Abordaremos nesta aula assuntos referentes à arquitetura do conjunto de instruções, tipos de operandos

Leia mais

Avaliação de Desempenho de Sistemas Computacionais

Avaliação de Desempenho de Sistemas Computacionais Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Avaliação de Desempenho de Sistemas Computacionais Aula 3 Marcos José Santana Regina Helena

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin, 6ª Ed., Addison-Wesley, 2002 [cap.1, 2 e 3] Operating Systems, Third Edition Harvey M. Deitel, Prentice

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Gerenciador de dados do SCS

Gerenciador de dados do SCS Gerenciador de dados do SCS Notas da versão Versão 3.00 Escritório corporativo Trimble Navigation Limited Divisão de Engenharia e da Construção 935 Stewart Drive Sunnyvale, California 94085 EUA Fone: +1-408-481-8000

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora

OOP - Java. Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora OOP - Java Artur Duque Rossi Mestrado em Modelagem Computacional Universidade Federal de Juiz de Fora 1 Sumário Java Aviso! História do Java Programação Orientada à Objetos Os quatro pilares da OOP Abstração

Leia mais

A.S.P. Servidores Windows

A.S.P. Servidores Windows A.S.P. Servidores Windows Servidores TCP/IP O mercado de servidores de rede é dominado essencialmente por duas linhas de produtos: Open Source: Linux, BSD, e seus derivados Proprietários: Microsoft Windows

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Programas e Linguagens Para executar uma tarefa

Leia mais

Novas Tecnologias Microsoft. http://formacao.rumos.pt/

Novas Tecnologias Microsoft. http://formacao.rumos.pt/ Novas Tecnologias Microsoft http://formacao.rumos.pt/ Rich Internet Applications (RIA) Carlos Lima carlos.lima@rumos.pt Agenda Objectivos da sessão O que é uma RIA O que é o Silverlight Software necessário

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

Manual de Instalação Corporate

Manual de Instalação Corporate Manual de Instalação Corporate Sumário 1. Sobre este documento...3 2. Suporte técnico...3 3. Requisitos de hardware...3 3.1. Estação...3 3.2. Servidor...4 4. Instalação...4 4.1. Instalação do Imobiliária21

Leia mais

TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I

TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I TRABALHO DE PROGRAMAÇÃO FUNCIONAL LINGUAGEM DE PROGRAMAÇÃO I Raimundo Alan F. Moreira, Antônio Victor C. Passos, Otavio R. Neto, José Almeida Júnior. Bacharelado em Ciências da Computação Centro de Ciências

Leia mais

Parte IX. Luiz Eduardo Borges

Parte IX. Luiz Eduardo Borges Parte IX Luiz Eduardo Borges Sumário (parte VIII) Empacotamento. Integração com Fortran. Integração com linguagem C. Integração com.net. Empacotamento Compilação Empacotamento Fontes (*.py) Bytecode (*.pyc

Leia mais

Desenvolvimento e Implantação de Sistemas SCADA Utilizando Computação na Nuvem. Clovis Simões Spin Engenharia de Automação Ltda.

Desenvolvimento e Implantação de Sistemas SCADA Utilizando Computação na Nuvem. Clovis Simões Spin Engenharia de Automação Ltda. Desenvolvimento e Implantação de Sistemas SCADA Utilizando Computação na Nuvem Clovis Simões Spin Engenharia de Automação Ltda. SUMÁRIO OBJETIVO VISÃO GERAL DO AMBIENTE SCADA PRINCIPAIS CARACTERÍSTICAS

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

JAVA VIRTUAL MACHINE (JVM)

JAVA VIRTUAL MACHINE (JVM) JAVA VIRTUAL MACHINE (JVM) Por Leandro Baptista, Marlon Palangani e Tiago Deoldoto, 11 de Abril de 2009 A linguagem de programação Java proporciona o desenvolvimento aplicações que podem ser executadas

Leia mais

Requisitos Técnicos IPN-V2 SINACOR

Requisitos Técnicos IPN-V2 SINACOR Requisitos Técnicos IPN-V2 SINACOR Projeto: SINACOR IPN V2 Para a 2ª Fase do Projeto, que abrange os mercados de Renda Variável e Fixa Privada, as minutas ainda estão pendentes de aprovação dos órgãos

Leia mais

Capítulo 1 Introdução

Capítulo 1 Introdução Capítulo 1 Introdução Programa: Seqüência de instruções descrevendo como executar uma determinada tarefa. Computador: Conjunto do hardware + Software Os circuitos eletrônicos de um determinado computador

Leia mais

INSTALAÇÃO DO MICROSOFT SQL SERVER 2008 R2

INSTALAÇÃO DO MICROSOFT SQL SERVER 2008 R2 INSTALAÇÃO DO MICROSOFT SQL SERVER 2008 R2 Neste item aprenderemos a instalar o Microsoft SQL SERVER 2008 R2 e a fazer o Upgrade de versões anteriores do SQL SERVER 2008 R2. Também veremos as principais

Leia mais

Rational Functional Tester, Versão 7.0

Rational Functional Tester, Versão 7.0 Rational Functional Tester, Versão 7.0 Guia de Instalação G517-8839-01 Rational Functional Tester, Versão 7.0 Guia de Instalação G517-8839-01 Nota Antes de utilizar estas informações e o produto suportado

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas

Treinar - Cursos e Treinamentos C# Módulo I. Carga horária: 32 Horas Treinar - Cursos e Treinamentos C# Módulo I Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann

Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann Anderson Pereira, Emerson Demetrio, Fernando Mateus, Lucas Bergmann Sistema Operacional E no inicio... Windows CE: - Sistema Operacional criado pela Microsoft para dispositivos sistemas embarcados (Tablet

Leia mais

GRUPO: Igor de Oliveira Nunes Mateus Tassinari Ferreira Renan Sarcinelli

GRUPO: Igor de Oliveira Nunes Mateus Tassinari Ferreira Renan Sarcinelli GRUPO: Igor de Oliveira Nunes Mateus Tassinari Ferreira Renan Sarcinelli Surgimento do C# No final de 1990 a Microsoft tinha diversas tecnologias e linguagens de programação. Toda vez que um programador

Leia mais

5 Planejamento dos experimentos

5 Planejamento dos experimentos 5 Planejamento dos experimentos Depois de escolher e implementar 5 modelos de concorrência e 4 modelos de sandboxes que consideramos representativos para um servidor web Lua, procuramos os principais fatores

Leia mais

Elementos da Linguagem C#

Elementos da Linguagem C# Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE

NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE Fevereiro/2012 Índice APRESENTAÇÃO... 3 ENTENDENDO A MUDANÇA... 3 QUAIS OS BENEFÍCIOS?... 3 FERRAMENTA PARA ATUALIZAÇÃO... 4 ABRANGÊNCIA

Leia mais

Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira

Ruby. Conceitos básicos. Prof. Ms. Leonardo Botega. Diego Gabriel Pereira Ruby Conceitos básicos Prof. Ms. Leonardo Botega Diego Gabriel Pereira Quem somos nós Leonardo Botega Bacharel em Ciência da Computação UNIVEM Mestre em Ciência da Computação UFSCar Doutorando em Ciência

Leia mais

FORMULÁRIO-SÍNTESE DA PROPOSTA - SIGProj EDITAL EDITAL A QUALQUER TEMPO 01/2013 PARTE I - IDENTIFICAÇÃO

FORMULÁRIO-SÍNTESE DA PROPOSTA - SIGProj EDITAL EDITAL A QUALQUER TEMPO 01/2013 PARTE I - IDENTIFICAÇÃO UNIVERSIDADE DO ESTADO DE SANTA CATARINA PRÓ-REITORIA DE EXTENSÃO, CULTURA E COMUNIDADE FORMULÁRIO-SÍNTESE DA PROPOSTA - SIGProj EDITAL EDITAL A QUALQUER TEMPO 01/2013 Uso exclusivo da Pró-Reitoria (Decanato)

Leia mais

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express

Aula 01: Linguagens de Programação e Introdução ao Visual C# Express Aula 01: Linguagens de Programação e Introdução ao Visual C# Express EMENTA: Introdução ao Visual C#. Fundamentos da Linguagem. Estruturas de decisão e repetição. Modularização de Programas: Funções. Arrays

Leia mais

Fabricio Pires Vasconcellos 1 Diogo de Freitas Nunes 2 Wellington Machado Fernandes 3

Fabricio Pires Vasconcellos 1 Diogo de Freitas Nunes 2 Wellington Machado Fernandes 3 Os Principais Benefícios da Utilização do.net Framework no Processo de Desenvolvimento de Software The Key Benefits of Using the. NET Framework in the Software Development Process Los principales benefícios

Leia mais

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010 Construção de Compiladores Prof. Raimundo Santos Moura (http://www.ufpi.br/rsm) Construção de Compiladores Livro-Texto: AHO, Alfred V.; ULLMAN, Jeffrey D.; SETHI, R. Compiladores: princípios, técnicas

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

Análise de desempenho de processadores ATmega328 utilizando Benchmark Linpack Marcos S. Morgenstern, Lori R. F. Machado Filho, Edson L.

Análise de desempenho de processadores ATmega328 utilizando Benchmark Linpack Marcos S. Morgenstern, Lori R. F. Machado Filho, Edson L. Análise de desempenho de processadores ATmega328 utilizando Benchmark Linpack Marcos S. Morgenstern, Lori R. F. Machado Filho, Edson L. Padoin Universidade Regional do Noroeste do Estado Do Rio Grande

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Anderson Martins dos Anjos. Arleson Nunes Silva. Fábio Antonio Oliveira Novais. Silas Queiroz

Anderson Martins dos Anjos. Arleson Nunes Silva. Fábio Antonio Oliveira Novais. Silas Queiroz Anderson Martins dos Anjos Arleson Nunes Silva Fábio Antonio Oliveira Novais Silas Queiroz.NET Framework e linguagem C# Salvador 2009 Anderson Martins dos Anjos Arleson Nunes Silva Fábio Antônio Oliveira

Leia mais

Medidas de Desempenho e a Lei de Amdahl

Medidas de Desempenho e a Lei de Amdahl Medidas de Desempenho e a Lei de Amdahl Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Evolução dos processadores Como medir desempenho? Como

Leia mais

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD

Soluções de Acessibilidade. VLibras - Desktop. Manual de Instalação da Ferramenta. Microsoft Windows R. Núcleo de Pesquisa e Extensão / LAViD Soluções de Acessibilidade VLibras - Desktop Manual de Instalação da Ferramenta Microsoft Windows R Núcleo de Pesquisa e Extensão / LAViD 2015 INTRODUÇÃO Objetivo Este manual contém introdução e informações

Leia mais

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula E-mail: fernando.santorsula@esamc.br Aula 15 (Revisão prova B2): Conteúdo programático Teórica Conteúdo da Aula 12 até a

Leia mais

Introdução ao Veridis Biometrics SDK VERIDIS

Introdução ao Veridis Biometrics SDK VERIDIS Introdução ao Veridis Biometrics SDK Versão do SDK: 5.0 2013 Veridis Biometrics VERIDIS BIOMETRICS Versão do Documento Versão Data Modificações 1 2 3 4 5 23/mar/2011 17/mai/2011 29/jul/2011 3/out/2011

Leia mais

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional Introdução à Linguagem JAVA Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação Laboratório de Visão Computacional Vantagens do Java Independência de plataforma; Sintaxe semelhante às linguagens

Leia mais

Desenvolvimento de um gerador gráfico de consultas SQL via Web utilizando a plataforma.net

Desenvolvimento de um gerador gráfico de consultas SQL via Web utilizando a plataforma.net Desenvolvimento de um gerador gráfico de consultas SQL via Web utilizando a plataforma.net Lucas Roberto Bechert Schmitz 1, Jackson Gomes de Souza 1 1 Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE. Kellen Kristine Perazzoli 1, Manassés Ribeiro 2 RESUMO INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE Kellen Kristine Perazzoli, Manassés Ribeiro RESUMO O grande avanço tecnológico vivenciado nos últimos anos, os web services vem sendo utilizados trazendo

Leia mais

2QRYR&ODULRQ1(73DUWH,

2QRYR&ODULRQ1(73DUWH, 2QRYR&ODULRQ1(73DUWH, 3RU-XOLR&pVDU3HGURVR Gosto de escrever sobre FRLVDV QRYDV, sobre QRYDV WHFQRORJLDV, enfrentar desafios e pesquisas sobre o assunto. Afinal, de velho, basta eu! Como assinante da Clarion

Leia mais