sábado, 22 de março de 2008

Da série: Aprendendo!

Programando em Rub I - Orientação a Objeto

Tudo no Paradigma de Programação a Orientada a Objetos resume-se em:

  1. Classes
  2. Atributos
  3. Metodos

Na construção de uma Classe, observamos:

  1. Herança
  2. Abstração
  3. Encapsulamento
  4. Polimorfismo

E por fim tudo Acaba em Objeto.

Ou seja, Objetos são Instancias de Classes que forma construídas observado Heranças, Encapsulamento, Polimorfismo e abstração.

Bem! Voce pode estar se perguntando, isso eu ja sabia! Porem vale apena lembrar antes de entrarmos no assunto, pois em alguns momentos esses conseitos serão importantes para esclarecer dúvidas sobre as várias implementações do Paradigma.

Para entendermos melhor vamos analizar a função seguir:

a = 10 + 20

Vamos Ver o que é cada um dos membros dessa função.

“a” - é uma variável

“=” - é um operador

“10″ - é um número

“+” - é um operador

“20″ - é um número

Na primeira olhada na funçao podemos identificar facilmente as partes que a compoem. E bem claro que a função e composta de variáveis, operadores e números.

Bem voltemos então as bases da Orientação a Objetos(no começo do artigo), procure por variáveis, operadores e números. Isso mesmo não existe variáveis, operadores e números, na Orientação a Objetos só existem, Objetos compostos de atributos e metodos.

Vamos rever a função, agora Orientado a Objetos

a = 10 + 20

“a” - é um objeto

“=” - é um método do objeto “a”

“10″ - é um objeto

“+” - é um método do objeto “10″

“20″ - é um objeto

Poderia ser escrito assim:

a.=(10.+(20))

Ou seja, tudo em uma linguagem Orientada a Objetos são objetos.

É assim que Ruby implementa a Orientação a Objetos, tudo que é manipulado em um Programa segue a seguinte ordem, Palavra Reservada, Objeto ou Método, não existe nada além disso.

Isso simplifica muito o aprendizado da linguagem, pois aprendendo as palavras reservadas, o resto é tudo objetos, e quando voce precisa fazer alguma coisa com um objeto basta chamar seus métodos e pronto, simples assim.

Vejamos um exemplo de um objeto em ruby

“eu sou um objeto”

Voce deve estar olhando e vendo que isso é uma String, isso mesmo, e também e um objeto, e tem um monte de métodos

Vamos fazer o texto ficar todo em maiúsculo

“eu sou um objeto”.upcase

“EU SOU UM OBJETO”

Notem, nós chamamos o métodos “upcase” diretamente na String. O Objeto é auto-suficiente, contém todos os métodos pertinentes a sí, isso é muito importante, pois libera a linguagem dessas obrigações.

Vejamos os numeros

10

Isso também é um objeto e tem seus métodos por exemplo, o + é um métodos do objeto 10.

10.+(20)

ou 10 + 20

Um pouco mais de filosofia sobre Orientação a Objetos!

Bem voce deve estar pensando, “bem se o + e um método do objeto 10, eu poderia sobrescreve-lo, e fazer o + realizar qualquer coisa!”, Sim isso mesmo voce pode sobrescrever qualquer método e modifica-lo de acordo com suas necessidade.

Ficaria assim:

class MeuNumero < Fixnum
def +(numero)
42
end
end

numero = MeuNumero.new(1)
# Repare como um operador de soma é um método em ruby, ao contrário de outras linguagens
puts numero+2 # 1+2 = 42 ??? Sim, sobrescrevemos o método de soma para retornar 42 sempre.

Bem mais isso não e perigoso, imagine um método que chama + e que realiza uma divisao, poderia confundir o programador. Isso é verdade, porém da muita flexibilidade, e deixa tudo Orientado a Objetos.

Muitas linguagens como o Java deixam os operadores dentro da própria linguagem e nao como um método do objeto numero, e os númentos também são primitivos e não objetos, com isso se diminui a possibilidade de uso errado das coisas, porém deixa a linguagem muito suja e complexa, pois nao sabe quando deve-se chamar um método ou quando deve-se chamar uma função da linguagem, e também deixa o conseito de Orientação a Objetos errado, por isso que java é PseudoOrientada a Objetos, em alguns pontos ela e totalmente procedural, ou seja:

a = 10 + 20

Isso é totalmente procedural pois:

“10″ - é um número(primitivo)

