5. **What factors should be considered when choosing a programming language or technology stack for a new software project?