1 #+title: Core User Manual
2 #+author: Richard Westhaver
3 #+email: ellis@rwest.io
4 #+property: header-args :dir ~/comp/core/
5 #+setupfile: ../../clean.theme
6 #+texinfo_filename: core.info
7 #+texinfo_dir_category: Software development
8 #+texinfo_dir_title: Core: (core)
9 #+texinfo_dir_desc: CC Software Development Ecosystem
10 This manual documents the
[[comp:][CC]] [[vc:core][core]] software. The core is a
11 multi-language library and framework used to build advanced
12 applications. It is composed of language-specific collections of
13 interconnected libraries providing an exceptionally powerful
14 development ecosystem.
18 :ID: 156ffb70-9e00-4532-be47-b921c1825a91 20 Welcome to the
*core*, the software development ecosystem of
[[comp:][CC]].
22 The idea of a
=core= is one that is quite common in software
23 design. It implies something that is fundamental - the machine behind
24 the machine, whatever the machine may be.
26 The
=core= is often the most important part of your application - the
27 one you want to get right. Where things get tricky is when you have
28 many different applications, all which have a
=core=, which you also
31 The natural evolution is to start abstracting away the commonalities
32 between your application core, refactoring them into a new project. As
33 your applications grow, new patterns appear. You keep searching for
34 common patterns and refactoring. This pattern repeats and all is good
37 That is, until your applications start to die. No matter the manner or
38 pace of death, there is a symbiotic link with the
=core= that is
39 broken when your application is no longer useful, or there is another
40 application that takes its place. As a result, the parts of your
41 =core= that were heavily influenced by the deceased application start
42 to become less useful too. If left unchecked, your core will turn into
45 This is
*not* how the CC core is developed. Our core does not inherit
46 from applications and is not dependent on them. We are not building a
47 'top-down' system. Instead, we build 'bottom-up' from scratch and keep
48 our core insulated (but not completely isolated) from applications.
52 :ID: 44119d2d-9de4-4091-9821-1450bc8138fd 57 :ID: a5eb63a1-9194-49d9-946b-23f687893f67 62 :ID: ceb67759-c656-411d-a0c0-df19b18732e5