Programming model
A Programming Model, refers to the style of programming where execution is invoked by making what appear to be library calls. Examples include the Posix Threads library and Hadoop's Mapreduce.[1] In both cases, the execution model is different from that of the base language in which the code is written. For example, the C programming language has no execution model for thread behavior. But thread behavior can be invoked from C syntax, by making, what appears to be, a call to a normal C library.
What distinguishes a programming model from a normal library is that the behavior of the call cannot be understood in terms of the language the program is written in. The behavior of calls to the posix thread library cannot be understood in terms of the C language. The reason is that the call invokes an execution model that is different from the execution model of the language. This invocation of an outside execution model is the defining characteristic of a programming model.[2]
References
- ^ IBM. "What is Mapreduce".
- ^ LLNL Lawrence Livermore National Labs. "Programming Models" (PDF).