Hi, even if it is not enforced, one can write pure like functions if one so wishes and the lambda functions do help, even if they are not proper closures.
Personally I consider component programming, the concept to programmer against interface types, as Go offers or the COM/Taligent programming models. These concepts where nicely described here, with the first edition using Component Pascal, http://www.amazon.com/Component-Software-Beyond-Object-Oriented-Programming/dp/0201745720 Now don't take this as a Go fanboy post, if you read my Gonuts posts you'll see that I am quite critic of some of the design decisions namely the lack of generics. I just wanted to clear that from my point of view Go also supports more than one paradigm. -- Paulo "Walter Bright" <[email protected]> wrote in message news:[email protected]... > On 11/15/2011 12:28 AM, Paulo Pinto wrote: >> then following you description Go is also multiparadigm. >> >> Go: imperative, functional, component programming > > Since Go does not offer function purity or data immutability, its support > for functional programming is lacking. > > "functional programming is a programming paradigm that treats computation > as the evaluation of mathematical functions and avoids state and mutable > data." > > -- http://en.wikipedia.org/wiki/Functional_programming > > > Is "component programming" a paradigm or a style? I think pretty much > every language supports component programming in one form or another.
