The document presents a detailed survey on high productivity computing systems (HPCs) focused on languages, parallel programming, and their various models and idioms. It covers topics such as data parallel computation, memory models, and asynchronous remote tasks, using examples from languages like Chapel, X10, and Fortress. Additionally, it discusses techniques for creating parallel programs, including task orchestration and data distribution strategies.