Posts com Tag ‘GO’

Inico Apresentação

Para os que acompanharam as postagens anteriores sobre o GO, e fez a instalação do dito em seu sistema linux ou windows, segue a apresentação que fizemos sobre esta linguagem, detalhes dentro temos o ola mundo! e mais alguns exemplos que podem ser utilizados pela sua instalação ou usando o compilador online para testar a linguagem.

No final da apresentação o professor Fabiano Fagundes passou a seguinte atividade sobre a linguagem em questão:

As formas de declaração de variáveis no GO, estão relacionadas a qual critério de legibilidade?
Explique, detalhando pontos fortes e pontos fracos desta forma de declaração, considerando o que foi apresentado na teoria (SEBESTA).

Link para a apresentação

https://docs.google.com/present/view?id=0Af-57dfHerNGZGNxOHE5Z2tfNDVjd2d0ZnRocg&hl=pt_BR

Faça o download em PDF: Apresentacao_GO_Paradigmas_de_LP

link para o compilador online http://gofmt.com

Para os que não utilizam o linux, estou postando este passo a passo para instalação e configuração do compilador. Um detalhe que deve ser considerado é que esta versão suporta apenas os windows 2000 e XP.

baixe o GO versão para windows clicando neste link, e descompacte o conteúdo do arquivo baixado em c:\go

Em seguida vamos criar as variáveis de ambiente, clique com o botão direito do mouse em meu computador em seguida clique em propriedades, vai aparecer a guia de propriedades você terá que ir na aba avançado e clicar no botão variáveis de ambiente.

Nesta nova tela que abrir, em variáveis do sistema clique em nova e adiciona as seguintes variáveis:

Nome Valor
GOBIN C:\go\bin
GOARCH 386
GOOS mingw
GOROOT C:\go

Após criar as variáveis acima é necessário adicionar o %GOBIN% no path, para fazer isso encontre a variável path na lista de variáveis selecione e clique em editar, no final da linha com o valor da variável adicione “;” se não tiver e em seguida %GOBIN% , agora abra o teminal em executar depois digite cmd, em seguida na tela preta com linhas bancas, digite 8l, se deu um erro diferente de comando não encontrado parabéns você instalou o GO.

Agora vamos para a próxima postagem fazer o ola mundo! e aprender um pouco da linguagem.

Continuando com a serie de postagens sobre a linguagem GO, o rarefecundo.com trás a instalação e configuração do mesmo nos sistemas operacionais linux.

Instalação no LINUX/MAC

No site golang.com existe um tutorial com passo a passo para instalação e configuração do sistema, nestes dois SOs. Mas achei muito interessante o script  produzido pelo Daniel Mazza que pode ser baixado neste endereço: http://migre.me/LSSZ

Vamos mostar como fazer a instalação manual depois faremos a instalação usando o script do Mazza.

para fazer a instalação no linux, eu usei o ubuntu 9.10/64bits para fazer esse post, vamos seguir os seguintes passos:

Primeiro: A configuração das variáveis e abaixo está as combinações possíveis a serem usadas nos passos que se seguem,

$GOOS $GOARCH
darwin 386
darwin amd64
freebsd 386
freebsd amd64
linux 386
linux amd64
linux arm
nacl 386

No nosso caso a combinação utilizada foi a linux/amd64, detalhes eu uso core2duo intel, o fato é que a arquitetura de 64bits inicial foi da amd por isso foi colocado este nome para ela, mas como é um padrão tanto os processadores da amd quanto os da intel usam essa arquitetura.

Escolhemos a pasta /HOME/go  para ser a pasta raiz da aplicação

Escolhido o local de instalação vamos agora as variáveis. Para registrá-las use os comandos:

export GOROOT=$HOME/go
export GOBIN=$HOME
/bin
export GOOS=linux
export GOARCH=amd64
export PATH=$PATH:$HOME
/bin

inicialmente você terá que digitar as linhas acima para fazer a instalação .

para não precisar fazer o registro das variáveis todas as vezes que o sistema for reiniciado edite o arquivo .baschrc ou .profile, no meu caso foi o .bachrc usei o comando

$ sudo gedit /home/nomeUsuario/.bashrc

é só adicionar no final do arquivos as linhas acima, lembrado que nomeUsuario deve ser substituído pelo seu usuário no sistema.

para conferir se as variáveis foram registradas digite:

$ env | grep ‘^GO’   (se for copiar esta linha, redigite as aspas simples.)

Segundo: Baixando os pacotes necessários.

vamos instalar algumas ferramentas  necessárias para baixar os pacotes a serem compilados do GO.

$ sudo apt-get install bison gcc libc6-dev ed gawk make

$ sudo apt-get install mercurial

em seguida vamos baixar os pacotes que serão compilados,

$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT

crie o diretório necesśario e em seguida faça a instalação

$ mkdir ~/bin 2> /dev/null

$  cd $GOROOT/src

$  ./all.bash

se tudo deu certo (provavelmente não) você está com o go instalado na sua maquina. para testar digite no terminal 6l ou 8l caso apareça algo diferente de command not fount, parabéns você conseguiu instalar agora é só esperar a próxima postagem com o ola mundo. caso contrário recomendo o uso do script do Mazza http://migre.me/LSSZ

baixe e depois descompacte o conteúdo para a pasta de usuário.

Acesse esta pasta:

$ /home/nomeUsuario/GoInstaller

e em seguida execute o script, ele vai pedir para confirmar a arquitetura e o SO, se seu linux for de 64bits será o linux/amd64. é só aguardar o dito fazer o trabalho.

