Warning: Table './jdarx_drupal/sessions' is marked as crashed and should be repaired query: SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = 'aafaa27f09a6e8a5c161b32e501e300c' in /f2/jdarx/public/includes/database.mysql.inc on line 172

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 899

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 531

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 532

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 533

Warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/bootstrap.inc on line 534
The Ultimate Software Design Paradigm | wayland's Computer Stuff

The Ultimate Software Design Paradigm

warning: Cannot modify header information - headers already sent by (output started at /f2/jdarx/public/includes/database.mysql.inc:172) in /f2/jdarx/public/includes/common.inc on line 141.

Everyone knows that a programming language is much less useful without libraries. The ultimate open source software design paradigm which should be used by every program designer when designing a program is that every program should be a library (or component, or module, or whatever), with the main program being only an interface, with as much as possible in the libraries.

The huge advantage to this programming style is that, if a future program is to incorporate some or all of the functionality of this program, it will be easy just by calling on the library, and it will all happen.

For example, if I wanted to make a new package manager that would incorporate other features (for example, not installing packages until they've been available for a week, or assigning packages a higher preference if they came from a certain repository), then if previous package management software had been written in this paradigm, it would be possible to develop such a package quickly, as I could just include the libraries and call the functions for 80% of the functionality required.