On 26/01/15 13:43, Greg Wooledge wrote: > On Sun, Jan 25, 2015 at 08:11:41PM -0800, garegi...@gmail.com wrote: >> As a programming language which paradigms does bash support. Declarative, >> procedural, imperative? > > This belongs on help-b...@gnu.org so I'm Cc'ing that address. > > Shell scripts are procedural.
It should be noted that shell programming is closely related to functional programming. I.E. functional programming maintains no external state and provides data flow synchronisation in the language. This maps closely to the UNIX filter idea; data flows in and out, with no side affects to the system. By trying to use filters and pipes instead of procedural shell statements, you get the advantage of using compiled code, and implicit multicore support etc. cheers, Pádraig.