TGI 29 11 2009
BRUNO DE ALMEIDA LUZ
DANILO RAMOS CARVALHO
RASA GARGANTIEL LARIGUET
RUBY ON RAILS
UM ESTUDO EMPIRICO
DE SEUS PARADIGMAS DE PROGRAMAÇÃO.
SÃO PAULO
2009
BRUNO DE ALMEIDA LUZ
DANILO RAMOS CARVALHO
RASA GARGANTIEL LARIGUET
RUBY ON RAILS
UM ESTUDO EMPIRICO
DE SEUS PARADIGMAS DE PROGRAMAÇÃO.
ORIENTADOR: Prof. MS. Vinicius Miana Bezerra
SÃO PAULO
2009
SUMÁRIO
ABSTRACT 5
RESUMO 5
1. INTRODUÇÃO 6
1.1. Motivação 6
1.2. Objetivo 8
1.3. Justificativa 9
1.4. Metodologia 12
1.5. Estrutura do Trabalho 13
2. COMPARAÇÕES INICIAIS 15
2.1. Instalando as Linguagens no Microsoft Windows 15
2.2. IDE 18
2.3. Servidores web 27
2.4. Estrutura de um projeto MVC 36
3. SINTAXES DAS LINGUAGENS 40
3.1. Tipos de dados 40
3.2. Declaração de variáveis 42
3.3. Estruturas de Condição 49
3.4. Estruturas de Repetição 53
4. RUBY ON RAILS – EXCLUSIVIDADES E CONCEITOS 58
4.1. COC & DRY 58
4.2. Metaprogramação 59
4.3. Utilitário Rake 61
4.4. Migrations 62
4.5. Active Records 66
5. COMPARAÇÕES DE DESENVOLVIMENTO 72
5.1. Persistência e recuperação de dados 72
5.2. Documentação 81
5.3. Bibliotecas 83
5.4. Visão Geral 86
5.5. Objetivo: 87
5.6. Navegação 87
5.7. Cadastros 91
6. TESTE DE DESEMPENHO 94
6.1. Considerações Iniciais 94
6.2. Metodologia 94
6.3. Código 95
6.4. Resultados 99
6.5. Conclusão 101
7. CONCLUSÃO 102
BIBLIOGRAFIA 105
ANEXOS 109
ABSTRACT
This work compares three programming languages and their different paradigms. Those programming languages are Java, C# and Ruby on Rails, where Java and C# are both compiled programming languages, and Ruby on Rails is a dynamic programming language. Ruby on Rails is being considered the new internet phenomenon, while Java and C# are some of the most used programming languages. Interviews with Rails community members were made to collect information about this paradigm.
Some Ruby on Rails concepts are explained in this work, like: COC, DRY, Metaprogramming, Rake utility and Active Records.