Coc vs ale vs other tools

I’m learning, is coc and ale for lsp-server, for lsp-client, both ?
Are there better alternatives ?
Is there a requirement for advised python and lua versions ?
[ PS: I can have command completion for one language, but another language uses sometimes different tooling and then i get into unsolvable problems. Feel free to advise, share you nvim config file ]