até a próxima!

fontes:

http://golang.org/doc/install.html

Com a copa do mundo se aproximando não poderia deixar de fazer esse trocadilho, go (linhagem de programação produzida pelo google) e gooool (bola na rede e Galvão gritando). Na verdade as semelhanças acabam por aqui, vamos estudar um pouco da linguagem de programação GO.

O go começou a ser desenvolvido em 21 de setembro de 2007, por Robert Griesemer, Rob Pike e Ken Thompson, começaram esboçando a as necessidade e objetivos para criação de uma nova linguagem, e tempos depois começaram o desenvolvimento de fato.

Em janeiro de 2008, Ken Thompson começou a trabalhar em um compilador com o qual explorara a ideia, usando este compilador conseguiu gerar códigos tendo a linguagem C como saída.

Dentro de um ano, a linguagem tornou-se um projeto que os ocupava diariamente, e começaram a pensar em criar um compilador para produção. Em maio de 2008, Ian Taylor de forma independente, começou a trabalhar em um front-end para o GCC Go utilizando as especificação do projeto. Russ Cox no final de 2008 se juntou aos demais, os ajudando a transformar o protótipo da linguagem e suas bibliotecas em realidade.

Em 11 de novembro de 2009, o google lançou o GO sobre licença BSD, o que colocou a linguagem como promissora, visto que os projetos de software livre estão em expansão, e com um desenvolvimento cada vez mais rápido.

Segundo o google e os criadores da linguagem, o Go foi criado devido à frustração com as línguas e ambientes de programação de sistemas existentes. Segundo seus criadores, programação tinha-se tornado muito difícil e escolha da linguagem tem boa parte da culpa. Tinha-se que escolher entre compilação eficiente, execução eficiente ou a facilidade de programação, as três opções não estavam disponíveis na mesma linguagem.

Com todas as promessas e tendo como responsável o gigante google, muitos acabam esperando muito desta linguagem e até apostando em seu sucesso, como não poderia deixar de ser, o rarefecundo.com tem que ter um pouco de informação sobre esta novidade.

Fontes:

http://golang.org/

Imagem Capa livro Linguagens de Programação SebestaUma variável é a abstração de uma localização na memória do computador, uma célula ou conjunto de células, no caso das memórias RAMs são endereços nas células capacitivas. Nas linguagens de programação da atualidade, as variáveis são formadas por seis atributos a saber; nome, endereço, valor, tipo, tempo de vida e escopo. (Sebesta. p.179).

Os nomes são identificação que os desenvolvedores atribuem a uma variável. Em algumas linguagens existem um conjunto de nomes reservados. Os nomes podem ter de um, a um conjunto não limitado de caracteres como no JAVA e no C. (Sebesta. p.181). Na linguagem de programação ‘criada’ pelo google o GO, os nomes podem receber um conjunto indeterminado de caracteres, e possuem as restrições de palavras reservadas como int.

O endereço é a localização da variável na memória, ele pode mudar de acordo com os tempo de execução de um programa. Os endereços podem receber vários nomes, como no caso dos APELIDOS. Desta forma podemos ter dois nomes de variável apontando para o mesmo endereço de memória.(Sebesta. p.181).

“O tipo de uma variável determina a faixa de valores que uma variável pode ter e o conjunto de operações definidas para os valores do tipo.”(Sebesta. p.181). Na linguagem GO por exemplo o “int” possui um valor entre 32 e 64 bits. Com este tipo podemos efetuar operações matemática como subtração, adição, multiplicação e etc.

Ainda quanto ao tipo, uma linguagem pode ser fortemente tipificada quando exige a definição do tipo na declaração de uma variável como no caso do FORTRAN , dinamicamente tipificada quando o tipo de dados pode  ser alterado em tempo de execução e fracamente tipificada que o caso das linguagens que possuem apenas um tipico genérico de dados, nestes caso não há necessidade de definição do tipo na declaração da variável. (Sebesta. p.190)

Segundo Sebesta, o valor de uma variável é o conteúdo de uma célula ou conjunto de celular associadas a esta. As células de memórias costumam ser de 1 byte ou seja 8 bits, e muitas variáveis podem conter valores maiores que 1 byte como é o caso do int no GO. Com isso usam-se o conceito de célula de memória abstrata, é o conjunto de células usadas por uma determinada variável, ou seja, um int com valor 32bits ocupa 4bytes, ou seja quatro células reais de memória ou uma célula abstrata.

O tempo de vida de uma variável é o intervalo de tempo durante o qual um conjunto de células de memória está vinculado à uma variável. As variáveis estáticas são as com um maior tempo de vida, visto que são reservadas no inicio do programa e só são desalocadas quando o finalizamos. Em um programa escrito em GO, uma variável pode ser declarada e usada tanto dentro do programa como dentro de métodos, estas últimas  tem um tempo de vida menor, pois duram o exato tempo de vida do método.

O escopo de uma variável é o trecho do programa em que esta variável pode utilizada, acessada ou modificada. Usando a linguagem GO, uma variável declarada em um método qualquer, terá seu escopo determinado por este método.

Para mais detalhes leiam:

http://books.google.com.br/books?id=b0tcn_uPLoAC&printsec=frontcover&dq=sebesta&as_brr=3&ei=t_S4S9WML4SqywTRh_k5&cd=5#v=onepage&q=&f=true

http://www-di.inf.puc-rio.br/~rangel/

http://golang.org/doc/go_spec.html#TypeName

Thiago Santos de Amorim