17. A method performed by a computer system, the method comprising: identifying a query syntax in user code that expresses a set of tasks in terms of data flow, the user code written in a native programming language; translating the query syntax into a runtime agnostic representation of the user code that expresses tasks and the interactions of tasks without explicit reference to programming features or constructs of any particular execution runtime; dynamically selecting an execution runtime from at least two execution runtimes in the computer system for executing the runtime agnostic representation that is executable with the dynamically selected execution runtime, the runtime agnostic representation forming a directed acyclic graph (DAG); and delineating a programming model for the user code from the at least two execution runtimes to permit the user code to target different execution runtimes of the at least two execution runtimes.
17. A method performed by a computer system, the method comprising: identifying a query syntax in user code that expresses a set of tasks in terms of data flow, the user code written in a native programming language; translating the query syntax into a runtime agnostic representation of the user code that expresses tasks and the interactions of tasks without explicit reference to programming features or constructs of any particular execution runtime; dynamically selecting an execution runtime from at least two execution runtimes in the computer system for executing the runtime agnostic representation that is executable with the dynamically selected execution runtime, the runtime agnostic representation forming a directed acyclic graph (DAG); and delineating a programming model for the user code from the at least two execution runtimes to permit the user code to target different execution runtimes of the at least two execution runtimes. 20. The method of claim 17 , wherein the computer system includes a single machine, a cluster of machines, or a cloud of machines.