Getting there
Over the years, the computer software industry has developed various strategies for dealing with complexity. Some have involved the process of creating software like continuous integration, test driven development and extreme programming. Others have focused on how to think about and organize the source code. Object oriented programming is latest technique to gain widespread use.
Over the past 15 years, a form of programming called "functional programming" has been investigated by researchers in academia. It provides a different perspective on structuring and building code, giving the developer the ability to think about their work at a higher level. Functional programming is not a replacement for object oriented programming, the two approaches complement each other allowing each to be used in the areas they are most suited to.
Functional programming is slowly making it's way into mainstream use. Microsoft's C# language has several functional programming features in it, for example. However, the adoption of functional programming has been slowed for two reasons. First, most of the literature is written from an academic perspective which requires a great deal of effort to understand. Second, it involves a way of thinking that is unfamiliar to the typical developer. Many companies that would benefit from adopting these techniques simply don't have the time and resources to devote to the task.
The good news is that these techniques can be taught to and used by any developer, if they are presented in a way that demonstrates their utility. That is the mission of Intensive Systems. To bring the benefits of functional programming to typical developers in a way that allows them to be easily integrated into their current projects.
These techniques are not restricted to any particular language. Java, C++, C#, Python and others can all support functional programming.
When functional programming is combined with good software engineering practices, the result is a much more effective development team that produces high quality code, with fewer defects, on a faster schedule.