Ir para conteúdo
  • Anúncios

    • Majesty

      Regras Notícias e Discussões   04/26/17

      Regras da seção Notícias e Discussões Tópicos: Essa seção é destinada para tópicos relacionados a discussões sobre Tibia e OTServ; Tópicos com anúncios de servidores são proibidos, por isso devem ser postados na seção Divulgação de Servidores. Tópicos com pedido de ajuda serão fechados, pois existe a seção Suporte - Dúvidas, Bugs, Erros. É permitido postar teasers de OTServ desde que não tenham nenhum link de divulgação. Posts: Posts devem ser relacionados ao assunto do tópico. Os que forem irregulares terão seus autores punidos. Outros tipos de posts proibidos e passíveis de punição são os com intuito de avisar ilegalidade do tópico ou que está sendo denunciado. Para isso, existe a opção Denunciar post.
Zirun

Open Tibia Server em GO (Golang)

Recommended Posts

Zirun    11
Zirun

Olá! Meu nome é Allan, trabalho com Automação Industrial e a pelo menos 10 anos OTs tem sido meu passatempo. 

 

Há um bom tempo conheci a Linguagem Go, não dei muita bola ou importância, achei que seria mais uma Ruby on Rails da vida e não dei muita importância. Não desmerecendo o Ruby on Rails, que é excelente. Porem, um fato me fez mudar de opinião. Em conversas com a equipe de desenvolvimento de uma grande empresa me contaram sobre um projeto em Go para um serviço que será muito requisitado, questionei um pouco sobre o assunto e, naquele momento, me pareceu a linguagem IDEAL para o Open Tibia Server. 

 

O motivo? Era é uma linguagem extremamente poderosa, simples e compila para binário! 

Bem, mas o que mais me entusiasmou? 

 

A Linguagem Go tem uma curva de aprendizado ridiculamente mais rápida que C++ e é ridiculamente mais fácil programar em Go do que em C++. 

 

Então, gostaria de propor essa discussão.

 

Nesta altura do campeonato, valeria a pena criar um novo servidor para Tibia, escrito em uma nova linguagem, que não terá maior desempenho (difícil bater a galera dos Cs nisso) porem será muito fácil de dar manutenção e efetuar modificações, alem de que poderá atrair mais pessoas para seus projetos? 

 

Um pouco sobre o Go. 

 

 

 

Go é expressivo, conciso, limpo e eficiente. Seus mecanismos de concorrência tornam mais fácil escrever programas que tirarão o máximo proveito de vários núcleos e máquinas em rede, enquanto o seu novo sistema de tipos permite a construção flexível e modular do programa. Go compila rapidamente para código de máquina ainda tem a conveniência de garbage collection e o poder de reflexão em tempo de execução. É uma linguagem compilada rápida, de tipagem estática, que parece uma linguagem interpretada digitada de forma dinâmica.

http://www.golangbr.org/doc/

 

Abraço!

Editado por Zirun

Compartilhar este post


Link para o post
Zirun    11
Zirun

@@Majesty, Sim, infelizmente eu vi sim. Mais sobre o Go...  

 

O Go possui um recurso chamado Goroutines para concorrência, que é infinitamente mais simples e elevante e eficiente que o complexo sistemas de multi-threading do C++

https://tour.golang.org/concurrency/1

 

É difícil competir com C/C++ em desempenho, mas o Go tem um desempenho tão incrível quanto 

http://highscalability.com/blog/2013/3/13/ironio-moved-from-ruby-to-go-28-servers-cut-and-colossal-clu.html

 

Um milhão de requisições por minuto em um serviço programado em Go

http://marcio.io/2015/07/handling-1-million-requests-per-minute-with-golang/

Compartilhar este post


Link para o post
Startix    9
Startix

É uma discussão parecida com Ruby on Rails vs Node+express, usando node com express você tem uma aplicação com God Speed mas muitas pessoas ficam com Ruby porque acham mais confortável (e mais rápido) desenvolver com Ruby on Rails. (aqui não estou me referindo a real time applications).

 

Eu acredito que seja uma boa ideia, o que você perde em desempenho usando Go é irrelevante(tipo demais) se comparar com o ganho na qualidade do desenvolvimento, é mais confortável desenvolver usando GO do que C++, sem contar que poderia ser usado um framework tipo o Revel ou similar no desenvolvimento. Cara é uma boa ideia mesmo, se a galera se animasse, GO tem uma sintaxe mais legal que c++.

 

 

ps: Ruby on Rails é foda pra Hackathon, velocidade de desenvolvimento é suprema.

Compartilhar este post


Link para o post
constantine    33
constantine

Acredito que vale a pena tentar a criação e o investimento, vimos que a última pessoa que revolucionou com a criação de algo do gênero, hoje criou grandes servidores de potência (PXG), atualmente é o mais completo servidor, sem sombra de dúvidas, tudo criado do zero.

Compartilhar este post


Link para o post
Majesty    1755
Majesty

@@Zirun

 

Alguma novidade sobre a linguagem Go para a implementação de um OTServ?

Compartilhar este post


Link para o post
Zirun    11
Zirun

@@Zirun

 

Alguma novidade sobre a linguagem Go para a implementação de um OTServ?

 

Para OTServ não, mas ainda acredito ser uma excelente alternativa. 

 

Mas se alguém com experiencia em programação concorrente quiser encabeçar um projeto alpha, eu estou dentro! 

 

:peace:

Compartilhar este post


Link para o post
Majesty    1755
Majesty

Estive olhando a documentação da linguagem Go e depois pesquisei sobre websites, encontrei o github para criar projetos web utilizando Go + Bootstrap.

https://github.com/go-bootstrap/go-bootstrap

 

Pesquisei também se dá para utilizar o projeto do PyOT (OTServ em Python) como exemplo para fazer um protótipo de OTServ em Go.

https://bitbucket.org/vapus/pyot/

Compartilhar este post


Link para o post
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×