Depende.
Acho mais prático e prudente programar no mesmo SO onde a aplicação vai rodar em produção, pois você vai lidar com os mesmos problemas.
Posso pegar o exemplo do Ruby, você até pode rodar ele no Windows, mas vai ter um monte de Gem que não é compatível, e acaba ficando inviável, daí eu recomendo a desenvolver num ambiente Unix (Mac, Linux), ou pelo WSL, caso não queira abandonar o Windows ou achar mais conveniente.