Name

Elementals - The site to elemental programming.

About elemental programming

Elemental programming is programming with consciousness about that one is creating. Many computer scientists do not think about writing a program as an act of creating something. They look at artists this way, but not at themselves. This is why elemental programming is interesting. It is a way of programming that takes into account the act of creation.

WIKI

There's a WIKI about elemental programming, the Elemental Programming WIKI.

The practice of elemental programming

If you are going to practice elemental programming, the most important thing to realize is that you are actually writing a small creature and that you have a responsability to it. This small creature is similar to an elemental creature. A lot of programmers may have experienced it is to get their own code maintained by others. Large projects often only rely on a few people. A lot of programming acts get abandoned. And one could say, a lot of elemental creatures are thrown away or abandoned without consciousness about it.

If you are going to write an elemental you could do the following things:

  • Don't make it into a moloch. Give it a well defined task (one could compare this to component based development).

  • Visualize it, make a drawing of it, or let it visualize itself.

  • Let it formally test itself, i.e. write unit tests for it.

  • Make it's code as beautiful as you can.

  • Love creating it, working on it, because it's part yourself. You are its creator.

  • Be aware of your responsibility to it. You are it's creator.

Releases

MINGW Development Environment

We did release a MinGW development environment addition, that contains following packages:

    - wxWindows 2.4.2 -- Dynamic Libraries E<lb> - wxWindows 2.4.2 Contrib -- Static libraries E<lb> - PostgreSQL 7.2.1 -- native windows (from postgresql_beta4.zip) E<lb> - SQLite 2.8.13 -- an embedded SQL library E<lb> - Perl 5.8.3 -- mingw compile (dmake). E<lb> - wxPerl 0.18 -- mingw compile. E<lb> - DBI/DBD::Pg. E<lb>

Scheme POD processor

The Scheme Plain Old Documentation program has been used to create this page from plain .pod format. Refer to CPAN for more information on POD. You can also look here for user information on POD and here for the POD spec used by SPOD. SPOD has enhanced the POD spec by a single element E<lb>.

PostgreSQL as an NT service

See documentation here.

C++ libraries.

Unit Testing

libutest is a C++ library to facilitate Unit testing.

Critical Sections

libcritsec is a C++ library that implements Critical Sections.

    - std::rvector - An STL derivative that implements dynamic vectors. E<lb> - harray - An templated array implementation (derives from std::rvector). E<lb> - hstack - A templated stack implementation (derives from std::stack). E<lb>

Downloading

Latest releases of all packages can be found here.

Author

Hans Oesterholt-Dijkema <hdnews -at- gawab -dot- com>.

Copyright and License

(c) Hans Oesterholt-Dijkema, All packages distributed under "Elemental Programming Artistic License", which is a modified version of "The Artistic License".

Version

$Id: ep.pod,v 1.1 2004/09/06 12:02:36 cvs Exp $

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 70:

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>

Around line 107:

Unknown E content in E<lb>

Unknown E content in E<lb>

Unknown E content in E<lb>