This document discusses approaches to choosing programming languages for software projects. It argues that context is important, and that unique features of languages can drive decisions. Safety, performance, tooling, and the programming community are some key considerations in language selection. A case study on choosing a replacement for Python in a project is presented. The document advocates for using different languages together through approaches like type providers and glue code. Emerging technologies like Asm.js, Rust, and Julia are also mentioned.