“+” - é uma função da linguagem java

“20″ - é um número(primitivo)

Essa função em java não é nada orientado a objeto.

Bem essa era a parte filosófoca do nosso artigo, mais era importante saber e relembrar as bases do Conseito de Orientação a Objetos, pois serão muito úteis no aprendizado da linguagem Ruby.

No proximo artigo veremos mais a fundo na Linguagem Ruby (Tipos, Numeros, Strins e Array).

Aprendendo!

O que é a Linguagem de programação Ruby?

Segundo Yukihiro Matsumoto, ou “Matz”, o criador da linguagem Ruby: Mats

“Ruby é uma Linguagem de script interpretada para programação orienteada a objetos, de modo fácil e rápido. Ela tem vários recuros para processar arquivos de texto e para fazer tarefas de gerenciamento de sistemas. Ela é simples, direta ao ponto, extensível e portável. Oh, preciso mensionar, é totalmente livre, o que significa não só livre de precisar pagar para usá-la, mais também a liberdade de usar, copiar, modificar e distribuí-la”

Pensamentos de Mats:
“Para mim o propósito da vida é parcialmente em ter prazer. Programadores às vezes sentem prazer quando podem se concentrar na parte criativa da programação. Então Ruby foi projetado para fazer programadores felizes”

Matz começou a trabalhar no Ruby em 24 de fevereiro de 1993, a primeira versão alpha ficou pronta em dezembro de 1994. Até 1996, ele trabalhou sozinho, quando começou a se formar uma comunidade ao redor da linguagem. A partir daí, apesar de ainda fazer a maior parte do desenvolvimento sozinho, Matz passou a receber fixes e patches da comunidade.

Características da Linguagem

  1. Principio da Menor Surpresa
  2. Orientada a Objetos “de verdade” (nao como java “pseudoorientada”)
  3. Tipagem Dinamica
  4. Fortemente Tipada
  5. Mixins
  6. Clousures ou Blocos
  7. Continuations
  8. Bindings

Porque usar Ruby?

“Você quer aproveitar a vida, não quer? Se conseguir terminar seu trabalho mais rápido e seu trabalho for divertido, isso é bom, não é? Esse é o propósito da vida, em parte. Sua vida é melhor.Quero solucionar problemas que encontro no cotidiano usando computadores, então preciso escrever programas. Usando Ruby, quero me concentrar nas coisas que faço, não nas regras mágicas da linguagem, como começar com public void alguma coisa alguma coisa para dizer “print hello world”. Apenas quero dizer “print this!”. Não quero todas as diversas palavras mágicas. Quero me concentrar na tarefa. Essa é a idéia básica. Por isso tenho tentado fazer o código Ruby conciso e suscinto.” Mats

A Linguagem Ruby e com certeza uma excelente ferramenta para se fazer um bom programa, ela traz em si, um aglomerados de boas coisas de vária Linguagens, tais como Lisp, Perl, Python, Ada, Smaltalk, Eiffel, e muitas outras. Traz em sim o poder das linguagens Dinamicas, o poder da Orientaçao a Objetos, O Poder dos Mixins, O Poder dos Blocos, O poder dos Continuations e Binfings.

Se vocês esta lendo este artigo é muito provavelmente que ja tenha ouvido falar na linguagem Ruby, talvez esteja se preguntando, “Será que devo estudar e aprender esta linguagem”, com toda certeza o meu conselho é que você estude, mesmo que não tenha nenhuma pretenção de usá-la brevemente. A linguagem Ruby traz em si a proposta de tornar a ato de programar algo prazeroso e agradavél, contexto esses abandonado e despresado pelas outras linguagens, só isso ja bastaria para usá-la, porém, alem de tudo ela traz consigo uma comunidade forte de pensadores, não de somente usários e sim de críticos que tornar o simples processo de aprender Ruby ainda mais edificador e agradável.

Nos proximos Artigos abordaremos as características Tecnicas da Linguagens

Fontes:

www.rubyonbr.org

www.akitaonrails.com

www.ruby-lang.org

simplesideias.com.br

Gostaria de creditar esse texto ao meu tio I. Guerra, que me introduzio no mundo do ruby!

O Grande ditador


“Todos nós desejamos ajudar uns aos outros. Os seres humanos são assim. Desejamos viver para a felicidade do próximo - não para o seu infortúnio. Por que havemos de odiar e desprezar uns aos outros? Neste mundo há espaço para todos. A terra, que é boa e rica, pode prover a todas as nossas necessidades.

