Quais são as chances de o Go do Google se tornar um idioma comum? [fechadas]

58

Quem aqui está aprendendo Go? Outras empresas estão procurando usá-lo? É provável que seja amplamente utilizado?

    
por interstar 25.09.2010 / 05:26
fonte

12 respostas

46

Quando se trata de linguagens de programação, o velho ditado, "não é quem você é, é quem você conhece" definitivamente é verdade. C e C ++ foram patrocinados pela AT & T, Java foi trazido a nós pela Sun, a família .NET saiu da Microsoft, e todos eles ficaram muito populares muito rapidamente. Então temos Objective-C e Python, que ficaram por aí por um bom tempo e ficaram muito obscuros até que foram descobertos e empolgados pela Apple e pelo Google, respectivamente, e então, de repente, eles realmente decolaram. Mas as línguas sem um grande patrocinador tendem a definhar na obscuridade, não importa quão boas sejam.

O Go é patrocinado pelo Google. Não é difícil chegar à conclusão correta aqui. Dê cinco anos e vai ser enorme.

    
por 25.09.2010 / 05:41
fonte
17

Na verdade, não acho que o Go seja bem-sucedido. Um motivo pelo qual não atingirá as grandes massas é que se pretende que seja uma linguagem para a programação do sistema.

    
por 25.09.2010 / 07:18
fonte
16

Existe uma necessidade real de uma linguagem de sistemas com recursos mais modernos. C e C ++ estão muito limitados pelo código legado e compatibilidade retroativa aqui para melhorar muito. Dito isso, não acho que a Go cumpra esse papel em sua forma atual. Seu design é minimalista demais. Embora seu modelo de simultaneidade seja empolgante, ele traz alguns outros recursos de linguagens de nível superior para o mundo dos sistemas. (Da última vez que verifiquei, o que foi admitidamente há um tempo atrás, nem sequer houve exceções.) Além disso, pelo menos até o ponto em que o O Jogo de Referência em Linguagem de Computadores é uma boa medida (é reconhecidamente um indicador muito difícil), não é tão rápido quanto uma linguagem de sistemas "real" precisa ser.

Eu acho que a língua com a melhor chance de preencher o vazio de uma linguagem de sistemas mais moderna é D . D é tecnicamente muito mais strong que Go, mas politicamente mais fraco. Não é apoiado por uma grande corporação. O que ele realmente precisa são algumas bibliotecas (isso está sendo resolvido rapidamente agora que a especificação do idioma é estável) e um aplicativo matador.

    
por 21.03.2011 / 16:08
fonte
10

Estou aprendendo Go e sim, ele é usado de forma produtiva, além do Google e Heroku.

O Go é definitivamente uma boa linguagem para a Programação do Sistema. Código simples como em C, estruturas poderosas como em C ++ e recursos de segurança como em Java. Como é uma linguagem muito jovem, muitas coisas boas de outras línguas foram herdadas:

  • iteração por intervalos
  • Canais (esqueça mutexes etc.)
  • sem hierarquia de tipos, apenas herança de interface
  • Na verdade, o Go nem conhece as classes, mas sim os "Tipos" mais flexíveis: as interfaces são herdadas automaticamente quando os métodos definidos correspondem
  • sem clichê: i := 1 em vez de int i = 1 , func f(x, y, z int) em vez de void f(int x, int y, int z) , type Foo struct { a, b int }; bar := Foo{1, 2} em vez de class Foo { int a; int b; Foo(int a, int b) { this.a = a; this.b = b; } } /* ... */ Foo bar = new Foo(1, 2);
  • exceções ("pânicos") apenas para casos realmente excepcionais: nos outros casos, a função propensa a erros pode retornar um parâmetro de erro extra que você pode ignorar facilmente

Considerando todas essas coisas legais e a segurança e o desempenho conhecidos apenas de linguagens com tipagem estática, muitas pessoas da comunidade de linguagens dinâmicas começaram a gostar de Go. Na maioria dos casos, o Go-code não é muito mais longo que o Ruby-code, mas em todos os casos é mais seguro e melhor estruturado.

Mas no final eu acho que o argumento matador para o Go é a simultaneidade. É uma linguagem semelhante a C que possui um poderoso suporte de simultaneidade que é conhecido apenas de linguagens funcionais.

    
por 14.06.2011 / 22:14
fonte
5

Eu diria que isso depende principalmente das bibliotecas / serviços / software que serão criados em / para / usando o Go. As pessoas usam alguma coisa em três situações (questões de ordem): quando elas não têm praticamente outra opção (Objective-C), quando o ambiente delas a utiliza (FORTRAN), quando ela facilita a vida (Ruby).

    
por 25.09.2010 / 11:35
fonte
4

Pode ser um pouco tarde para isso, mas o Go está se tornando uma linguagem popular agora e provavelmente entrará no mainstream com o Google avançando. Ele está sendo considerado uma linguagem usada para sistemas e produtos no Google e está sendo impulsionado como um idioma para usar com o Google App Engine. Há pessoas muito inteligentes no backend do Go building e aprimorando-o. Há algumas pessoas muito inteligentes e imaginativas trabalhando em bibliotecas de terceiros para o Go.

