pesquisar

segunda-feira, 22 de junho de 2015

LP Go !

Linguagem de Programação: 17º Go






Continuando os artigos do ranking de programação... 
Ficando em 17º a linguagem "Go", vamos lá para sabermos mais sobre ela. (Mas antes queria só destacar, estamos publicando agora o artigo #10).


Linguagem de programação criada pela Google e lançada em 2009 com código aberto, foi baseada numa linguagem compilada e programação concorrente, chamada Inferno. Sendo o projeto inicial feito em 2007 por Robert Griemeser, Rob Pike e Ken Thompson. Nos dias atuais, encontramos para os sistemas Windows, Linux, Mac OS X e FreeBSD. 


A sintaxe de Go é parecida com a linguagem C, mudando algumas características, como exemplo, as estruturas “for” e “if”. Algumas funcionalidades ausentes são tratamento de exceção, Herança, programação genérica, e sobrecarga de métodos. 

Essa linguagem possui dois copiladores para Go, 6g e ferramentas complementares- conhecida em grupo como gc-são escritas em C, utilizando yacc e bison para sua análise sintática, também há outro chamado gccgo, outro copilador de Go com front-end C++. 


Sendo criada com o objetivo de suceder da linguagem C, os inventores da linguagem são funcionários do Google, e o Go fez o caminho até o Google App Engine assim como o Java e o Python. “Os objetivos declarados do projeto Go são compilação eficiente, execução rápida e programação simples. As linguagens existentes não conseguem combinar os três, dizem os inventores do Go, que se propõe a combinar a programação simples oferecida por linguagens cada vez mais populares como Python e Ruby com a eficiência e confiabilidade de outras mais “veteranas” como C, C++ e Java. Ao fazer isso, a compilação não vai demorar tanto tempo como em projetos Java, por exemplo. Além disso, a linguagem Go visa lidar com dependências entre bibliotecas externas de uma forma superior.”


Exemplos:


Escrevendo olá mundo em Go:
package main

import "fmt"

func main() {
    fmt.Printf("Olá, Mundo!\n")
}

Outro exemplo, uma implementação do echo do Unix.
 
package main
 
import (
    "os"
    "flag" // analisador sintático da linha de comando
)
 
var omitNewline = flag.Bool("n", false, "don't print final newline")
 
const (
    Space   = " "
    Newline = "\n"
)
 
func main() {
    flag.Parse() // escaneia a lista de argumentos e configura as bandeiras
    var s string = ""
 
    for i := 0; i < flag.NArg(); i++ {
        if i > 0 {
            s += Space
        }
 
        s += flag.Arg(i)
    }
 
    if !*omitNewline {
        s += Newline
    }
 
    os.Stdout.WriteString(s)
}

Referencia bibliográficas: wikipedia.org & imasters.com
P.s. TecnoGeek.

Nenhum comentário:

Postar um comentário