O caminho da vida pode ser o da liberdade e da beleza, porém nos extraviamos. A cobiça envenenou a alma dos homens, levantou no mundo as muralhas do ódio e tem-nos feito marchar a passo de ganso para a miséria e os morticínios. Criamos a épo

liberade_de_expressao

ca da velocidade, mas nos sentimos enclausurados dentro dela. A máquina, que produz abundância, tem-nos deixado em penúria. Nossos conhecimentos fizeram-nos céticos; nossa inteligência, empedernidos e cruéis. Pensamos em demasia e sentimos bem pouco. Mais do que de máquinas, precisamos de humanidade. Mais do que de inteligência, precisamos de afeição e doçura. Sem essas virtudes, a vida será de violência e tudo será perdido.

A aviação e o rádio nos aproximou. A própria natureza dessas coisas é um apelo eloqüente à bondade do homem, um apelo à fraternidade universal, a união de todos nós. Neste mesmo instante a minha voz chega a milhares de pessoas pelo mundo afora. Milhões de desesperados: homens, mulheres, criancinhas, vítimas de um sistema que tortura seres humanos e encarcera inocentes. Aos que podem me ouvir eu digo: não desespereis! A desgraça que tem caído sobre nós não é mais do que o produto da cobiça em agonia, da amargura de homens que temem o avanço do progresso humano. Os homens que odeiam desaparecerão, os ditadores sucumbem e o poder que do povo arrebataram há de retornar ao povo. E assim, enquanto morrem homens, a liberdade nunca perecerá.

Soldados! Não vos entregueis a esses brutais, que vos desprezam, que vos escravizam, que arregimentam vossas vidas, que ditam os vossos atos, as vossas idéias e os vossos sentimentos. Que vos fazem marchar no mesmo passo, que vos submetem a uma alimentação regrada, que vos tratam como gado humano e que vos utilizam como bucha de canhão. Não sois máquina. Homens é que sois. E com o amor da humanidade em vossas almas. Não odieis. Só odeiam os que não se fazem amar, os que não se fazem amar e os inumanos.

Soldados! Não batalheis pela escravidão. Lutai pela liberdade. No décimo sétimo capítulo de São Lucas está escrito que o reino de Deus está dentro do homem - não de um só homem ou grupo de homens, mas de todos os homens. Está em vós. Vós, o povo, tendes o poder - o poder de criar máquinas; o poder de criar felicidade. Vós o povo tendes o poder de tornar esta vida livre e bela, de fazê-la uma aventura maravilhosa. Portanto - em nome da democracia - usemos desse poder, unamo-nos todos nós. Lutemos por um mundo novo, um mundo bom que a todos assegure o ensejo de trabalho, que dê futuro à mocidade e segurança à velhice.

É pela promessa de tais coisas que desalmados têm subido ao poder. Mas, só mistificam. Não cumprem o que prometem. Jamais o cumprirão. Os ditadores liberam-se, porém escravizam o povo. Lutemos agora para libertar o mundo, abater as fronteiras nacionais, dar fim à ganância, ao ódio e a prepotência. Lutemos por um mundo de razão, um mundo em que a ciência e o progresso conduzam à ventura de todos nós. Soldados, em nome da democracia, unamo-nos.

Hannah, estás me ouvindo? Onde te encontrares, levanta os olhos. Vês, Hannah? O sol vai rompendo as nuvens que se dispersam. Estamos saindo da treva para a luz. Vamos entrando num mundo novo - um mundo melhor, em que os homens estarão acima da cobiça, do ódio e da brutalidade. Ergue os olhos, Hannah. A alma do homem ganhou asas e afinal começa a voar. Voa para o arco-íris, para a luz da esperança. Ergue os olhos, Hannah. Ergue os olhos.”


Por: C. Chaplin

quinta-feira, 20 de março de 2008

Da série: Viva a imbecilidade!

Dois caras, um coração de cão

O cara pardo estava pregado no sofá, diante da tevê
. É quase sempre assim à hora do
jornal nacional.

Adentrei à sala numa noite boa e de estrelas e de sem calor. E ainda melhor: leve como pluma, sem o pejo da culpa de pecado da cultura judaico-cristã. É preciso, às vezes ser um grego antigo, ser um pagão, ser um cão!

