Last update May 4, 2003

Venus Library /
Philosophy



Philosophy

The Venus libary grows as I go and it tries to embody my 30 year experience of "programming for reuse". There is a good chance that you will find this strange. It means that

  • OO thinking is considered more important that formal OO programming
  • It tries to establish a global semantic programming language
The basic elements of the Venus Philosophy are not formal objects, but the words of a meta language. Most of the time this doesn't create a conflict, but sometimes it does. The primary goal of my API building is ease and low cost of reuse.

The goal is that the programmer may work in a consistent development model that includes:

  1. the current project specific code
  2. project generated modules that have the potential for reuse
  3. libraries that contain modules otimized for reuse
To get most out of this

  1. the code must be produced in form of modules
  2. it should be easy to move modules from one area to another (e. g. a library)
  3. a meta language should connect these different areas in a consistent way
  4. the modules (units of reuse) should be as small as possible
The programmer

  1. should not need to know where a function or object is defined
  2. should program using the meta language without caring too much about whether a function is already defined or not
Programming is (most important first)

  1. Using and extending a meta language
  2. thinking about modules for use and reuse
  3. implementing consistent interfaces for the new modules
  4. writing code using existing modules
  5. writing code using the programming language and native libraries
There are only few people that are really interested in reuse and there are many reasons why this is so. If you are interested in this topic go to ThelopWiki:FrontPage, where I'll try to explain the language related issues that are not directly connected to D.


FolderVenus
FrontPage | News | TestPage | MessageBoard | Search | Contributors | Folders | Index | Help | Preferences | Edit

Edit text of this page (date of last change: May 4, 2003 21:30 (diff))