What is Organic Programming (OP) ?

Posted in Opinions, Programming Philosophy on August 7th, 2010 by sinica – Be the first to comment

Many people believe  that programming is like building of houses and programmers are architects. Others, believe that programming should be more like farming and growing of beings.
A perfect explanation for this thinking is expressed in [1]: “Systems grow and evolve. Often programs die, or succumb to disease. Yet, at the same time, I can feel the pulse of life as information permeates through the network. I no longer seek to claim to be a builder, but one who plants seeds and cultivates the soil. The biological metaphor may sound humble when contrasted to the titles of architect or engineer, yet for a system to bear fruit, it will take cultivation.”
Different approaches (but no one being mainstream) tried to integrate programming with NLP or with multi-agent system, but our current view about Organic Programming can be resumed for a set of simple principles:

  1. OP should lead to high quality programs,with reduced costs of developing and adapting programs to the needs of the final user.
  2. following of the best programming practices while hiding complexity for the developer by using advanced frameworks and good UI
  3. tight integration of the tools used for developing the program with the program itself. These tools can be used at runtime to customise or even to create new features.
  4. use the right language technology for the right thing. A wider adoption of technologies like rule engines,workflows and well designed domain languages could improve the quality of the programs.

Everybody wants to achieve the good effects of first principle of OP, but few succeeds because they are building programs instead of growing programs. Or at least this is what we believe.
Current mainstream frameworks like Rails or Java framework are not respecting the first principle because they are too focused on code and are using a technology for building frameworks (OOP) for creating programs.
The 3th principles is respected only in some programs, a notable case are spreadsheets and in the next articles we will insist on how our technology called Quark Framework goes towards respecting this fundamental principle of OP.  A second version of the Quark framework will be released soon. The first version will be published as open source software next week.  At least in the near future we will focus only on organic programming for enterprise software [3] and not on organic computing [2].

References:
[1]   http://descmath.com/data/organic.html

[2]   http://en.wikipedia.org/wiki/Organic_computing

[3]  http://en.wikipedia.org/wiki/Enterprise_software

Leave a Reply