O cabelo um pouco crescido e desgrenhado, fora do habitual, denunciava ainda mais suas cãs. Pensei em troçar dele. Iria dizer: Aí “véio”, está parecendo com uma raposa velha, hein?! Não está na hora de fazer uma bainha nesse coco não?! Segurei a “onda”. Venceu a reflexão. Eu não sabia se estava ali dentro daquele homem, um anjo de candura, como de costume ou o demônio do mau humor que boiava, volta e meia.

Também chafurdei-me no sofá. Havia o mundão de Colatina e adjacências a meu dispor, naquele noite tropical, mas quis ficar. Sabia que não havia nada apeteciável no mundinho da televisão, principalmente, nas notícias do telejornal.

O Willian Bonner com sua mecha prateada e a Fátima Bernardes com melenas caprichadas pela chapinha japonesa, para mim eram porta-vozes de um mundo cão: ocupação ocidental no
Iraque, homens bombas, mensalão, terremoto no Paquistão, o Vasco despencando na tabela. E o velho todo olhos e ouvidos, sem se aborrecer.

Ali do meu lado estava anos da minha vida. Um carola cristão no papel e alma pagã no dia-a-dia. Assim como a ele, quase nada me afetava. Mas o casal da tevê narra o fato do menino iraquiano
Ali Ismail Abbas que havia amputado os braços. Estava no lugar errado (num alvo civil atingido por engano pela coalizão anglo-americana). Uma criança muçulmana que perdera, além dos braços, parte da família, incluindo pai e mãe, para nos sacanear, gesticulando com o seu coto de braço. Kriptonita! Tentei olhar para meu pai. Ele não poderia me ver com olhos marejando. Deus me livre se ele me visse assim! Ainda bem que um sono súbito o acometeu. Ele se esticou no sofá, pôs uma almofada na cara e não mais viu o telejornal e nada mais. E eu: Para o alto e avante!

por: Cap. Paciencia!

quarta-feira, 19 de março de 2008

Da série: Téquinologia!

Moleque magnético trava computadores

magneto1.jpgZapeando pelas notícias matinais, li uma matéria interessante sobre um garoto estadunidense (nunca use o termo americano ou eles acharão que são os donos do continente) que consegue travar computadores apenas chegando perto deles. Logo vão começar a chamar o moleque de Windows Boy.

No mínimo ele dever ser sobrinho do Magneto, inimigo dos X-Men:

Um estudante de 12 anos da cidade de Richland, no Estado de Nova York, consegue travar os computadores de sua escola, aparentemente devido ao excesso de eletricidade estática em seu corpo.

Joseph Falciatano começou a se chamar de “Homem Magnético” em 2007 depois que seus professores concluíram que sua presença em algumas salas poderia travar os computadores da escola, segundo o jornal local The Post-Standard.

“Outro estudante podia usar um computador e tudo ficava normal. Mas se Joe (Falciatano) estava ao computador, coisas estranhas aconteciam. Acho que há alguma coisa na química de seu corpo que causa a confusão nos computadores”, disse Marie Yerdon, professora da escola onde Falciatano estuda.

O estudante americano afirma que quase não passou em uma das matérias do currículo escolar em 2007, pois teve problemas para concluir seu trabalho, que requeria o uso de Power Point.

“Nós desligávamos (o computador), reiniciávamos e ele trabalharia por um tempo, mas em seguida ele começava a ter problemas. Então eu o levava para um computador diferente, que outro estudante usava sem problemas, mas não adiantava”, disse Yerdon.

A professora então colocou um forro embaixo do computador que funcionava como um fio-terra e também colocou uma pulseira antiestática no braço de Falciatano.

Yerdon afirma que a escola comprou estes equipamentos para proteger estudantes que tivessem um marcapasso de qualquer oscilação da eletricidade, enquanto usassem o computador. Neste caso, o equipamento foi usado para proteger o computador. E funcionou.

Quando o pai de Falciatano, também chamado Joseph Falciatano, recebeu um bilhete da escola comunicando o problema, não levou a sério.

“Pensei que era piada. Mandei um email de volta falando ‘É, ele sempre quis ser um super-herói’”, disse. Em casa, o estudante só teve problemas com seu videogame Xbox, que travava toda vez que ele tentava jogar.

Kelly Robinson, especialista de uma empresa de Rochester que resolve problemas elétricos e eletrostáticos tentou medir a eletricidade estática no corpo de Joseph Falciatano, mas os resultados foram todos normais.

