Discuss the choice of programming language and its relation to architecture, and the design decision in these six categories:
- Allocation of responsibilities
- Coordination model
- Data model
- Management of resources
- Mapping among architectural elements
- Binding time decisions