Pessoalmente não gosto de novas linguagens de programação. Não gosto de ter muitas opções. Por mim existiriam dias linguagens uma para quem gosta de blocos begin/end e outra pra quem gosta de { }.
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
No entanto estou longe de ditar regras no mundo da computação. Ontem o Google, empresa que pretende dominar o mundo, apresentou uma nova linguagem. Go. Assisti à apresentação de uma hora do Go no youtube na noite passada e deixarei aqui minhas primeiras impressões.
Go é uma linguagem experimental que quebra alguns paradigmas. Portanto não planeje a migração do seu sistema para qualquer momento em um futuro próximo. Go é uma linguagem que utiliza-se de uma forte tipagem, então nada de somar laranjas com limões para obter uma variável limonada.
Consegue-se sentir forte influencia de Pascal na sintese da linguagem. Há tempos não atribuia valores a uma variável utilizando :=
Quando digo que Go quebra alguns conceitos é porque ela não é bem uma linguagem orientada à objetos. Go utiliza-se de tipos assim como a estrutura type do pascal. A diferença é que esses tipos podem conter métodos. Em uma analogia simplória à orientação à objetos um tipo seria uma classe.
//tipo em Pascal
type pessoa = record
nome : string[40];
email : string;
end;
type pessoa struct {
nome string,
email string }
func (p *pessoa) getNome() string { return p.nome }
//onde
p.getNome();
ou
qualquerObjectoDoTipoPessoa.getNome() é válido
Além disso não há herança, associações entre objetos são feitas através de interfaces.
type minhaInterface interface {
get() int;
set(i int);
}
Assim como Java Go utiliza-se de Garbage Collection, não sendo responsabilidade do programador limpar restos de objetos alocados em memória. Go é uma linguagem concorrente, feita para suportar a execução de diversos blocos de código simultaneamente. Suas “Thread” são chamadas de gorotines.
Caso tenha algo a somar nesse post sinta-se livre para comentar.
November 12th, 2009 at 3:36 am
Estava sonolento quando publiquei esse post. Logo deve sair um update, ou não.
November 13th, 2009 at 1:28 am
quanto à linguagem em si não tenho nada a comentar. Quanto ao Google dominar o mundo, isso faz o maior sentido. E o twitter pra mim tem a ver com o Newspeak, limitando nossa capacidade de escrever longas idéias.
valeu!
February 3rd, 2010 at 9:21 am
atualiza essa merda