From 61c90a8f6e1ad1f8fa335eddc35697e5c514bff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20M=C3=A9ndez=20Gort?= Date: Tue, 16 Jan 2024 20:51:02 +0100 Subject: [PATCH] concepts and flows experiment --- doc/concepts_and_flows/README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 doc/concepts_and_flows/README.md diff --git a/doc/concepts_and_flows/README.md b/doc/concepts_and_flows/README.md new file mode 100644 index 0000000..62537ac --- /dev/null +++ b/doc/concepts_and_flows/README.md @@ -0,0 +1,21 @@ +# Concepts and flows + +Writing software usually starts with creating a simple program +to handle an use case. At this point, the solution practically +mirrors the problem. One way of distinguishing this state is +that if I give you the problem you would arrive to a similar +solution without seeing mine. + +However, if we want our solution to become more general, by +handling many use cases, the code we write cannot grow at +the same rate as our use cases. As a consequence we create +structures that can accommodate such diverse situations. + +This solves the problem of generalization, but creates another: +Now a newcomer who has never seen the evolution from particular to +general use cases has a hard time seeing the justification for +the structures we have. + +In this directory, you will find F# scripts that try to reproduce +those initial use cases, and at the same time they are linked +to current structures in the project. \ No newline at end of file