Separation of Concerns

Separation of Concerns (SoC) is a principle of design used in computer programming. Separation of concerns results in modular programs. The idea of separation of concerns is that each part of a computer program should deal with one concern, and that each of those sections of code should be broken down into more targeted concerns, preventing the same module of code from addressing more than one concern at a time.

Concerns have different granularities, so that the 10,000 foot view of a solution will have separations that may be addressed by different company divisions, and more focused concerns would be addressed by teams of programmers, and so on down to the most granular of concerns being addressed by individual programmers or projects.

Continue reading “Separation of Concerns”

Functional Programming Languages

My favorite functional programming language is Clojure. I stumbled upon functional programming as a result of Clojure. Other popular functional programming languages are Haskell, Scheme, Scala, and Erlang. One of the newer functional languages is F#.

Haskell has a reputation as being a programming language that only allows functional programming. Where as a language like Clojure allows for mutation without a lot of difficulty. Haskell makes non-functional source hard to write.

Some of the other language choices out there are Erlang and OCaml/SML.

So here is the complete list: Continue reading “Functional Programming Languages”

Functional Programming Primer

Functional Programming is the hot new keyword in the coding world. Look! We’re Functional! However, I’m pretty sure most people jumping on the Functional Programming bandwagon have no idea where Functional Programming came from, why functional programming is important, or why the lowercase greek letter lambda is splashed all over the covers of Functional Programming books.

Never fear! This is  your quick Functional Programming Primer. I’ll give you the 10,000 foot overview of the benefits of Functional Programming, along with its benefits, and even explain the origin of the lambda. Continue reading “Functional Programming Primer”