Curso ruby on rails

  • Published on
    14-Jul-2015

  • View
    140

  • Download
    2

Embed Size (px)

Transcript

Ruby on RailsDesenvolvimento gil para webLinguagem RubyFoi criada com o intuito de parecer natural, no necessariamente simples.

Seu idealizador buscou o equilbrio entre programao funcional e programao imperativa.

"O Ruby simples na aparncia, mas muito complexo no interior, tal como o corpo humano." - Yukishiro 'Matz' MatsumotoO qu programao funcional? Programao a partir de expresses, de funes. O output de um mtodo vai depender sempre unicamente dos parmetros passados para ele. Dar exemplo.soma = 0array.each do |e| soma += eendsoma

O qu programao imperativa? Assim como o modo imperativo da lngua portuguesa expressa comandos de ao, uma programao imperativa expressa uma sequncia de comandos para o computador executar. Dar exemplo.

Como assim natural? O cdigo ruby precisa ser expressivo, ou seja, legvel. Veremos adiante que muito fcil entender o cdigo (assemelha-se ao ingls).Linguagem RubyParte de sua naturalidade vem do fato de Ruby utilizar tipagem dinmica.

Outras propriedades interessantes:Compilao just-in-time (traduo dinmica)Garbage CollectorTipagem forteE o mais interessante...Tipagem dinmica? Em Java, C e outras linguagens ns precisaramos informar que uma varivel do tipo inteiro antes de lhe atribuir um valor. Ou seja, so linguagens de tipagem esttica. E em Ruby?

Compilao just-in-time? Compilao de um programa em tempo de execuo.Vantagens: no compila todo o cdigo antes de subir a aplicao, podemos alterar o cdigo e ver a alterao sem reiniciar o servidor, etc. ;Desvantagens: permite execuo com cdigo errado, a execuo mais lenta.. Algum sabe de alguma outra?

Garbage Collector? No precisamos nos preocupar em limpar o lixo da memria.. Mas se por algum motivo precisarmos, ns podemos fazer isso manualmente. Que beleza!!

Tipagem forte? Os tipos so "fortes", ou seja, no podemos fazer certas operaes com objetos de tipos diferentes.. Linguagens com tipagem fraca, como PHP e Javascript, permitem que eu realize por exemplo 1 + "1"

Linguagem RubyTudo em Ruby um objeto.

Ou seja, cada pedao de informao em um cdigo Ruby pode possuir suas prprias propriedades e mtodos.

Lembrando: em programao orientada a objetos, chamamos propriedades de variveis de instncia e aes de mtodos. Veremos isso melhor mais adiante.IRBGrande recurso para os desenvolvedores Ruby o console interativo Ruby, ou IRB.irbnome = "Joao"soma_nome = nome + 1TypeError: no implicit conversion of Fixnum into String

multiplicacao_nome = 4*nome=> TypeError: String can't be coerced into Fixnum

Ah: Linguagem dinmica, tipagem forte.

Mas olha que legalnome_repetido = nome*4=> "JoaoJoaoJoaoJoao"IRB

StringsSo delimitadas por aspas simples ou duplas. Aspas simples no comportam interpolao.

Strings so mutveis. Atravs do operador '