Ir preenche uma lacuna que outras linguagens ainda não preencheram. Para mim, eu costumava tentar preencher esse vazio com Perl e um monte de soluções alternativas e truques. Eu não acredito que seja a linguagem perfeita para todas as situações e todas as pessoas, mas certamente é um candidato para um grande número de situações. Por exemplo, funciona muito bem para aplicativos da Web e também funciona muito bem para aplicativos de desktop ou aplicativos baseados em servidor. Ele faz um trabalho fantástico com HTTP e WebSocket (o que significa que você pode pular o Apache ou o nginx por completo), além de rodar muito bem no Windows, Linux e OS X tanto para daemons quanto para aplicativos normais de desktop. Neste momento, a única situação que falha para mim é para aplicativos Android, que espero que seja corrigida em breve. Eu uso para aplicativos de desktop do Windows, aplicativos de desktop Linux e aplicativos da Web baseados em Linux. É bom fazer um trabalho real e não ter que mexer nas soluções alternativas.

Eu acredito que levará vários anos até que realmente chegue ao mainstream, mas chegará lá. Eu acho que ele precisa ter mais bibliotecas de terceiros construídas, bem como o tipo de número e seleção que o Perl tem com o CPAN. Vai chegar lá.

    
por 27.05.2012 / 05:05
fonte
2

O que significa "mainstream"? Sem saber disso, é muito difícil responder a essa pergunta. Vamos dar uma olhada nisso.

Existem muitas definições possíveis. Aqui estão alguns:

Vista de gerenciamento:

  • Peça aos clientes que solicitem que você os use
  • Solicite que a gerência use você
  • Não será criticado pela gerência por usá-lo

Visão dos desenvolvedores:

  • Ferramentas de idioma normalmente disponíveis (por exemplo, nas distribuições do Linux)
  • As ferramentas de idiomas estarão normalmente disponíveis por 10 anos
  • Cria artefatos de software que persistem e são usados por pelo menos 10 anos

Visão do Careerist:

  • Habilidades específicas de idiomas são transferíveis para outros trabalhos
    • Recrutadores pedem

Considerando todos os itens acima, eu diria que a única resposta honesta provavelmente é "cedo demais para contar", mas acredito que o melhor indicador de qualquer longevidade real seja o número de empresas pequenas que use a linguagem. Grandes organizações estão todas muito bem - elas podem até ser essenciais para o crescimento de uma linguagem ou sistema de ferramentas por causa da escala de investimento que elas podem aplicar - mas são mais propensas a passar modas (com algumas exceções). Por outro lado, se uma pequena empresa se desenvolveu usando a linguagem para fornecer produtos e serviços, é muito provável que eles queiram contribuir para garantir que eles ainda possam fazê-lo no futuro. Eles também formam o alicerce de um mercado de trabalho strong na área e demanda por ferramentas também. Engraçadamente, esses são vários indicadores de mainstream na minha lista (possivelmente mais, dependendo dos caprichos da administração).

Então, quantas pessoas fora do Google estão usando o Go para o trabalho delas? Eu não faço ideia. (Eu não sou. Minhas necessidades são atualmente bem servidas por uma mistura de Java, C e Tcl. YMMV.)

    
por 20.03.2011 / 01:23
fonte
2

Já é mais popular que alguns idiomas.

Existe a possibilidade de que o Go seja a língua mais importante em mais de 20 anos. Ele realmente apresenta alguns grandes benefícios em termos de conjuntos de dados em massa, que sites de mídia social, computação em nuvem, Pesquisa e dispositivos móveis apresentam.

Sites como Facebook, Twitter, Linkedin, YouTube e redes de veiculação de anúncios têm muito mais uso para o Google Go do que para o Ruby On Rails, pelo menos em alguns contextos.

    
por 10.05.2012 / 07:40
fonte
1

Eu olhei para o Go quando ouvi falar dele. Como um novato completo eu ainda estou aprendendo as linguagens iniciantes (no meu caso Java, C #, Python e Scheme) que é muito para receber, mas se eu não estivesse envolvido em tantas linguagens diferentes eu teria considerado seriamente

Eu acho que no meu nível, não há mal nenhum em obter o básico antes de pular em bandwagons. Embora, se bem me lembro, quando estava procurando o Go, fiquei muito atraído por Erlang por algum motivo.

    
por 20.03.2011 / 00:10
fonte
1

Eu só olhei para o Go por causa dessa pergunta, então não posso comentar se vai decolar como uma linguagem mainstream, mas uma coisa me deixou muito empolgado:

link

Eu me deparei com o conceito de canais em Occam-pi e devo dizer que é um dos melhores conceitos de programação ever . Isso faz com que a simultaneidade pareça tão fácil, que fazer a mesma coisa em uma linguagem do tipo C às vezes pode ser uma dor.

Pelo que eu vi (nos 10 minutos que eu olhei), Go parece estar tentando combinar muitos conceitos de programação diferentes, mas isso tem o risco de ser um Jack of all trades, um mestre de nenhum.

    
por 21.03.2011 / 15:52
fonte
0

Eu suspeito que, se se tornar mainstream, dependerá se o Google o adotará como uma linguagem suportada para o appengine e / ou o GWT.

    
por 25.09.2010 / 08:49
fonte
0

Eu desejo que o Go se torne popular.

É poderoso em sintaxe. (Aprenda as vantagens de python, C, Java). É bom para o CPU multi-core. (A função do canal é muito melhor que a programação de threads). O design evita a armadilha de muitos programadores. (ponteiro errado, mesmo estilo de codificação pela ferramenta gofmt, evita erros não inicializados de variáveis, Na primeira vez, eu tentei na primeira vez, pois é python + C, mas com a velocidade perto de 1/2 velocidade de C.

Mas, depois de aprender profundamente, descobri que é adequado desenvolver tolerância a falhas e arquitetura escalonável

    
por 30.04.2011 / 09:35
fonte

Tags