Mesmo assim, Robinson, afirmou que o problema do estudante é uma “questão de estática”. “Nosso corpo é formado, em grande parte, por água, com um pouco de sal e minerais. Isto faz com que o corpo humano seja um ótimo condutor de eletricidade.E, mesmo que existam variações de pessoa para pessoa, a condutividade ainda é muito alta”, disse.

O especialista acrescentou que muitos fatores podem desencadear este tipo de problema e gerar as variações na eletricidade estática: o tipo de roupa que as pessoas usam, se usam calçados com solas isolantes, se esfregam os pés no tapete ou carpete ou se trabalham em salas com baixa umidade.

Para o início do novo ano letivo, a escola de Joseph Falciatano mudou o estudante de sala e os problemas parecem ter acabado. O estudante nem precisou usar a pulseira antiestática. Mas tem usado menos o computador da escola.

Fonte: BBC Brasil

segunda-feira, 17 de março de 2008

Téquinologia!

A verdadeira razão para usarmos Linux

Nós dizemos as pessoas que usamos Linux porque ele é seguro. Porque é livre, ou talvez porque ele é customizável. Quem sabe até porque é grátis, ou porque tem um excelente suporte da comunidade…
Mas tudo isso é apenas bobagem de marketing. Nós dizemos isso aos que não são usuários de Linux simplesmente porque eles não compreenderiam a verdadeira razão. E quando repetimos o bastante todos esses falsos motivos, nós somos quase levados a acreditar neles também.

Ora, bem lá no fundo a verdadeira razão continua sendo mesmo:
Nós usamos Linux porque é divertido!

É divertido poder mexer no seu sistema. É divertido modificar todas as configurações, quebrar o sistemas e então precisar entrar no modo de recuperação só para consertá-lo. É divertido ter a disposição centenas de distribuições para escolher. É divertido usar a linha de comando.
Deixe-me dizer isso novamente. É divertido usar a linha de comando.
E não me admira aqueles que não são usuários do Linux não saberem disso.
O negócio é o seguinte, nós que somos fãs do Linux, usamos o sistema para o nosso próprio prazer. Ok, nós gostamos de ser produtivos. Sim, nós gostamos de ficar seguros contra vírus. Sim, nós gostamos de enconomizar uma boa grana. Mas estes são apenas os benefícios secundários. O que gostamos realmente é de poder brincar com o sistema, de fuçar em tudo e descobrir coisas completamente insuspeitas e ainda assim totalmente fascinantes sobre ele.

  1. Linux proporciona controle total
    Você já tentou encerrar um processo no Windows e o sistema simplesmente não permitiu? Já tentou excluir um arquivo - e não conseguiu? Mesmo você possuindo todos os direitos de administrador?
    Linux permite que você faça qualquer coisa. Esse é principal benefício de sempre se logar como usuário comum. Se você logar como root o sistema assume que você sabe exatamente o que está fazendo. Assim que você se torna o root, tudo é permitido.
  2. Linux não está amplamente disseminado
    Aqui está um paradoxo. Nós sempre reclamamos que o Linux poderia ser mais amplamente utilizado. Mas aqui está uma das razões porque nós usamos esse sistema. Ele nos dá uma sensação de que somos especiais. É mais ou menos como se fôssemos “melhores do que a massa ignorante”.
    Se o Linux torna-se completamente disseminado, nós provavelmente mudaremos para alguma outra coisa. Ou no mínimo desenvolveremos alguma distro obscura e somente nós a usaremos. Porque - precisamos encarar - nós queremos nos sentir especiais.
  3. Linux é livre (como em liberdade/discurso)
    Temos acesso ao código fonte de todas as nossas aplicações. Se desejarmos saber como determinada parte do sistema funciona, isso é possível. É algo que nos permite ajustar e brincar com todo o sistema. Nós realmente a-do-ra-mos mexer em nossos sistemas.
    Mas é claro que não podemos simplesmente dizer para todo mundo que usamos Linux porque é divertido - certamente seríamos jogados em algum sanatório para loucos mais rápido do que você pode falar “inconformadamentedesestabilizadores”. Por isso tantas afirmações falsas, porém plausíveis, sobre o porquê de usarmos Linux.

Só que bem lá no fundo, todos nós sabemos qual é a verdadeira razão.
Então talvez, apenas talvez, da próxima vez que alguém me perguntar por que eu uso Linux… vou abrir um enorme sorriso e responder: “Porque usar Linux é divertido!”