it really depends on multiple factors I would say:
- how important is it to be production ready?
- Azle is not yet, but will hopefully be soon
- Kybra will probably take a while, but can be used and explored (I guess @lastmjs would be happy about any feedback)
- Rust and Motoko are
- which programming languages are you (already) proficient in?
- if you know Rust → go with Rust
- if you know Rust → go with Rust
- are you willing to learn a new programming language?
- Motoko might long-term be the best choice for ICP, specifically because of orthogonal persistence
you also need to differentiate between backend development and integration in clients (cli, frontend, …)
for the latter one you already have many options, including a python agent which is currently being updated again after it was unmaintained for a while. v2.0.0 has just recently been announced (it will probably be released under a new package name though)
for backend development see the overview of CDKs and for interacting with canisters from different clients, see overview of Agents.