# Pick a language

A step of the [Cloud application](https://gradus.kazet.blog/tree/cloud-application) tree on Gradus, in the Environment setup area: First commit to first deploy.

Page: https://gradus.kazet.blog/tree/cloud-application/step/pick-language

Decide what the service is written in before the first line of it: your assistant proposes the languages that fit your idea and your experience, you pick one and it goes in a decision record.

Usually comes after: [First commit](https://gradus.kazet.blog/tree/cloud-application/step/first-commit).

Leads to: [Language toolchain](https://gradus.kazet.blog/tree/cloud-application/step/language-toolchain).

## Prompt for your AI assistant

```
Read docs/index.md and everything under docs/product and docs/decisions if they exist. Help me pick the language for this product's backend. If my experience is not written down, ask me at most two questions about it, including which languages I already know. Then propose three to five languages that fit the product, its likely first-year scale and my experience. Start from no fixed shortlist: include one I already know and any less obvious language that really suits this product. For each say what it is good at, which runtime you would use, how it deploys as a container and how easy it is to find help for. Say which one you would take and why, then stop and ask me to pick: one of yours or another I name. Only after I have picked, write docs/decisions/0001-language-and-runtime.md with context, options, decision and consequences. Install nothing yet.
```

Every step of the tree: https://gradus.kazet.blog/tree/cloud-application/llms.txt
