Que linguagem de programação é mais adequada para a simulação?
Isso depende totalmente do tipo de simulação de que estamos falando.
A simulação tem sido componente central tanto da minha educação quanto da minha carreira, e eu já usei muitas linguagens de programação diferentes.
Quando estudei engenharia elétrica, usamos Matlab e a extensão Simulink para simular circuitos elétricos e vários processos físicos como parte da teoria de controle. Matlab tem muitos add-ons para fins de simulação física.
Later, eu estava trabalhando como desenvolvedor de simuladores na indústria de petróleo e gás e também usamos Matlab para simulação de controle de processos. Embora para a simulação Hardware-in-the-Loop (HIL) tenhamos usado o LabView.
Quando eu girava minha carreira em direção à ciência dos dados, eu freqüentava cursos de estatística, incluindo um dedicado à simulação estatística, e era tudo R, que mais tarde eu usei no meu trabalho profissional também.
Durante meu breve namoro com economia na universidade, usamos o Excel com um monte de plugins para simulações de Monte Carlo, mas não direi necessariamente que é a melhor ferramenta...
Eu sempre fui fã de Python, e quando tive que fazer alguma simulação discreta de eventos para minha tese de mestrado, usei um pequeno e agradável pacote chamado SimPy, que é divertido e fácil de usar para problemas simples. Eu usei isso para simular a oficina de uma empresa fabricante e resolver o problema de programação da oficina.
No meu trabalho atual, estou simulando os movimentos dos veículos em transporte público, e estamos usando uma combinação de três abordagens: Cálculo de dead reckoning calculado por um microcontrolador, simulação determinística baseada em velocidade e telemetria de odômetro usando C# e uma abordagem de aprendizado de máquina usando Python.
Também estou trabalhando em alguns problemas de otimização de rotas de veículos onde eu preciso fazer simulações, e estou usando o modelo Actor para isso com Akka.Net em C#. Eu vou dizer que este padrão de design é realmente incrível para tarefas de simulação complicadas. Na simulação, você muitas vezes precisa acompanhar um grande espaço de estados, e com o modelo de ator, você pode ter muitos processos pequenos que acompanham seus próprios estados, com concorrência inerente e tolerância a falhas, o que o faz escalar muito bem através de múltiplos núcleos e nós. Assim, uma linguagem como Elixir ou qualquer coisa que funcione na VM Erlang seria uma boa escolha para muitas tarefas de simulação. Aqui está até uma demo incrível de um cara que implementou simulações de tráfego usando atores em Rust.
Artigos semelhantes
- Qual é a diferença entre linguagem de máquina, linguagem de montagem e linguagem de alto nível em computadores?
- Quais são os melhores jogos de Tycoon/ simulação empresarial/ simulação económica na Internet?
- Que linguagens de programação é mais adequada para uma aplicação de chat de vídeo móvel?
- Em que linguagem de programação o Netflix está codificado? Como eu uso essa linguagem?