Estudando elixir, meu projeto nem tão secreto
Apresentação
Salve rapaziada. KitsuneSemCalda aqui.
Cortando um pouco a enrolação e os Ziriguidum, ontem eu comecei um projeto em elixir chamado "The Seed" para quem não sabe é semente em esperanto (estou zoando não leve a sério).
Para quem assistiu sword art online deve saber que a The Seed é um conjunto de programas criado para facilitar o desenvolvimento de um vrmmo. Enfim meu primeiro projetinho com elixir para testar meus conhecimentos é criar um servidor de jogos para jogos mmo. Algo como a riot faz com Valorant, League of Legends ou alguns jogos como o CSGO utilizam em seu backend ... etc.
A ideia principal é que o servidor de jogos seja extensível usando um sistema de módulos dinamicamente carregável, que possa ser conectado a diversos clientes em várias linguagens. Meu objetivo com isso é tornar a criação de games estilo mmo mais fácil.
Porque Elixir
Qual foi os motivos de eu ter pego elixir se minha lang favorita é go, a mais usada em jogos é c++ e a que eu tenho mais conhecimento é python?
Primeiramente, uma linguagem de programação não é especial. Ela pode se tornar sua favorita, mas você não deveria dever nada a linguagem e sim a sua capacidade como programador.
De ]certo modo, eu já estava de olho na linguagem do elixir por ela rodar sobre uma VM igual a JVM so que chamada BEAM.
O BEAM garante melhor aproveitamento recursos do host em comparação a outras linguagens pelo OTP (Open Telecom Protocol) que faz um processo BEAM se comunicar com outro, além da capacidade de manter um serviço BEAM rodando sem se preocupar com erros (afinal sempre podemos dar um kill em um processo e subir outro) e os processos BEAM são montados em cima das threads da CPU host, ou seja temos um multithread simplificado
Outro motivo é que tanto a linguagem elixir quanto a linguagem erlang sobre a qual foi construída. Ambas são perfeitas para trabalhar com sistemas distribuidos, por isso softwares como:
- Discord
- Heroku
...
Para quem deseja conhecer mais a linguagem elixir eu deixo aqui uma palestra sobre elixir feita pelo Fabio Akita explicando mais a linguagem: palestra