This document discusses task-based programming models for distributed computing. It defines tasks as distinct units of code that can be executed remotely. Task computing provides distribution by harnessing multiple computing nodes, unlike multithreaded computing within a single machine. The document categorizes task computing into high-performance, high-throughput, and many-task computing. It also describes popular task computing frameworks like Aneka, Condor, Globus Toolkit, and describes developing applications using the Aneka task programming model.