<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Tópicos Emergentes - Tegrupo01</title>
	<atom:link href="http://tegrupo01.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tegrupo01.wordpress.com</link>
	<description>Tegrupo01</description>
	<lastBuildDate>Tue, 01 Jun 2010 23:37:00 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='tegrupo01.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/dfbf0b88689d24a2cbd9182c3eaded60?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Tópicos Emergentes - Tegrupo01</title>
		<link>http://tegrupo01.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tegrupo01.wordpress.com/osd.xml" title="Tópicos Emergentes - Tegrupo01" />
	<atom:link rel='hub' href='http://tegrupo01.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Hello Word</title>
		<link>http://tegrupo01.wordpress.com/2010/06/01/hello-word/</link>
		<comments>http://tegrupo01.wordpress.com/2010/06/01/hello-word/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 23:37:00 +0000</pubDate>
		<dc:creator>tegrupo01</dc:creator>
		
		<guid isPermaLink="false">http://tegrupo01.wordpress.com/?p=27</guid>
		<description><![CDATA[No prompt do sistema digite: $&#62; irb irb:&#62; puts "Hello World" =&#62; Hello World Como você está no prompt de comandos do Ruby, conhecido como IRB, você pode executar qualquer comando do Ruby que será processado na hora. Mas se você gostaria de criar um arquivo com o comando… Crie um arquivo com o nome [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tegrupo01.wordpress.com&amp;blog=12321529&amp;post=27&amp;subd=tegrupo01&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>No prompt do sistema digite:</p>
<pre>$&gt; irb
irb:&gt; puts "Hello World"
=&gt; Hello World</pre>
<p>Como você está no prompt de comandos do Ruby, conhecido como IRB, você pode executar qualquer comando do Ruby que será processado na hora.</p>
<p>Mas se você gostaria de criar um arquivo com o comando…</p>
<p>Crie um arquivo com o nome hello_world.rb Edite o arquivo e coloque as linhas</p>
<pre>puts "Hello World"
class HelloWorld
  def show_me
    puts "Hello World"
  end
end
hw = HelloWorld.new
hw.show_me</pre>
<p>Executando na linha de comando:</p>
<pre>ruby hello_world.rb</pre>
<p>Teremos a saída com a exibição de Hello World duas vezes, uma sendo feito pela chamada direto e outra pela chamada por um objeto.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tegrupo01.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tegrupo01.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tegrupo01.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tegrupo01.wordpress.com&amp;blog=12321529&amp;post=27&amp;subd=tegrupo01&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tegrupo01.wordpress.com/2010/06/01/hello-word/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a0a98ca9ab2792cfe4baf000048cf87?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tegrupo01</media:title>
		</media:content>
	</item>
		<item>
		<title>Sobre o Ruby</title>
		<link>http://tegrupo01.wordpress.com/2010/03/09/sobre-o-ruby/</link>
		<comments>http://tegrupo01.wordpress.com/2010/03/09/sobre-o-ruby/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 19:19:37 +0000</pubDate>
		<dc:creator>tegrupo01</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://tegrupo01.wordpress.com/?p=11</guid>
		<description><![CDATA[Já pensou porque é que o Ruby é tão popular? Os fãs dizem que é uma linguagem elegante, repleta de arte. E no entanto, dizem que é prática e conveniente. Afinal qual é o resultado?<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tegrupo01.wordpress.com&amp;blog=12321529&amp;post=11&amp;subd=tegrupo01&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Já pensou porque é que o Ruby é tão popular? Os fãs dizem que é uma linguagem elegante, repleta de arte. E no entanto, dizem que é prática e conveniente. Afinal qual é o resultado?</p>
<h3>Os Ideais do Criador do Ruby</h3>
<p>O Ruby é uma linguagem com um equilíbrio cuidado. O seu criador, <a href="http://www.rubyist.net/%7Ematz/">Yukihiro “matz” Matsumoto</a>, uniu partes das suas linguagens favoritas (Perl, Smalltalk, Eiffel, Ada, e Lisp) para formar uma nova linguagem que equilibra a programação funcional com a programação imperativa.</p>
<p>Ele disse com frequência que está a “tentar tornar o Ruby natural, não simples”, de uma forma que reflicta a vida.</p>
<p>Elaborando sobre isto, acrescenta:</p>
<blockquote><p>O Ruby é simples na aparência, mas muito complexo no interior, tal como o corpo humano<sup><a href="http://www.ruby-lang.org/pt/sobre-o-ruby/#fn1">1</a></sup>.</p></blockquote>
<h3>Sobre o Crescimento do Ruby</h3>
<p>Desde que foi tornado público em 1995, o Ruby arrastou consigo programadores devotos em todo o mundo. Em 2006, o Ruby atingiu aceitação massiva, com a formação de grupos de utilizadores em todas as principais cidades mundiais e com as conferências sobre Ruby com lotação esgotada.</p>
<p><img title="Graph courtesy of Gmane." src="http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity+over+4+Years" alt="Graph courtesy of Gmane." /></p>
<p>A Ruby-Talk, a principal <a href="http://www.ruby-lang.org/pt/comunidade/listas-de-correio/">lista de correio</a> para a discussão sobre a linguagem Ruby subiu para uma média de 200 mensagens diárias.</p>
<p>O índice TIOBE, que mede o crescimento das linguagens de programação, posiciona o Ruby em #12 entre as linguagens de programação. Citando o seu crescimento, prevêm que “Existem possibilidades de que o Ruby entre no Top 10 dentro de meio ano.” Muito deste crescimento é atribuído à popularidade do software escrito em Ruby, em particular a framework de desenvolvimento web Ruby on Rails<sup><a href="http://www.ruby-lang.org/pt/sobre-o-ruby/#fn2">2</a></sup>.</p>
<p>O Ruby é também <a href="http://www.ruby-lang.org/pt/sobre-o-ruby/licence.txt">totalmente livre</a>. Não somente livre de custos, mas também livre para utilizar, copiar, modificar e distribuir.</p>
<h3>Vêr Tudo como um Objecto</h3>
<p>Inicialmente, Matz estudou outras linguagens em busca de encontrar uma sintaxe ideal. Recordando a sua busca, disse, “Eu queria uma linguagem interpretada que fosse mais poderosa que o Perl e mais orientada aos objectos do que o Python<sup><a href="http://www.ruby-lang.org/pt/sobre-o-ruby/#fn3">3</a></sup>.”</p>
<p>Em Ruby, tudo é um objecto. Cada parcela de informação e código podem receber as suas próprias propriedades e acções. A Programação orientada aos objectos denomina as propriedades como <em>variáveis de instância</em> e as acções como <em>métodos</em>. A aproximação pura, da orientação aos objectos do Ruby, é geralmente demonstrada pelo seguinte excerto de código que aplica uma acção a um número.</p>
<pre><code>5.times { print "Nós *amamos* o Ruby -- é fantástica!" }</code></pre>
<p>Em muitas linguagens, números e outros tipos primitivos não são objectos. O Ruby segue a influência da linguagem Smalltalk em atribuir métodos e variáveis de instância a todos os seus tipos. Esta abordagem facilita a utilização do Ruby, uma vez que as regras que se aplicam aos objectos aplicam-se a tudo em Ruby.</p>
<h3>A Flexibilidade do Ruby</h3>
<p>O Ruby é visto como uma linguagem flexível, uma vez que permite aos seus utilizadores alterar partes da Linguagem. Partes essenciais do Ruby podem ser removidas ou redefinidas à vontade. Partes existentes podem ser acrescentadas. O Ruby tenta não restringir o programador.</p>
<p>Por exemplo, a adição é realizada com o operador mais (<code>+</code>). Mas, se preferir utilizar a palavra escrita <code>plus</code>, poderia adicionar esse método à classe nativa do Ruby <code>Numeric</code>.</p>
<pre><code>class Numeric
  def plus(x)
    self.+(x)
  end
end

y = 5.plus 6
# y is now equal to 11</code></pre>
<p>Os Operadores do Ruby são <code>açúcar sintático</code> para os métodos, também podem ser redefinidos.</p>
<h3>Blocos, uma Caracteristica Verdadeiramente Expressiva</h3>
<p>Os Blocos do Ruby são vistos como uma fonte de grande flexibilidade. Um programador pode adicionar um fecho a qualquer método, descrevendo como esse método se deve comportar. O fecho é chamado <em>bloco</em> e tornou-se uma das características mais populares para os recém chegados ao Ruby vindos de outras linguagens imperativas como o PHP ou o Visual Basic.</p>
<p>Os Blocos são inspirados nas linguagens funcionais. O Matz disse, “nos fechos em Ruby, Eu quis respeitar a cultura do Lisp<sup><a href="http://www.ruby-lang.org/pt/sobre-o-ruby/#fn4">4</a></sup>”.</p>
<pre><code>search_engines =
  %w[Google Yahoo MSN].map do |engine|
    "http://www." + engine.downcase + ".com"
  end</code></pre>
<p>No código aqui apresentado, o bloco é descrito dentro do trecho <code>do ... end</code>. O método <code>map</code> aplica o bloco à lista de palavras fornecida. Existem muitos outros métodos em Ruby que deixam em aberto a possibilidade para o programador escrever o seu próprio bloco que complete os detalhes do que esse método deveria fazer.</p>
<h3>O Ruby e o ‘Mixin’</h3>
<p>De forma diferente a muitas linguagens de programação orientadas aos objectos, o Ruby suporta somente herança simples, <strong>propositadamente</strong>. Mas em Ruby existe o conceito de módulos (chamados categorias em Objective-C). Os módulos são colecções de métodos.</p>
<p>As Classes podem ‘mixin’ um modulo e receber todos os métodos do módulo directamente. Por exemplo, qualquer classe que implemente o método <code>each</code> pode ‘mixin’ o módulo <code>Enumerable</code>, que adiciona um conjunto de métodos que utilizam <code>each</code> para iterar.</p>
<pre><code>class MyArray
  include Enumerable
end</code></pre>
<p>Geralmente os programadores de Ruby, vêm esta abordagem como uma forma muito mais clara do que a herança múltipla, que é complexa e pode ser demasiado restrictiva.</p>
<h3>A Aparência Visual do Ruby</h3>
<p>Apesar de o Ruby utilizar frequentemente pontuação muito limitada e geralmente preferir palavras em Inglês, alguma pontuação é utilizada para decorar o Ruby.O Ruby não necessita de declarações de variáveis. Usa simples convenções de nomes para denotar o âmbito das variáveis.</p>
<ul>
<li><code>var</code> poderia ser uma variável local.</li>
<li><code>@var</code> é uma variável de instância.</li>
<li><code>$var</code> é uma variável global.</li>
</ul>
<p>Estes símbolos facilitam a leitura do código, permitindo ao programador identificar facilmente o papel de cada variável. Deixando ainda de ser necessário acrescentar um fastidioso sufixo <code>self.</code> a cada membro de uma instância.</p>
<h3>Para Além do Básico</h3>
<p>O Ruby é rico em outras características, entre as quais se destacam as seguintes:</p>
<ul>
<li>Capacidade de tratamento de excepções, tal como o Java ou Python, por forma a facilitar o tratamento de erros.</li>
</ul>
<ul>
<li>Um verdadeiro mark-and-sweep garbage collector para todos os objectos Ruby.  Não é necessário manter contadores de referência em bibliotecas de extensão (extension libraries). Tal como Matz diz, “Isto é melhor para a sua saúde.”</li>
</ul>
<ul>
<li>Escrever extensões C em Ruby é mais fácil do que em Perl ou Python, com uma API refinada  para chamar Ruby desde o código C.  Isto inclui chamadas para embeber Ruby em software externo por forma a ser  utilizado como uma linguagem interpretada dentro do software. Uma interface SWIG também se encontra disponível.</li>
</ul>
<ul>
<li>O Ruby pode carregar bibliotecas de extensão (extension libraries) dinamicamente se um Sistema Operativo o permitir.</li>
</ul>
<ul>
<li>O Ruby tem um sistema de threading independente do Sistema Operativo. Portanto, para todas as plataformas nas quais o Ruby  corre, temos multithreading, independentemente de o Sistema Operativo o suportar ou não, até em MS-DOS temos multithreading!</li>
</ul>
<ul>
<li>O Ruby é altamente portável: é desenvolvido principalmente em ambiente GNU/Linux, mas trabalha em muitos  tipos de ambientes UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.</li>
</ul>
<br />Filed under: <a href='http://tegrupo01.wordpress.com/category/1/'>1</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tegrupo01.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tegrupo01.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tegrupo01.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tegrupo01.wordpress.com&amp;blog=12321529&amp;post=11&amp;subd=tegrupo01&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://tegrupo01.wordpress.com/2010/03/09/sobre-o-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/3a0a98ca9ab2792cfe4baf000048cf87?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tegrupo01</media:title>
		</media:content>

		<media:content url="http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&#38;width=280&#38;height=140&#38;title=Ruby-Talk+Activity+over+4+Years" medium="image">
			<media:title type="html">Graph courtesy of Gmane.</media:title>
		</media:content>
	</item>
	</channel>
</rss>
