Elemar DEV

Tecnologia e desenvolvimento

Vamos aprender Boo – Parte 1 – Fundamentos

Olá pessoal, como estamos?

Hoje inicio mais uma série aqui no blog. Quero começar a compartilhar com a comunidade meus esforços para aprender mais uma linguagem de programação. Trata-se da Boo, linguagem desenvolvida pelo brasileiro Rodrigo B. de Oliveira.

Recomendo fortemente que você leia o manifesto, escrito pelo próprio criador da linguagem, para entender as motivações dessa linguagem.

Comecei a estudar essa linguagem por influência do Juan Lopes que, aliás, é referência no assunto.

O que é Boo

Boo é uma linguagem de programação, orientada a objetos e estaticamente tipada, para .NET com sintaxe próxima a do Python. Ela faz uso da CLI e suporta Unicode.

Boo é um software livre com licença MIT/BSD. Além disso, é compatível com Microsoft.NET e Mono.

Por que aprender Boo?

Os objetivos descritos no manifesto escrito pelo Rodrigo (aka Bamboo) servem como uma boa referência quando precisamos de boas justificas para começar a aprender Boo.

Dentre todas as coisas bacanas disponíveis nessa tecnologia, uma das mais interessantes é a possibilidade de extender o processo de compilação (Extensible Compilation Pipeline). Mais adiante, aqui nessa série, esse deverá ser um tema que receberá grande relevância.

Como obter o Boo?

Você pode obter a última versão do Boo em http://boo.codehaus.org/Download. Os binários correspondentes as últimas versões estáveis podem ser encontrados em http://dist.codehaus.org/boo/distributions/?C=M;O=D

Boo interativo

Boo possui um console (arquivo Booish.exe) que permite que executemos intruções Boo de forma interativa (REPL). Você encontra esse arquivo na subpasta bin (dentro da pasta do Boo). Execute esse arquivo para abrir o console.

image

 

Como todo bom REPL, suporta, entre outras coisas a interpretação de operações matemáticas simples. Observe:

image

Além disso, facilita muito a utilização do .NET Framework. Observe:

image

Boo interpretado

Seja programador de verdade :-). Coloque o Boo no seu Path e vá para a linha de comando. Crie um arquivo chamado firstProgram.boo e digite o seguinte código:

import System
Console.WriteLine("Please, enter your name: ")
name = Console.ReadLine()
Console.WriteLine("Hello, ${name}")

Esse código é instrutivo e simples de entender. Repare que não há classes, nem public static void Main. Além disso, repare como é fácil “embutir” conteúdo de variáveis dentro de strings.

Digite booi firstProgram.boo. Essa instrução inicia o interpretador do Boo. Não é necessário gerar código executável (um arquivo .exe) para ver se o seu programa funciona. Mais adiante, veremos mais benefícios de usar Boo interpretado.

Boo compilado

Satisfeito com a execução de seu programa? Que tal gerar um executável! Utilizando o mesmo código da seção anterior, execute o comando boo firstProgram.boo. O resultado será um executável novinho Alegre

Importante: Boo não é Python

A sintaxe de Boo é fortemente inspirada na sintaxe de Python. Entretanto, é importante que as linguagens possuem diferenças marcantes.

Para saber as principais diferenças, consulte: http://boo.codehaus.org/Gotchas+for+Python+Users

Boo tem suporte para testes

Boo permite que desenvolvamos testes com a mesma facilidade (até mais) que fazemos em C#. O exemplo que segue foi extraído de http://boo.codehaus.org/Unit+Testing+and+You%2C+a+guide

import NUnit.Framework from "nunit.framework"

[TestFixture]
class SampleFixture:
	
	[Test]
	def PassTest():
		assert 1 == 1
		assert true == true
		assert "McDonalds sucks!" == "McDonalds sucks!"
	[Test]
	def FailTest():
		assert 0 == 1

Lindo!

Boo com Windows Forms

Boo tem suporte amplo a todo .NET. Obviamente, é muito fácil escrever código que faz interface com System.Windows.Forms. Observe:

import System.Windows.Forms

clickTimes = 0
form = Form(Text: "Hello world, from boo")
button = Button(Text: "Click me!", Dock: DockStyle.Fill)

button.Click += do(s, e): 
	clickTimes ++ 
	MessageBox.Show("Button was clicked ${clickTimes}x!") 


form.Controls.Add(button)

Application.Run(form) 

Eis esse código em execução, após o quarto click:

image

Bacana!

Por hoje, era isso.

Smiley piscando

5 comentários em “Vamos aprender Boo – Parte 1 – Fundamentos

  1. Rodrigo
    23/04/2011

    Bonito o jeitão do Boo :) Deve ser legal ter o REPL aberto pra experimentar/testar código que a gente esteja escrevendo na hora, mesmo em C#.

    • elemarjr
      25/04/2011

      Boo é show. Nos próximos posts, vou tratar de aspectos de meta-programação e alteração do processo de compilação.

  2. Pingback: Vamos aprender Boo – Parte 2 – Um pouco de sintaxe « Elemar DEV

  3. Pingback: Vinicius Quaiato » Blog Archive » Trabalhando com Boo no MonoDevelop

  4. Pingback: Vamos aprender Boo – Parte 3 – IQuackFu « Elemar DEV

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Informação

Publicado às 23/04/2011 por em Sem categoria e marcado .

Estatísticas

  • 638,649 hits
%d blogueiros gostam disto: