The problem with reading class oriented code (C++, Java, C#, Ruby, ..., Smalltalk) is that the code does not reveal how the system will work at runtime (polymorphism). The essence of object orientation is that objects collaborate to achieve a goal. The DCI programming paradigm adds code for how the system works at runtime:

 * A class says everything about the inner construction of an object
   but nothing about how it is used in its interaction with other objects.
 * The new DCI context says everything about how objects are used when
   interacting with other objects
   but nothing about their insides.

Class and context separates the code into two materially independent concerns: What the system IS (classes) and what the system DOES (Contexts). BabyIDE is a programming environment that supports the DCI paradigm. It is available in Squeak 4.5 and may be available in Pharo later.
Cheers
--Trygve


On 11.02.2015 18:36, kilon alios wrote:
Well I tried in the past to use openqwaq , but what I learned from the experience is that sometimes understanding others code can be even more time consuming than remaking it yourself. I spent like an afternoon trying to understand openqwaq before starting Ephestos from complete scratch. Suffice to say that in another afternoon I had the prototype of Ephestos working with the ability to send simple python strings to the cptyhon interpreter to be execute by the time I was not even able to understand the basic architecture of openqwaq.

The module you recommended alone contains like 11.000 lines of code. Thats a lot of work to just read that code and I cant find any class named CModel. In any case I like it that I started from scratch, I want to keep my project small, light, well documented and super easy to hack. Even if that means less features :)

--

/The essence of object orientation is that objects collaborateto achieve a goal. /
Trygve Reenskaug mailto: tryg...@ifi.uio.no <mailto:%20tryg...@ifi.uio.no>
Morgedalsvn. 5A http://folk.uio.no/trygver/
N-0378 Oslo http://fullOO.info
Norway                     Tel: (+47) 22 49 57 27

Reply via email to